読者です 読者をやめる 読者になる 読者になる

寺子屋クラブ

WEBマーケティング・心理学・統計学・機械学習

コスパ最強すぎるAWSのサービスまとめ

 WEB業界にいると切っても切れないのがAWS

 AWSを利用すると、クラウド上で安価にサーバーを立ち上げられることはご存知だと思います。しかしこのAWS、それだけじゃないんです。Front-endとBack-endを繋ぐために必要な、あらゆるソリューションを完備しているのです。このまとめを読み終わった後で、amazonがリアルな物流のみならず、データの物流も支配しているということを理解してもらえてたら幸いです。

 それでは、AWSの提供しているソリューションを機能的観点からカテゴライズしながらまとめていきたいと思います。

※各サービスの説明文(注釈文)は、AWS公式サイトよりそのまま引用させていただいています。

 

  1. データベースサービス
  2. ストレージサービス
  3. コンテンツ配信
  4. コンピューティング/ネットワーキング
  5. デプロイ&マネジメント
  6. 派生サービス

 

1. データベースサービス

 WEBサービススマホアプリの運営会社の多くは、保持しなければならない会員情報や、一時情報などをクラウド上のサーバーにデータベースを作り、補完・参照しています。AmazonではRDS型やNoSQL型の多様な既存データベースエンジンを利用することができるので、用途に合わせてクラウドデータベースを最適化することができます。

 

1.1. Amazon RDS(Amazon Relational Data Base)

マネージド型のリレーショナルデータベースサービスで、データベースエンジンを MySQLOracleSQL ServerPostgreSQLAmazon Aurora、MariaDB から選択できます。コンピューティングとストレージのスケールが可能であり、マルチ AZ による可用性、リードレプリカなどの特長があります。

注. RDS:複数のデータテーブル(顧客DTや商品DT)を、共通かつ一意のキー(顧客番号)で管理することで、複雑なデータテーブルを理解しやすいデータテーブル単位に分割しつつ保持できます。

 

1.2. Amazon DynamoDB

マネージド型 NoSQL データベースで、きわめて高速のパフォーマンス、シームレスな拡張性と信頼性、低コストといった特長があります。

注. NoSQL:RDB以外の形式でのデータベースを全般的に指します。関係モデルを必要としないデータや、大量のデータを扱う時に利用され、大規模なデータを統計的に解析したり、増えつづける情報をリアルタイムに解析するのにも便利です。

 

1.3. Amazon ElasticCache

マネージド型メモリ内キャッシュクラウドサービスで、メモリ内キャッシュエンジンを Memcached と Redis から選択できます。

注. メモリ内キャッシュクラウドサービス:ユーザセッションの状態を納めるメモリ内キャッシュをクラウド化することで、多量のセッション状態 を保存できます。

 

1.4. Amazon RedShift

マネージド型データウェアハウスサービスで、シンプルで費用対効果の高さが特長であり、お客様はすべてのデータを既存のビジネスインテリジェンスツールで効率的に分析できます。

注. データウェアハウス:企業内外の既存のシステムや基幹業務システムに蓄積された大量のデータの中から、ユーザーのニーズに応じた形で情報を引き出し・分析するためのシステム。

 

 

2. ストレージサービス

 Amazonは世界各地に大量かつ巨大なローカルサーバーを保持しているため、他社クラウドストレージと比べ、スケーラブルで高いコストパフォーマンスを誇っています。

 

2.1. Amazon S3Amazon Simple Storage Service)

データの格納・取出:中頻度

ストレージボリューム:中

完全に冗長化されたオンラインストレージインフラです。いつでも、ウェブ上のどの場所からでもデータの格納と取り出しが可能であり、データの量の制限もありません。無制限にスケーラブルで高い耐久性を持つため、コンテンツのストレージと配布、データ分析のためのストレージ、バックアップ、アーカイブ、災害対策のために最適です。

 

2.2. Amazon Glacier

データの格納・取出:低頻度

ストレージボリューム:大

低コストのコールドアーカイブストレージサービスです。ストレージのセキュリティと耐久性を特徴としており、データのアーカイブやバックアップに適しています。オフサイトのエンタープライズ情報のアーカイブ、メディア資産、調査データ、および科学データのアーカイブ、デジタル情報の保存、磁気テープの置き換えのために使用できます。 

注. コールドアーカイブ:すぐに再利用する予定はないが、捨てることもできないデータのこと。 

 

2.3. Amazon EBS(Amazon Elastic Block Store)

データの格納・取出:高頻度

ストレージボリューム:小

Amazon EC2 インスタンスで使用するためのブロックレベルのストレージボリュームを提供します。Amazon EBS ボリュームは、インスタンスのライフサイクルから独立して存続するストレージです。また、作業負荷の実行に必要な安定した低レイテンシーの性能を提供します。Amazon EBS では、分単位で使用量の拡大縮小を指定できます。

 

2.4. Amazon Storage Gateway

