AWSの各サービスについて学ぶ

  • 3つのレイヤに分かれる
    • インフラストラクチャ
    • アプリケーション
    • デプロイ/アドミニストレーション

サービスの種類

  • ネットワーク

  • コンピューティング

    • EC2 / クラウド内の仮想サーバー
    • Lambda / イベント発生時にコードを実行
    • EC2 Container Service / Dockerコンテナの実行と管理
  • ストレージ&コンテンツ配信

    • S3 / スケーラブルなクラウドストレージ
    • Glacier / クラウド内のアーカイブストレージ
    • CloudFront / グローバルなコンテンツ配信ネットワーク
    • Storage Gateway / オンプレミスのストレージをS3へ連携する機能
  • データベース

    • RDS / リレーショナルデータベース
    • DynamoDB / 予測可能でスケーラブルな NoSQL データストア
    • ElastiCache / インメモリキャッシュ
    • Redshift / データウェアハウスサービス
  • アプリケーションサービス

    • SQS / メッセージキューサービス
    • SWF / アプリケーションコンポーネントを連携させるワークフローサービス
    • AppStream / 低レイテンシーのアプリケーションストリーミング
    • Elastic Transcoder / 使いやすいスケーラブルなメディア変換サービス
    • SES / Eメール送信サービス
    • CloudSearch / マネージド型検索サービス
  • モバイルサービス

    • Cognito / ユーザー ID およびアプリケーションデータの同期
    • Mobile Analytics / 大規模なアプリケーションの使用状況データの把握
    • SNS / プッシュ通知サービス
  • デプロイ & マネジメント

    • Elastic Beanstalk / AWS アプリケーションコンテナ
    • OpsWorks / DevOps アプリケーション管理サービス
    • CloudFormation / テンプレートによる AWS リソース作成
    • CodeDeploy / 自動デプロイ
  • 管理およびセキュリティ

    • Directory Service / クラウド上の管理型ディレクトリ
    • Identity & Access Management / アクセスコントロールとキー管理
    • Trusted Advisor / AWS クラウド最適化エキスパート
    • CloudTrail / ユーザーアクティビティと変更の追跡
    • Config / リソース設定およびインベントリ
    • CloudWatch / リソースとアプリケーションのモニタリング
  • 分析

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

    • WorkSpaces / クラウド内のデスクトップ
    • WorkDocs / セキュアなエンタープライズ向けストレージおよび共有サービス
    • WorkMail / セキュリティ保護された E メールとカレンダーサービス

EC2

ストレージ

  • 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

Redshift

  • 集計処理に最適化
  • 列指向データベースマネジメントシステム

デプロイ

各サービスとも、AWSリソースをどのようにたちあげるかが違う

CloudFormation

  • テンプレートから一括でシステム構成を立ち上げる
  • 各リソースの依存関係を検出して自動で起動順番を調整してくれる
  • テンプレートにはAWSサービスのリソース定義をJSONで記述

OpsWorks

  • Chefのレシピを利用してEC2インスタンスなどのリソースを立ち上げるサービス
  • レイヤにChefのレシピを割り当てる
  • 概念
  • OpsWorksで立ち上げるEC2インスタンスにはChefSoloが入っている

Beanstalk

  • Herokuみたいにまるっと動作環境を構築・管理する
  • ELBやAutoScalingなどを自動で設定してデプロイするだけ
  • Webアプリケーションのバージョン管理に対応