AWSの各サービスについて学ぶ
- 3つのレイヤに分かれる
- インフラストラクチャ
- アプリケーション
- デプロイ/アドミニストレーション
サービスの種類
ネットワーク
- VPC / 仮想プライベートクラウド
- Direct Connect / AWS への専用線接続
- Route 53 / DNS
コンピューティング
- EC2 / クラウド内の仮想サーバー
- Lambda / イベント発生時にコードを実行
- EC2 Container Service / Dockerコンテナの実行と管理
ストレージ&コンテンツ配信
データベース
- RDS / リレーショナルデータベース
- DynamoDB / 予測可能でスケーラブルな NoSQL データストア
- ElastiCache / インメモリキャッシュ
- Redshift / データウェアハウスサービス
アプリケーションサービス
モバイルサービス
- Cognito / ユーザー ID およびアプリケーションデータの同期
- Mobile Analytics / 大規模なアプリケーションの使用状況データの把握
- SNS / プッシュ通知サービス
デプロイ & マネジメント
管理およびセキュリティ
分析
エンタープライズアプリケーション
EC2
- インスタンスタイプによって CPU、メモリ、帯域などリソースが決まっている
- ディスク
ストレージ
- I/O
- EBS > S3 > Gracier
アーカイブ
- EBS -> S3 -> Gracier
EBS(Elastic Block Store)
- 仮想ディスク
- EC2にアタッチしてつかう
- SSDと、IOPS(Input Output Per Second)を指定することも可能
- S3へバックアップをとるスナップショット機能
- 世代管理
- Provisioned IOPS
- IOPS(Input Output Per Second)を指定できる機能
- 高いI/O要件でも安定
- S3
- クラウド上のオブジェクトストレージ
- 概念
- バケット = 名前付きの箱
- オブジェクト = 箱の中のファイル
- 高い耐久性
- 容量無制限
- 従量課金
- Glacier
- 長期間保存用ストレージ
- 概念
- ボルト = 名前付きの箱
- アーカイブ = ファイルに相当するもの
- ファイルをアーカイブすると、ファイル名の代わりにArchiveIDが発効される
データベース
RDS
- エンジンは選択できる
- 自動バックアップ
- 31日分保存
- 5分前以前の任意の状態に戻すことが可能
- Muiti-Availability Zone構成を有効にするとでAZ間レプリケーションと自動フェールオーバーを実現
- 読み取り専用のリードレプリカ
- MySQLであればマスタ配下に5レプリカ、さらに各レプリカの下に5レプリカ配置可能(最大30のリードレプリカ)
DynamoDB
- key-valueストア
- 無限スケール
- バックアップ不要
- スループットの指定による高I/O要件への対応
ElastiCache
- キャッシュ
- memcached
- Redis
Redshift
- 集計処理に最適化
- 列指向データベースマネジメントシステム
デプロイ
各サービスとも、AWSリソースをどのようにたちあげるかが違う
CloudFormation
OpsWorks
- Chefのレシピを利用してEC2インスタンスなどのリソースを立ち上げるサービス
- レイヤにChefのレシピを割り当てる
- 概念
- スタック
- レイヤ(例:ロードバランサ)
- レイヤ(例:アプリケーションサーバ)
- レイヤ(例:DBサーバ)
- スタック
- OpsWorksで立ち上げるEC2インスタンスにはChefSoloが入っている
Beanstalk
- Herokuみたいにまるっと動作環境を構築・管理する
- ELBやAutoScalingなどを自動で設定してデプロイするだけ
- Webアプリケーションのバージョン管理に対応