オンプレミスのソフトウェアアプライアンスクラウドベースのストレージと接続し、組織のオンプレミスのIT環境とAWSのストレージインフラストラクチャ間でシームレスでセキュアな統合を提供するサービスです。このサービスを利用すると、スケーラブルでコスト効率の高いストレージとしてAWSクラウドに安全にデータを保管できます。AWS Storage Gatewayでは、お客様の既存のアプリケーションで動作する業界標準のストレージプロトコルがサポートされています。頻繁にアクセスするデータをオンプレミスで維持することにより低レイテンシーのパフォーマンスを提供し、すべてのデータを暗号化して、Amazon S3またはAmazon Glacierに安全に保管します。

注. オンプレミス:運営会社内にシステム等を保管すること。自社運営。ASGは自社システムとAmazonのStorageを繋いでくれる。

 

 

3. コンテンツ配信

 データベース/ストレージサービスは、主にデータを保持することを助けるサービス群でしたが、Amazonはその保持したデータ(また、そのデータを利用したシステム)の配信もサポートしています。高セキュリティ・高速かつ、データの保持自体もAWSがサポートしているので、管理が簡単です。

 

3.1. Amazon CloudFront

グローバルなコンテンツ配信ネットワーク (CDN) サービスで、お客様のウェブサイト、API、動画コンテンツ、またはその他のウェブ資産の配信を高速化できます。他のAWS製品と統合されたこのサービスを利用すると、開発者や事業主は、簡単にエンドユーザーに対してコンテンツを高速化できます。最低利用量の条件はありません。

 

3.2. AWS Import Export(Amazon Snowball)

セキュアなアプライアンスを使用したペタバイト規模のデータ転送ソリューションで、大量データの転送コストを高速インターネットのわずか 5 分の 1 に抑えます。

 

 

4. コンピューティング/ネットワーキングサービス

 1. 2. 3. では「データ」をクラウド上もしくはクラウド経由で取り扱うサービスでしたが、本章では計算機能(Computing)に関するクラウドサービスです。

 

4.1. Amazon EC2(Elastic Compute Cloud)

クラウド内でサイズ変更が可能なコンピューティング処理能力を提供するウェブサービスです。ウェブスケールのクラウドコンピューティングを開発者が簡単に利用できるよう設計されています。

 

4.2. Amazon VPCAmazon Virtual Private Cloud)

AWSサービスを使った時のシミュレーションができる仮想環境

AWSクラウドの論理的に分離したセクションがプロビジョニングされ、ここからお客様が定義する仮想ネットワークでAWSリソースを起動できます。独自のIPアドレス範囲の選択、サブネットの作成、ルーティングテーブルとネットワークゲートウェイの設定など、仮想ネットワーク環境を完全にコントロールできます。

注. プロビジョニング:必要となるネットワークやコンピュータの設備資源を予め準備しておくこと。

 

4.3. Amazon ELB(Amazon Elastic Load Balancing)

アプリケーションへのトラフィッククラウド内の複数のAmazon EC2インスタンスに自動的に分散します。アプリケーションに対してより高いレベルの耐障害性を実現し、アプリケーショントラフィックの分散に必要な負荷分散能力をシームレスに提供します。

注. 負荷分散能力:発生するリクエストを、接続中コネクションの少ない順に振り分ける動的分散方式を担保してくれています。

 

4.4. Auto Scaling

Amazon EC2稼働率/利用率を最適化してくれる

アプリケーションの可用性を維持できると同時に、お客様が定義する条件に応じてAmazon EC2の能力を自動的に縮小あるいは拡張することができます。

注. 可用性:継続的にシステムが望ましく動作する状態。

 

