「AWS is 何」を3行でまとめてみるよ


**すべてのAWSのサービス**を **3行以下**でまとめました。

AWSが色々ありすぎてわからん！ **3行以下で誰かまとめて！！**という思いで、AWSを3行で書いてるところがなかったので自分で作りました。


掲載した金額は最小使用時のもの。無料枠や大量購入割引(Volume discount)、あと転送量でかなり変わるので、参考程度に。



以下からのカッコよすぎな見出しは [AWSクラウド製品のページ](https://aws.amazon.com/jp/products/?nc2=h_ql) からのそのままの引用です。「 **広範かつ奥深いコアクラウドインフラストラクチャサービス**」って僕が言ってるわけじゃない！

# 広範かつ奥深いコアクラウドインフラストラクチャサービス
なんのこっちゃ。

よーするに「基本サービスですよ」ってことらしい。基本サービス多すぎだろ・・・。
い。

## コンピューティング


| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon EC2 | 仮想サーバー。Linuxそのまま触れる。<small>WindowsServerもOK。</small>なんでも出来るぞ|0.01ドル/1時間〜
Amazon EC2 Container Registry | Docker イメージの配布。EC2はもちろん自鯖・自PCからもdockerイメージ取得できる|月 $0.140 /GB
Amazon EC2 Container Service | 保存したDocker コンテナを実行および管理。上と合わせてEC2スケールするときにdockerから起動できて楽。
AWS Elastic Beanstalk | heroku 
パクリ
 ライクにAWS使うためのインターフェイス。<br>Ruby, PHP, node.js, Java, Python, .Net, Docker, Go が動くPaaS。<br>内部的にはEC2 + ELB ぽいね。<br>gitからのデプロイも（一応）可能みたい|無料
AWS Lambda | zapierみたいにAWSのイベントで起動してコード実行。APIGatewayと連携してWebサービスにもなる|月100万リクエストまで無料
Auto Scaling | EC2インスタンスを自動で増やしたり減らしたり。<br>負荷追従で増減や、lambdaでトリガーとか、色々設定可能。
Elastic Load Balancing | 勝手に増える単機能なロードバランサ。キャッシュとかはない。キャッシュはCDNでやる。Auto Scalingと組み合わせる多分|0.027ドル/時間 + 0.008ドル/GB


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

検索しない系のデータ保存・配信

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon S3 | ファイル突っ込むとURLが貰えてアクセスできる |保管:0.033ドル/GB/月<br>配信:0.14ドル/GB
Amazon CloudFront | CDN。配信が超早い。S3の10倍くらい速度出る。<br>ちゃんとwebサービス作るならCDN使わないとね|保管:0ドル<br>配信:0.14ドル/GB
Amazon EBS | EC2用のハードディスク。SSDナシのEC2インスタンスには必須。1個のEBSは、一台のEC2にしか使えない<br>一台のEC2が複数EBS持つのはアリ。マジハードディスク| 0.12ドル/GB/月
Amazon Elastic File System | EC2用の共有フォルダ。複数台のEC2から使える<br>LANで繋がるHDD(NAS)と同じかんじ|0.3ドル/GB/月
Amazon Glacier | 大容量を安く保存。S3の7割引。引き出すのに3-5時間。多分テープメディア(LTOテープ)<br>単価見ると120TBを2年保存したら300万…| 0.0114ドル/GB/月
AWS Import/Export Snowball | テラ/ペタバイト級の高速回線でも時間かかる大容量データの高速転送。ディスク(物理)を郵送しようぜ大作戦。<br>専用HD(50TB.10GBイーサ/SFP+光端子/SFP+銅端子を有す)をAmazonが宅配/返送して巨大データの送信/受信が出来る発想…。<br>アイデアじゃなくて実現してんのがすげぇよ。なお東京はまだ未開設(2016年内開始予定）。
AWS Storage Gateway | iSCSI(TCP/IP越しSCSI)デバイスとしてS3/Glacierを扱える。<br>実体は LinuxのVMイメージ。起動するとS3へのiSCSIゲートウェイと化す。<br>オンプレ環境に構築してiSCSI経由でS3に保存できる、[EC2上に構築して150TBのファイルサーバに](https://speakerdeck.com/smokeymonkey/storagegatewaydezuo-ruge-an-da-rong-liang-huairusaba)、Glacierを仮想テープ媒体にして巨大バックアップ保存、など。 


## データベース

検索する系のデータ。


| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon RDS | RDB。MySQLから始まり、Amazon Aurora、MySQL、PostgreSQL、Oracle、SQL Server および MariaDB の提供。<br>お値段がやや分かりづらい。ストレージはEBSで最大6TBまで。<br>リードレプリカ(読込専用のDB）もストレージ拡大もボタンひとつで即座に用意可能。必要に応じてスケーリングできるDBは魅力的。
AWS Database Migration Service | 自社鯖からRDSに継続的にデータのレプリケーションをすることで、RDSに乗り換えたい人がすぐ乗り換えできるようにするサービス。
Amazon DynamoDB | KVS とか NoSQL な データベース。一意キー付きでJSON格納と思えばまぁおｋ…。Amazon独自開発で早くて安い感じ。後から追加したインデックスは無効だとか、柔軟性に難点がありそう。<br>あと料金体系が謎。[試算によると](http://qiita.com/YU81/items/e1e336990ed8cfb938d9)安そうだ|25GBまで無料。<br>1テーブルで0.716ドル？
Amazon ElastiCache | Memcached/Redisを提供|0.026ドル/時間
Amazon Redshift|安くて速いデータウェアハウス。<br>SQL構文で解析できて、解析用なのでビッグデータも速い(数秒で解析）。でも1件取得も数秒かかる。インデックス等のSQL機能がなし。解析のためSQLはコンパイルして保存するので、コンパイル時間のオーバーヘッドがあるようだ。<br>Matrixという分析専用DBをpostgreSQL互換にしたもののようだ


## ネットワーク

ネットワークエンジニアの人が設定する内容。


| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon VPC | AWSサーバ群を仮想のサブネット(LAN)管理下にできる。ネットワークセグメント毎にファイアーウォール、DHCP、仮想IP、NAT等の設定。<br>ありがちなのは、Webサーバはインターネットに公開だけど、DBは非公開(Webサーバからのみアクセス可）等の設定が可能。<br>自社のオンプレデータセンターとAWSデータセンターまで仮想のLAN(ハードウェアVPN接続)構築とかも可能。| 無料
AWS Direct Connect | AWSのデータセンター(の接続ポイント事業者)〜自社に専用線(物理)を引く。<br>回線はAWSとは別途契約。インターネット経由より高速で安定。転送量課金も安い。<br>…って接続ポイント事業者(equinix社)と通信事業者(キャリア:フレッツ光とか)の費用がかかるので、上述のハードウェアVPN接続と比べると基本高い。超たくさん転送量あると安くなるかも。
Elastic Load Balancing | ロードバランサーサービス 基本的に負荷に応じてscalingしてくれる便利なやつ。三種類あり、L7で動作するApplication Load Balancer(ALB),L4のNetwork Load Balancer(NLB),ALB以前からあるELBが名称変更されたClassic Load Balancer(CLB)の三種類がある (2018年1月現在)
Amazon Route 53|DNSサーバ<br>サービス当初はお名前.comのドメインナビとかでも良いのかも<br>サービス落ちたら別の表示(e.g. twitterクジラとか)にdns転送するのとかあって良い

# 豊富なプラットフォームサービスによりクラウドでの成功を促進

分析系と企業向け、それとモバイル、IoT

## 分析　

分析系だけかと思ったら、日本語全文検索や機械学習なんかも含んでいる

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon EMR|Hadoop専用のEC2インスタンスで、S3から入力しS3に出力する<br>ノード数十台でMapReduceを起動するのが楽。EC2自前だとHadoop関連で色々入れなきゃいけないし。|
AWS Data Pipeline| EC2からデイリーでデータを取って、S3に配置して、ウィークリーでEMR起動するとかの、データ駆動型ワークフローに対するオーケストレーションサービス<br>いわゆる「バッチ」を定義できる|
Amazon Elasticsearch Service| 日本語(もちろん英語も)の全文検索できる。<br>スケールするのがAWSのすごいところで、全文検索エンジン「Elasticsearch」は元々elastic社のオープンソース。
Amazon Kinesis|1時間あたり数テラのデータを、リアルタイムに分析。<br>回転寿司のすし皿のicタグで分析(スシローが実際やってる)…をjsonで常に投げ、ec2上でcsvに加工し、s3にアップロードし、Redshiftに格納させ分析…<br>24時間でデータ消えるらしい。大量に受付する仕組みが安価ってことなのかな
Amazon Machine Learning|いわゆる「教師あり機械学習」。そのうち「二項分類」、「多項分類」、「回帰分析」ができる。<br>はやりのニューラルネットワークとかディープラーニングは対象外っぽい。
Amazon QuickSight| セルフサービスBIで、非技術者:経理部門や経営層 などが、自身でデータ分析するためのツール。<br>S3やRedshift上などにある生ログをGUI上で選べば、簡単に表・グラフが出来る
Amazon Redshift | データウェアハウス。上に書いたので省略。


## エンタープライズアプリケーション

GmailとDropBoxのパクリ。あとWindows機をリモートデスクトップで使える

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon WorkSpaces|クラウド上でwindowsが使える。操作はリモートデスクトップ(vncとか)と同じ。内部的にはEC2のwindowsとかなのかな？？| 月額25ドル〜
Amazon WorkMail|Gmail,Googleカレンダーのパクリ。<br>他のAWSとの連携とかできたり、あとGmail(1ユーザー月額500円)より安い|1ユーザーあたり月額4ドル
Amazon WorkDocs|DropBoxやGoogleDocsのパクリ。元Zocaloというサービス。<br>pdfやexcel/wordのプレビュー機能はあるけど、Googleと違い編集とかはない。<br>S3に保存してるぽい|1ユーザーあたり200GBまで月額6ドル

## モバイルサービス

スマホアプリ向けの他にも、シンプルなWebページを作るのにも使えそう。

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
AWS Mobile Hub|いわゆるmBaaS…風に他のAWSサービスを使うコンソール。<br>機能としては、ソーシャルログイン(Cognito)、プッシュ通知(Amazon SNS)、サイト＆コンテンツデリバリー（S3 + CloudFront)、ユーザーデータ保存(S3)、DB(DynamoDB)、分析(Amazon Mobile Analytics)、テスト(AWS Device Farm)、REST-API(AWS Lambda Function)…。抜けあるかも。<br>この定義に従って実際に動くサンプルアプリ（Android-Java, iOS-Objective-C)のダウンロードまで可能。すごい。はやい。でも統一じゃなく個々の知識は必要。
Amazon API Gateway|REST-APIを作れる。<br>Lambdaにアクセスする窓口（一般的な使い方）<br>古い自社サービス(非AWS)へのプロキシラッパーにしたり、無限にS3バケットを作るだけのAPIも作れるみたい<br>公開するREST-APIじゃないなら、Cognito+Lambdaのほうがいいのかも
Amazon Cognito| FB, Twitter, Amazon, Google, とかとかでログインできる。<br>あと同期ストアっていうデータストアもある|月に5万ユーザー未満なら無料
AWS Device Farm|Cloud につながった実機の Android、Fire OS、 iOS でアプリのテストができる。<br>画面転送ではなく|最初の 250 分まで無料。0.17ドル/分
Amazon Mobile Analytics| アプリに組み込んでユーザー数・離脱率・独自イベントetcを集計し分析。<br>kinesisとの違いがわからないなー。
AWS Mobile SDK| Lambda、S3、DynamoDB、Mobile Analytics、Machine Learning、Elastic Load balancing、Auto Scaling、CognitoにアクセスするためのSDK<br>iOS, Android/FireOS, Xamarin, Unity, そしてjavascript(プレビュー版)で動くようだ |SDK使用自体は無料
Amazon SNS| Simple Notification Service. <br> 普通のプッシュ通知サービス(iPhone/Android)。他にmailやHTTP、あとSMS(ショートメッセージ)でも通知可能。あとAWS上でSQSとLmabdaへも通知可能|最初の100万件は無料


## IoT

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
AWS IoT| IoT用のSDK、MQTTSによるセキュア通信、オフラインデバイスのデータ同期などを引き受ける…。<br>AWS Mobile Hubと類似していて、色々IoT用に既存サービスを便利に使えるという感じだと思うのですが詳しくないのでよくわかりません。<br>[ボタン](https://aws.amazon.com/jp/iot/button/)がかわいい。

# 運用効率性および開発者の生産性の向上

## 開発者用ツール

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
AWS CodeCommit| IAMロールで管理されるgit。残念なことにgithubのようなWeb UI は無く、ただのgitホスティング|5人まで無料。以降は1人あたり月額1ドル
AWS CodeDeploy|GitHubやS3バケットへのpushをトリガーとして、EC2にデプロイする|無料
AWS CodePipeline|CIツール。Jenkinsのように、gitへのpushをキーに自動でビルドタスクを起動し、自動テストを起動し、レポートを送り…とやる。<br> CodeDeployとの違いは、CodeDeployはこれの単純版(デプロイのみ)ってことかな？|パイプライン1つにつき、月額1ドル

## 管理ツール

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon CloudWatch|サーバの生き死にや使用料金や使用量をモニタ＆取得＆グラフ。<br>SNSと組み合わせてやばそうなときに通知
AWS CloudFormation | EC2やRDS,S3ほか様々のAWSサービスをバッチ的に構築する。<br>Chefやpuppet, Ansibleがサーバ内を構築するように、AWSを一括構築できる。<br>EC2上なら`yum install`等々も書ける|無料
AWS CloudTrail|AWSの操作を記録している。<br>EC2を消した犯人を探すときなどに使う。<br>7日間しか見れない|ほぼ無料(S3保存料金がかかる)
AWS Config|設定の変更履歴がログで見える。<br>Macのタイムマシーンや、Winの復元ポイントみたいな感じ(データは保存されてないけど）
AWS OpsWorks|Chef を使った操作の自動化。レシピが食わせられる。ELBやAuto Scalingとは違う手段でのスケーリング。
AWS Service Catalog| CloudFormationの保存・バージョン管理。<br>IAMの権限がなくても一括起動(EC2の権限なくてもServiceCatalog権限のみで起動できる）
Trusted Advisor|コスト、パフォーマンス、セキュリティ、可用性と冗長性…の４観点から、自動テストの結果風に赤黄青で通知。|無料

## セキュリティと ID

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
AWS Identity and Access Management (IAM)| アクセス権の管理。<br>まともにAWS使うときは必ず設定する。開発者・BOT・Jenkins・アプリ…とたくさんIAM作りまくるのが主流なのかな？|無料
AWS Certificate Manager (ACM)|AWS限定で使えるSSL/TLS証明書を無料で発行できる。<br>しかも自動で更新してくれる。|無料
AWS Directory Service|Microsoft Active Directory(AD)がAWSでホストできる。|0.08ドル/時間〜
Amazon Inspector|EC2のセキュリティ・ホールを見つけ出す自動分析ツール
AWS CloudHSM|キー管理に対する米国政府標準規格に準拠した、ハードウェアベースキーストレージ。<br>HSMで検索すると動作原理が出てくる。鍵の保存及び暗号化・署名と復号化・署名検証の機能だけを持つサーバアプリとして動作するみたい|初回5千ドル+月2千ドル(2.82ドル/時間)
AWS Key Management Service|キー管理。CloudHSMとの違いは複数リージョンでの使用ができることや、AWSのSDK経由で暗号・復号のリクエスト投げれることなど(HSMだとSafenetAPI経由）。<br>値段もこっちのが圧倒的に安いし、もしかしてCloudHSM要らないのでは。。。<br><small>追記：米国ではコンプライアンスや契約上の問題で、HSM必須なことがあるようだ</small>|1ドル/鍵1個/月
AWS WAF|AWSへの外部からのアクセスに対するファイアーウォール。<br>構成的にはEC2やELBよりも前に立つ。
CloudFrontの場合は協調動作
CloudFrontのアドオンとしてWAFが入る。|6ドル/月


## アプリケーションサービス

Software As A Service のようなものから、「アプリを使うときに必要になるアプリ」まで

| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon API Gateway|前述。REST-APIを作れる
Amazon AppStream| G-cluster のようなクラウドゲームや、シンクライアントシステムの提供。<br>内部的にはアプリはEC2上のWin2008 R2で起動し、操作を受付け画面をストリーミング配信。要はリモートデスクトップですね。<br>GoogleEathで試した人の話だと、超グリグリサクサク動くらしい…|1.20ドル/時間+別途EC2料金
Amazon CloudSearch| 検索サービス。<br>Elasticsearch Serviceとの違いは、CloudSearchのほうが楽ですぐ使える。Elasticsearchのほうがカスタマイズ性は高い。<br>内部エンジンは同じようだ。
Amazon Elastic Transcoder| AWS上で動画エンコーディングが行える
Amazon SES |Eメール送受信サーバ。メルマガ一括送信など。受信は実際には転送なので、WorkMail等に投げたり、S3に保管したり、Lambdaに投げて解析させたり
Amazon SNS|プッシュ通知サービス。前述済み
Amazon SQS|メッセージキューサービス。時間のかかる処理を行うサービスが一旦キューで受けて…と使う。<br>kinesisと似るが、データ入れるだけのkinesisと、データ＋命令のSQS、か<br>Dropbox, NETFLIX, nextdoor等が活用。Dropboxはファイル格納するとサムネ画像/Officeプレビューや検索インデックス作るのにSQSを利用
Amazon SWF|SQSのタスク制御するコーディネーターとしてふるまう。<br>処理状態が取れ同期できるSQSを作ることで、非同期並列にSQSを作り、動画サムネ作成・低解像度化・違法動画検出…等々を並列に行い、全部OKなら動画サイト上で公開、などの処理が作れる。



## AWS Game Dev

[ゲーム開発者のための Amazon](https://aws.amazon.com/jp/gamedev/) に紹介がある。


| AWS | is 何 | いくら？ |
|:-----------|:------------|:------------:|
Amazon Lumberyard | フルソース提供の無料3Dゲームエンジン。UnityやUnrealEngineみたいなもの。<br>ソース提供だがオープンソースではない（改変はOKだが再配布禁止）。<br>PC、Xbox One、PlayStation 4 そしてiOSおよびAndroidのサポート。MacとLinux対応も予定。|無料。レベニューシェア等もなし
Amazon GameLift| FPSやMOBA等のマルチプレイヤーのバックエンドをEC2上で。<br>独自のサーバ作ったり、Unityから利用したりはまだ難しいようだ。<small>"現在Lumberyard しかサポートしてない"と明記してある。</small><br>中身はwinサーバで、.exe形式のサーバ本体とinstall.bat、依存ファイル(dll)を含んでいる必要があるみたい|1000人につき1.5ドル/日




# その他気になったので調べたこと

* 「AWS間の通信は？」：
	* 同一リージョンだと900Mbpsくらいのようだ。物理LANと同等以上。
	* 別リージョンだと、CLOUD CONNECTで地球の裏側(シドニー〜サンパウロ)20-40Mbpsくらい
* 「S3/Glacierは安いのか？」：
	* 2年使用時で120TB保存すると、S3で6万ドル＝720万円。Glacier でも 2万ドル=240万円くらい
	* 3.5インチHDDが3TBで8500円くらいだったから、120TB構築すると34万円。まともに使えるように構築する手間賃は考えてない。40個クラスタのHDDって3年間で確実に故障する気がするし、その予防のRAIDとか考え始めると沼。
	* あと Glacierは[復元料金がややこしい](http://blog.hde.co.jp/entry/2015/01/30/154101)。
	* 言うほど安くはない。安く見えるのは月割だから。でもオンラインストレージ&障害耐性は自前で構築すると高すぎる。
* 「EC2とBeansTalkとLambdaはどれ使えばいいの？」：
	* EC2 : サーバの詳細設定できる＆したいとき
	* Beanstalk : 単にWebサービスを作りたいとき(中身はEC2)
	* EC2 Container Service : Dockerで作ったサーバを大量コピー
	* Lambda : 次の3つのとき <small>※ かつコピペ or zip化が可能な程度に小さいコード。</small>
		* 他のAWSサービスの変更通知(S3にファイル置いた時とか)をきっかけとして動かす
		* とにかく安く簡単にコードが動けばいいや
		* Amazon API Gatewayと組み合わせてEC2レスでWebアプリ作る(S3やDynamoDBと連携)
* 「xxxってサービスはEC2のなかでも立てれるのでは？」：
	* たとえば、ec2内でmysql立てれるから、Amazon RDSは不要では？
		* 費用が倍くらい違う
		* 初期設定も不要だし
		* あと自動でスケールしてくれるし
* 料金は？
	* 料金体系はとても複雑です。ありがちな罠としては・・・
		* EC2インスタンス立てまくり系。<br>EC2系が高いので、できるだけEC2を使わず他のAWSサービスにするか、リザーブドインスタンス(年契約:30%offくらい)やスポットインスタンス(入札制：90%offくらい〜100割増）をうまく使う。
		* 転送料金の問題。<br>AWSはほとんどのサービスの料金表に「データ転送」がある。<br>転送料金はおよそインターネット上・AWS同士(そのうち同一リージョン・AZかどうかで更に別れる場合もあり)のイン・アウトで区分され・・・もうややこしいですね。
	* データ保存料等は大きく予想から外れることは少ないです。転送料金はサービス急拡大すると増えますし意外と高いです。
	* 課金体系についての質問は[多いようで](https://aws.amazon.com/jp/how-to-understand-pricing/)、色々資料が出ています。
		* [公式の課金体系説明のPDF](http://media.amazonwebservices.com/jp/cost/AWS-RatesSystem-JP_201310.pdf)とか
		* [簡易見積もりツール](http://calculator.s3.amazonaws.com/index.html?lng=ja_JP) とか。2年ぶりに見たら日本語化されてた…。<br>なお試してないサービスでは見積もりツール見ても(日本語化されても)やっぱり分かりづらい。
		* [1年間の無料枠](https://aws.amazon.com/jp/free/)があるので試すと良いです。最小サイズ利用・本番サービスでも小規模ならほぼ確実に無料枠内で収まります。
	* 料金はここで説明しきれないくらい複雑なので、3行で楽せずちゃんと試す＆調べてください。
* SimpleDBは？：
	* なんか[一覧ページ](https://aws.amazon.com/jp/products/?nc2=h_ql)に無かったので書いてません。DynamoDB使えってことで、売り止めなのかなー。

	
#### 雑感
基本的にはEC2とかS3がコア機能で、	「内部的にはEC2だけど、こっち使ったほうが安いよ」とか、「EC2+S3+SNSを一括管理できるよ」とか、そういうのがごっちゃにフラットに並べられてるので理解しづらいですね。

似たようなサービスもたくさんあるし。こういう早見表をAmazonさんのほうで用意してほしいですね。Data PipelineとSQSとKinesisとか、最初違いがよくわからなかった。

値段は個々のサービスのほうが安いのと、恐らく安定はしているだろうから、個別サービスがあるものは使ったほうがよさそうですね 
API等を理解するコストもデカイけど
 。
自前でEC2上でmemcachedを動かすよりは、ElastiCacheを使うべし、とかね。



#### 謝辞
今回の記事を作成させていただくにあたり、 [Developpers.IO/クラスメソッド株式会社](http://dev.classmethod.jp/)さまの記事をとくにたくさん参照させていただきました。良質なAWSについての日本語記事を書いていただき、ありがとうございます。

# まとめ
AWS種類多いですねー。主観でガンガン書いたので、間違いがあったらコメントください。