クラウドコンピューティングという言葉を耳にしたことがある人は多いでしょうが、まだよく分からなくて使ったことがないという人もいらっしゃるのではないでしょうか。

クラウドコンピューティングの中でも、現在人気があるもののひとつが、Amazon Web Services(AWS)です。
使った分だけ利用料金が掛かる従量課金制で、Eコマースの分野でもリーディングカンパニーとして名高いAmazonが展開しているサービスだけに、使いやすく高いセキュリティ性を持っています。

しかし、いざAWSを使ってみようとは思っていても、本当に様々なサービスが提供されているので、自分に必要なサービスが分からなくなってしまうこともあります。
また、便利な新サービスが続々と投入されているので、昔AWSをかじっていた人の中でも、現在の状況に追いついていないという方もいらっしゃるでしょう。

そこで本稿では、Amazon Web Servicesの全体像と主要なサービスの概要を大まかに解説していきます。
全体像や各サービスの概要が分かれば、業務上でも最適なサービスを利用することができるようになるでしょう。

目次

  1. Amazon Web Services(AWS)とは?
  2. AWSのメリット
  3. AWSのクラウドコンピューティングサービス
    1. Elastic Compute Cloud (EC2)
    2. EC2 Container Service (ECS)
    3. Lambda
  4. AWSのストレージとコンテンツ配信
    1. Simple Storage Service (S3)
    2. Elastic Block Store (EBS)
    3. Elastic File System (EFS)
    4. Glacier
    5. CloudFront
  5. AWSのデータベース
    1. Relational Database Service (RDS)
    2. DynamoDB
  6. AWSのアプリケーションサービス
    1. Simple Email Service (SES)
    2. Simple Notification Service (SNS)
    3. Mobile Hub
  7. AWSの機械学習とディープラーニング
    1. Lex
    2. Rekognition
    3. TensorFlow on AWS
  8. まとめ

Amazon Web Services(AWS)とは?

screen.png
画像引用元:stock.io

Amazon Web Services(以下、AWS)とは、米Amazonが提供しているクラウドサービスの総称です。
Amazonが保有している膨大なコンピュータリソースを、使用量に応じた従量課金制で使用することができます。

クラウドサービスを活用すると、オンプレミスな(自社設置型の)サーバーのように先行して設備を増築する時間やコストを大きく下げることができます。
また、世界中の多数のデータセンター(アベイラビリティゾーン=AZ)で分散して構成されているので、物理障害にも強いのが特徴です。

容量を増やしたいときに自由に増やしたり、サービスを止めたい日にすぐに止めることもできるので、固定費のかかるサービスに比べると結果的に割安で利用できることも多いでしょう。
セキュリティ面でも堅牢なネットワーキング機能によって、外部からの侵入に対してもセンシティブに対応してくれます。

AWSのメリット

1. 堅牢なセキュリティ
AWSはISO 27001やSOC、PCIなどの世界各国の様々なセキュリティ標準の要件を満たしており、政府や金融機関などが利用できるレベルの堅牢なセキュリティを備えています。

2. 機能改善と新サービスの提供
AWSはこれまでに3,000以上の新サービスの提供と機能改善を行っています。これらの95%以上はユーザーのフィードバックを反映されたものであり、利用者はいつでも最新の機能を持ったサービスを利用できます。

3. 費用は使った分だけ
AWSの利用料金は従量課金制となっているため、利用した分だけを支払うだけですみます。「セール期間などのようなアクセスが集中する期間だけサーバーを補強する」などのような使い方が可能なため、年間のコストを抑えながらサーバーを利用できます。また、AWSは2017年7月時点で60階以上のサービスの値下げを行っているため、より費用が抑えられるかもしれません。

AWSのクラウドコンピューティングサービス

AWSの主要なサービスの一つが、クラウドコンピューティングサービスです。
仮想マシン(仮想サーバー)を作ってアプリケーションを実行する役割を担っています。

Elastic Compute Cloud (EC2)

01.png
スクリーンショット:2017年9月

AWSで最も利用されているサービスのひとつが、Elastic Compute Cloud(EC2)です。
端的にいえば、仮想マシン(仮想サーバー)をクラウド上に作成して、その上でアプリケーションを実行することができます。
NetflixやAirbnb、Cookpadなど多くの企業がEC2を利用しています。

EC2 Container Service (ECS)

02.png
スクリーンショット:2017年9月

EC2 Container Service(ECS)はDockerコンテナと呼ばれるアプリケーション単位で実行できる仮想単位ごとに管理ができるコンテナ管理サービスです。
ECSを使うことで、コンテナ型のアプリケーションをAPI経由で起動・終了したり、クラスター全体のコンテナの配置をスケジューリングしたりすることができます。

Lambda

03.png
スクリーンショット:2017年9月

Lambdaは、コードが実行されているときにだけ利用料金がかかるというサーバーレスなコード駆動型サービスです。
コードさえアップロードすればサーバー管理が不要で、秒単位での時間とコートがトリガーされた回数に応じて課金されるため、画像のサムネイル作成やビデオコードの変換、ログの処理やフィルタリング、緊急時にのみ実行されるようなプログラムなどで利用されます。

AWSのストレージとコンテンツ配信

データを格納したり、必要なときに配信できるようなデータストレージもAWSの中で人気のサービス分野です。

Simple Storage Service (S3)