4.5. Amazon EMR(Amazon Elastic MapReduce

大規模データの分散処理フレームワーク

 ビッグデータ処理を簡略化し、動的にスケーラブルなAmazon EC2インスタンス間の莫大な量のデータを処理し、配信するための、簡単、迅速、費用対効果が高い、マネージド型Hadoopフレームワークを提供します。また、SparkやPrestoなどの一般的な他のフレームワークAmazon EMRで実行したり、Amazon S3Amazon DynamoDBなどの他のAWSデータストア内でデータを操作できます。

 注1. Hadoop:データを複数のサーバに分散し、並列して処理するミドルウェア(ソフトウェア基盤)です。 テラバイト、ペタバイト級大容量データの分析などを高速処理できるため、「ビッグデータ」活用における主要技術として活用が進んでいます。

注2. Spark/Presto:Hadoopの後継にあたる、分散処理フレームワークのこと。

 

4.6. AWS Direct Connect

お客様の設備からAWSへの専用ネットワーク接続を簡単に確立することができます。AWS Direct Connectを使用すると、AWSとデータセンター、オフィス、またはコロケーション環境間にプライベート接続を確立することができます。これにより、多くの場合、ネットワークのコスト削減、帯域幅スループットが向上し、インターネットベースの接続よりも均質なネットワーク体験を提供できます。

 

4.7. Amazon Route 53

可用性と拡張性に優れたクラウドドメインネームシステム(DNSウェブサービスです。www.example.com のような名前を、コンピュータが互いに接続するための数字のIPアドレス(192.0.2.1 など)に変換することにより、開発者や企業がエンドユーザーをインターネットアプリケーションにルーティングする際に、極めて信頼性が高く、コスト効率のよい方法を提供するように設計されています。

注. DNSDomain Name System):ホスト名を元に、ホストの IP アドレスを教えてくれるのが主な機能となります。

 

 

5. デプロイ&マネジメント

AWSリソースを利用して開発したアプリケーションを利用可能な状態にすること、例えば各リソース間の依存関係や可動ステータスをモニタリングすることもサポートしてくれています。

 

5.1. AWS CloudFormation

AWS CloudFormationのサンプルテンプレートを使用したり、独自のテンプレートを作成したりして、AWSリソースおよびそのアプリケーションを実行するために必要な関連するすべての依存関係や実行時のパラメータを記述することができます。AWSリソースがデプロイされたら、管理された予測可能な方法でそれらを修正/更新でき、実際にはソフトウェアに対して行うのと同じ方法で AWSインフラストラクチャにバージョン管理を適用できます。

注. デプロイ:開発したアプリケーションを利用可能な状態にすること。

 

5.2. AWS CloudWatch

AWS クラウドリソースと AWS で実行するアプリケーションのモニタリングサービスです。Amazon CloudWatch を使用して、メトリックスを収集して追跡すること、ログファイルを収集してモニタリングすること、アラームを設定すること、および AWS リソースの変更に自動的に反応することができます。

 

5.3. Amazon Data Pipeline

AWSリソースとオンプレミスデータソース間のトランザクションの信頼性を担保してくれることで、アプリケーション運用を助けてくれます。

指定された間隔で、信頼性のあるデータ処理やデータ移動(AWS のコンピューティングサービスやストレージサービス、ならびにオンプレミスのデータソース間)を行うことができるウェブサービスです。

 

5.4. AWS Elastic Beanstalk

AWSのサーバーサービスではない、サードパーティ製サーバーを利用するための互換サービスです。

Java、.NET、PHP、Node.js、PythonRuby、Go および Docker を使用して開発されたウェブアプリケーションやサービスを、Apache、Nginx、Passenger、IIS などの使い慣れたサーバーでデプロイおよびスケーリングするための、使いやすいサービスです。

 

5.5. IAM(AWS Identity and Access Management)

お客様のユーザーの AWS サービスおよびリソースへのアクセスを安全にコントロールすることができます。IAM を使用すると、AWS のユーザーとグループを作成および管理し、アクセス権を使用して AWS リソースへのアクセスを許可および拒否できます。

 

5.6. Ops Works

AWS OpsWorks を使用すると、ユーザーは Chef を使用して、あらゆる種類およびサイズのアプリケーションを簡単に設定および運用できます。

注. chef:Ruby製のインフラ管理ツール。インフラ構築をコード形式で管理できるので、git等につなぎこむことができる。

 

5.7. Cloud HSM

AWS クラウド内の専用ハードウェアセキュリティモジュール(HSM)アプライアンスを使用して、データセキュリティに対する企業コンプライアンス要件、契約上のコンプライアンス要件、および法令遵守の要件を満たすことができます。CloudHSM を使用して、暗号化キーや HSM によって実行される暗号化操作を管理します。

 

 

6. 派生サービス

 

6.1. Amazon Marketplace

AWS クラウドで動作する人気のビジネスソフトウェアのオンラインソフトウェアストアです

 

6.2. Amazon Management Console

シンプルで直感的に操作できるウェブベースのUIから、AWSにアクセスして管理します。AWS コンソールモバイルアプリを使用して、外出先でリソースをすばやく確認することもできます。

 

6.3. SDK(Software Development Kit)

プログラミング言語またはプラットフォーム用に調整された API を使用して、アプリケーションでの AWS サービスの使用を単純化します。

ex. iOS, Android, FireOS, Java, Ruby, PHP, GO...

 

6.4. IDE(Integrated Development Environment)

開発環境に統合された特殊なクラウドツールを使用して、AWS 開発を高速化します。

 ex. Eclipse, Visual Studio

 

6.5. CLT(Command Line Tool)

コマンドラインから AWS サービスを制御し、スクリプトを使用してサービス管理を自動化します。

 

6.6. AWS サポート

AWS では、ご利用を開始したばかりの方にも、アプリケーション開発とビジネスソリューションの構築の中で導入するサービスを増やしている方にも、成功をサポートする適切なリソースを提供したいと願っています。AWS サポートでは、現在の、または予定されているユースケースに基づき、AWS でのみ可能なツールと専門知識の組み合わせによって、すばらしい成果が得られるようお客様をサポートします。

 

 

いかがだったでしょうか。

AWSが提供している主なサービスを6つにカテゴライズしてまとめてみました。Amazonがいかに広範な範囲をカバーしているかイメージ出来たんじゃないでしょうか。

Webサービスを作るときは是非利用してみてくださいね。