Skip to content

Instantly share code, notes, and snippets.

@kohashi
Created July 7, 2016 02:30
Show Gist options
  • Star 4 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kohashi/706db35d915d78c0ce8093ddb375f92f to your computer and use it in GitHub Desktop.
Save kohashi/706db35d915d78c0ce8093ddb375f92f to your computer and use it in GitHub Desktop.
「AWS is 何」を3行でまとめてみるよ

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

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

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

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

以下からのカッコよすぎな見出しは AWSクラウド製品のページ からのそのままの引用です。「 広範かつ奥深いコアクラウドインフラストラクチャサービス」って僕が言ってるわけじゃない!

広範かつ奥深いコアクラウドインフラストラクチャサービス

なんのこっちゃ。

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

コンピューティング

AWS is 何 いくら?
Amazon EC2 仮想サーバー。Linuxそのまま触れる。なんでも出来るぞ 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のパクリと思ったが微妙に違うっぽい。
Ruby, PHP, node.js, Java, Python, .Net, Docker, Go が動くPaaS。
内部的にはEC2 + ELB ぽいね。
gitからのデプロイも(一応)可能みたい
無料
AWS Lambda ZaiperみたいにAWSのイベントで起動してコード実行。APIGatewayと連携してWebサービスにもなる 月100万リクエストまで無料
Auto Scaling EC2インスタンスを自動で増やしたり減らしたり。
負荷追従で増減や、lambdaでトリガーとか、色々設定可能。
Elastic Load Balancing 勝手に増える単機能なロードバランサ。キャッシュとかはない。キャッシュはCDNでやる。Auto Scalingと組み合わせる多分 0.027ドル/時間 + 0.008ドル/GB

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

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

AWS is 何 いくら?
Amazon S3 ファイル突っ込むとURLが貰えてアクセスできる 保管:0.033ドル/GB/月
配信:0.14ドル/GB
Amazon CloudFront CDN。配信が超早い。S3の10倍くらい速度出る。
高い S3と比べ配信料は〜1GBは高く、〜100TBまでは同額、100TB〜からは安い。S3は無料1GBの配信枠あるので差がでる
保管:0ドル(S3が別途必要)
配信:0.14ドル/GB
Amazon EBS EC2用のハードディスク。SSDナシのEC2インスタンスには必須。1個のEBSは、一台のEC2にしか使えない
一台のEC2が複数EBS持つのはアリ。マジハードディスク
0.12ドル/GB/月
Amazon Elastic File System EC2用の共有フォルダ。複数台のEC2から使える
LANで繋がるHDD(NAS)と同じかんじ
0.3ドル/GB/月
Amazon Glacier 大容量を安く保存。S3の7割引。引き出すのに3-5時間。多分テープメディア(LTOテープ)
単価見ると120TBを2年保存したら300万…
AWS Import/Export Snowball テラ/ペタバイト級の高速回線でも時間かかる大容量データの高速転送。ディスク(物理)を郵送しようぜ大作戦。
専用HD(50TB.10GBイーサ/SFP+光端子/SFP+銅端子を有す)をAmazonが宅配/返送して巨大データの送信/受信が出来る発想…。
アイデアじゃなくて実現してんのがすげぇよ。なお東京はまだ未開設(2016年内開始予定)。
AWS Storage Gateway TCP/IP経由でSCSI規格ごしでS3にアクセス。古い機器が社内にある人用途かなぁ。全部AWSで作るとかなら不要っぽい気がする

データベース

検索する系のデータ。

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

ネットワーク

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

AWS is 何 いくら?
Amazon VPC AWSサーバ群を仮想のサブネット(LAN)にできる。ファイアーウォール、DHCP、仮想IP、NAT等の設定。
Webサーバはインターネットに公開だけど、DBは非公開(Webサーバからのみアクセス)等の設定が可能。
オンプレデータセンターとAWSデータセンターまで仮想のLAN(VPN)も可能。安全なネットワーク構築には重要ですね。
無料
AWS Direct Connect AWSのデータセンター(の接続ポイント事業者)から自宅/自社までの専用線(物理)を引くことができる。IP-VPNも可。高速回線&転送課金の割引。
Elastic Load Balancing nginxみたいな。高スケールなロードバランス。
自動で負荷追従して増えたり減ったりする設定も可能。
Amazon Route 53 DNSサーバ
サービス当初はお名前.comのドメインナビとかでも良いのかも
サービス落ちたら別の表示(e.g. twitterクジラとか)にdns転送するのとかあって良い

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

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