04.png
スクリーンショット:2017年9月

Simple Storage Service(S3)は、データをバケットと呼ばれるコンテナに格納して保存するクラウドストレージサービスです。

Dropboxのようにデータを保管しつつ指定したユーザーだけが閲覧できるようにすることも、あるいは静的なWebサイトを表示するためのクラウドサーバーのように使うこともできます。

Elastic Block Store (EBS)

05.png
スクリーンショット:2017年9月

Elastic Block Storeは、AWS内でEC2インスタンスと組み合わせて利用できるブロック型に分割されたストレージボリュームサービスです。

EC2と紐づけたデータストレージではありますが、各ボリュームは自動的に複製されるので、バックアップも万全です。
多くの場合、企業向けアプリケーションやデータベースなどに活用されています。

Elastic File System (EFS)

06.png
スクリーンショット:2017年9月

Elastic File Systemは、AWS内でECSインスタンスと組み合わせて使用できる、ファイルストレージサービスです。
S3と似ているサービスですが、EC2をベースとしたファイルシステムであるという点ではS3とは異なっており、各ファイルシステムはアベイラビリティゾーン内で自動的に複製されます。

Glacier

07.png
スクリーンショット:2017年9月

Glacierは、データのアーカイブと長期バックアップを行うサービスです。
その名前が「氷河」を意味する英単語であることからもわかるように、データを凍結して保管します。

頻繁に引き出す目的ではなく凍結して保管するので、データを利用する際には「解凍作業」が必要ですが、1GBあたり0.004USD(日本円で約0.4円)と定額でデータを保管できるので、コストを圧倒的に抑えながらのデータ保管を実現できます。

CloudFront

08.png
スクリーンショット:2017年9月

CloudFrontはグローバルコンテンツ配信ネットワーク(CDN)サービスです。
各地域にキャッシュを作ることで接続パフォーマンスを高速化させたり、コンテンツ保管を分散してDDoS攻撃などを緩和したりすることができます。
ストリーミング配信など、負荷のかかるコンテンツ配信にも力を発揮します。

AWSのデータベース

AWSではデータベースの構築分野にも強いです。
具体的なサービスを見てみましょう。

Relational Database Service (RDS)

09.png
スクリーンショット:2017年9月

Relational Database Service(RDS)は、クラウド内で簡単にリレーショナルデータベースを作成することができるサービスで、MySQLやPostgreSQL、OracleやAmazon Aurora、Microsoft SQL Serverなど、6つの使い慣れたデータベースエンジンから選択することができます。

DynamoDB

10.png
スクリーンショット:2017年9月

DynamoDBは、SQL言語を使わずにデータベース操作が可能なNoSQLデータベースサービスです。
ゲームやIoTなど、さまざまな分野で活躍しています。

AWSのアプリケーションサービス

AWSでは、すでに構築されたWebアプリケーションを利用することもできます。
メール配信からアプリのストリーミング配信まで、幅広いアプリケーションがあります。

Simple Email Service (SES)

11.png
スクリーンショット:2017年9月

Simple Email Serviceは、Amazonがカスタマーとのやりとりを行うために開発されたメール配信プラットフォームです。

利用シーンとしては、購入確認・出荷通知・注文状況の更新・ポリシー更新通知といった自動でメールを送信するような場面や、広告やニュースレターなどの宣伝などに活躍します。
また、Eメールを受信してS3のバケットに保存したり、Lambdaを使用してEメールを受け取った際に自動でプログラムを実行したりと汎用性が高いのも特徴です。

Simple Notification Service (SNS)

12.png
スクリーンショット:2017年9月

Simple Notification Serviceはモバイル向けの通知サービスです。
プッシュ通知やSMSメッセージを200カ国以上に簡単に配信することができます。

アプリのサインアップ時にSMSメッセージで認証を行うようなことも、Amazon SNSを使うことで簡単に実装することができます。

Mobile Hub

13.png
スクリーンショット:2017年9月

Mobile Hubはクラウドを利用したiOSおよびAndroid向けアプリケーションが簡単に構築できる統合環境です。
Mobile SDKを使用することで、AWSの各種サービスにアプリケーションから簡単に直接アクセスできるようになります。

AWSの機械学習とディープラーニング

Lex

14.png
スクリーンショット:2017年9月

Lexは音声やテキストを使用して、任意のアプリケーションに対話型インターフェイスを構築するサービスです。
自然言語理解の高度なディープラーニング機能が使用できるため、よりリアルな会話を生成することが可能です。

Rekognition

15.png
スクリーンショット:2017年9月

Rekognitionは画像の分析をアプリケーションに簡単に追加できるようにするサービスです。
画像内の物体やシーン、顔の検出や有名人の識別などを検知できます。

TensorFlow on AWS

16.png
スクリーンショット:2017年9月

機械学習ライブラリとして有名なTensorFlowを、AWSでも利用することができます。
通常はダウンロード、展開、インストール、を行う必要がありますが、TensorFlow on AWSではすぐにTensorFlowを利用することができます。

まとめ

AWSにはこの他にもさまざまなサービスが存在しますが、AWSにサインアップすることで、ユーザーは自分が使いたいサービスを1つから利用することができます
また、長期契約も必要なく、契約の縛りや解約料の心配もないため、フレキシブルに利用することが可能です。

自分にあったサービスがあれば、ぜひ利用してみましょう。