はじめに
11月16日にあったAWSome Day Online Conferenceのまとめ
AWSの概要、グローバルインフラストラクチャーとコンピューティング
AWSの概要
- データセンター
- 通常、数千台のサーバを収容
- アベイラビリティーゾーン(AZ)
- 1つ以上のデータセンターの集合
- 障害を分離する設計
- リージョン
- 3つ以上のAZで構成
- 世界全体で31のリージョンが存在
リージョン内のAZは物理的に離れており、複数のAZを利用することでAZレベルの障害の影響から保護でき、システムの高可用性を確保可能
リージョンは100km圏内、AZ間は数km~数十km離れている
サービスの分類
- アンマネージドサービス
- スケーリング、耐障害性、可用性をユーザが管理
- マネージドサービス
- スケーリング、耐障害性、可用性をAWS側が管理
EC2
- アンマネージドサービス
- サイズ変更可能なコンピューティングキャパシティ
- 従量課金制
AWS Lambda
- プログラミングファイルと実行条件を設定することが可能
- サーバレスコンピューティング
- サーバを管理せずにアプリケーションとサービスの構築が可能な環境
- スペック決めたりする必要がない
- プログラムの実行基盤
- 最大で同時に1000まで増える
- プログラムが動いているタイミングだけ課金
ストレージとデータベース
- サーバ自身からしかアクセスできないストレージ
- 内臓ストレージ(ブロックストレージ)
- 複数のサーバからアクセスできるストレージ
- 共有ストレージ(オブジェクトストレージ)
- Amazon Simple Storage Service (Amazon S3)
- 共有ストレージ(オブジェクトストレージ)
ストレージ
Amazon S3
- サーバレスサービス
- 容量管理する必要なし
- バケットに保存可能なオブジェクト数は無制限
- 99.999999999%の耐久性を実現するように設計(イレブンナイン)
- 3拠点にまたがってコピーされている
- イベントトリガーとしてLambda関数を呼び出し可能
- アップロードしたファイルにオブジェクトURLが設定される
- 容量課金
Amazon S3 Glacier
- 読み書き頻度の少ないデータ用のストレージ
- 非常に低コスト
- 読みだしに時間とコストがかかる
Amazon Elastic Block Store (Amazon EBS)
- EC2インスタンスの永続的なブロックストレージ
- バックアップはS3に自動保存される
データベース
- EC2上でのデータベース運用
- AWSのデータベースサービスの運用(マネージドサービス)
分類
- トランザクションデータベース
- 複数アクセス、細かいアクセスに向いている
- データ分析/リレーションシップ
- 沢山のデータを一気に読み出すのに向いている
- インメモリデータストアとキャッシュ
- 短い期間の保存、速い読み書きに向いている
Amazon RDS
- マネージドサービス
- スケーリング、高可用性、バックアップなどデータベースの外側はAWSがやってくれる
- 冗長化やフェイルオーバーも自動
- 複数AZに配置することで可用性、耐久性を確保
Amazon Aurora
- クラウド向けに構築された、MySQLとPostgreSQLと互換性のあるリレーショナルデータベース
- マルチリージョンなども可能
Amazon DynamoDB
- キーバリューのフルマネージドシステム
- 向いているアプリケーションの特徴
- 極端な水平スケーリング機能が必要
- シンプルに大量のデータ
- 素早く簡単にスケールする必要がある
- 複雑な結合は不要
ネットワークとセキュリティ
ネットワーク
Amazon Virtual Private Cloud (Amazon VPC)
- AWSクラウドのプライベートネットワーク空間を作ることが可能
- 複数AZにまたがるネットワークを作ることが可能
- インターネットゲートウェイを作ることで外のネットワークと接続可能
サブネット分割
- VPC内のアドレス範囲のセグメント/パーティション
- 種類
- パブリックサブネット
- プライベートサブネット
インフラストラクチャの保護
- セキュリティグループ
- ネットワークインターフェイス(インスタンス)レベルで送受信されるトラフィックを許可するために使用
- 通常はアプリケーション開発者によって管理
- ネットワークアクセスコントロールリスト
- サブネットに出入りするトラフィックを許可または拒否する
- 出る通信、入る通信それぞれ別に設定することが可能
- ルートテーブル
- ネットワークトラフィックの送信先を決定するために使用されるルートと呼ばれる一連のルールが含まれる
- VPC、ゲートウェイ、サブネットに関連付ける
インフラストラクチャとの接続
- AWS Client VPN
- AWS Direct Connect
セキュリティ
責任共有モデル
- AWSとユーザ、それぞれ責任範囲がある
アクセス管理と認証
- 認証
- その人が申請した本人か確認をとること
- 認可
- その人がどんなことをしてもいいか許可をあたえる
AWS Identity and Access Management (IAM)
AWSリソースへのアクセスを安全に制御
- アクセス許可をユーザ、グループ、ロールにきめ細かく割り当て
- AWSアカウントへの一時的なアクセスを共有
- 無料
サービスコントロール
- ユーザ
- AWSアカウント内のユーザ
- 各ユーザには独自の認証情報がある
- 特定のAWSアクションを実行できる権限を付与される
- グループ
- ロール
- AWSのリソースに権限を付与することが可能
- eg. EC2に対してS3へのアクセス権を付与
- AWSのリソースに権限を付与することが可能
リソースベースのアクセスコントロール
- S3バケットポリシーなど、リソース側からアクセスコントロールを行う
IAMポリシー
- AWSのサービスへのアクセス
- 権限の割り当て
アクセス状況の追跡
AWS CloudTrail
- AWSアカウントのユーザアクティビティとAPIの使用状況の追跡
- ログファイルはS3バケットに送信される
設定内容のチェックとアドバイス
AWS Trusted Adviser
- コスト、パフォーマンス、セキュリティ、耐障害性、サービス制限の観点で評価をしてくれる
次のステップ
AWSスキルビルダー
AWSランプアップガイド
AWSハンズオンビギナー