分析 

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

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

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

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

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

モバイルサービス

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

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

IoT

AWS is 何 いくら?
AWS IoT IoT用のSDK、MQTTSによるセキュア通信、オフラインデバイスのデータ同期などを引き受ける…。
AWS Mobile Hubと類似していて、色々IoT用に既存サービスを便利に使えるという感じだと思うのですが詳しくないのでよくわかりません。
ボタンがかわいい。

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

開発者用ツール

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をキーに自動でビルドタスクを起動し、自動テストを起動し、レポートを送り…とやる。
CodeDeployとの違いは、CodeDeployはこれの単純版(デプロイのみ)ってことかな?
パイプライン1つにつき、月額1ドル

管理ツール

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

セキュリティと ID

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

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

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

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

AWS Game Dev

ゲーム開発者のための Amazon に紹介がある。

AWS is 何 いくら?
Amazon Lumberyard フルソース提供の無料3Dゲームエンジン。UnityやUnrealEngineみたいなもの。
ソース提供だがオープンソースではない(改変はOKだが再配布禁止)。
PC、Xbox One、PlayStation 4 そしてiOSおよびAndroidのサポート。MacとLinux対応も予定。
無料。レベニューシェア等もなし
Amazon GameLift FPSやMOBA等のマルチプレイヤーのバックエンドをEC2上で。
独自のサーバ作ったり、Unityから利用したりはまだ難しいようだ。"現在Lumberyard しかサポートしてない"と明記してある。
中身は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は復元料金がややこしい
    • 言うほど安くはない。安く見えるのは月割だから。でもオンラインストレージ&障害耐性は自前で構築すると高すぎる。
  • 「EC2とBeansTalkとLambdaはどれ使えばいいの?」:
    • EC2 : サーバの詳細設定できる&したいとき
    • Beanstalk : 単にWebサービスを作りたいとき(中身はEC2)
    • EC2 Container Service : Dockerで作ったサーバを大量コピー
    • Lambda : 次の3つのとき ※ かつコピペ or zip化が可能な程度に小さいコード。
      • 他のAWSサービスの変更通知(S3にファイル置いた時とか)をきっかけとして動かす
      • とにかく安く簡単にコードが動けばいいや
      • Amazon API Gatewayと組み合わせてEC2レスでWebアプリ作る(S3やDynamoDBと連携)
  • 「xxxってサービスはEC2のなかでも立てれるのでは?」:
    • たとえば、ec2内でmysql立てれるから、Amazon RDSは不要では?
      • 費用が倍くらい違う
      • 初期設定も不要だし
      • あと自動でスケールしてくれるし
  • 料金は?
    • 料金体系はとても複雑です。ありがちな罠としては・・・
      • EC2インスタンス立てまくり系。
        EC2系が高いので、できるだけEC2を使わず他のAWSサービスにするか、リザーブドインスタンス(年契約:30%offくらい)やスポットインスタンス(入札制:90%offくらい〜100割増)をうまく使う。
      • 転送料金の問題。
        AWSはほとんどのサービスの料金表に「データ転送」がある。
        転送料金はおよそインターネット上・AWS同士(そのうち同一リージョン・AZかどうかで更に別れる場合もあり)のイン・アウトで区分され・・・もうややこしいですね。
    • データ保存料等は大きく予想から外れることは少ないです。転送料金はサービス急拡大すると増えますし意外と高いです。
    • 課金体系についての質問は多いようで、色々資料が出ています。
      • 公式の課金体系説明のPDFとか
      • 簡易見積もりツール とか。2年ぶりに見たら日本語化されてた…。
        なお試してないサービスでは見積もりツール見ても(日本語化されても)やっぱり分かりづらい。
      • 1年間の無料枠があるので試すと良いです。最小サイズ利用・本番サービスでも小規模ならほぼ確実に無料枠内で収まります。
    • 料金はここで説明しきれないくらい複雑なので、3行で楽せずちゃんと試す&調べてください。
  • SimpleDBは?:
    • なんか一覧ページに無かったので書いてません。DynamoDB使えってことで、売り止めなのかなー。

雑感

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

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

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

謝辞

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

まとめ

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment