目次
第1章 AWSの基本知識
1.1 AWS(Amazon Web Services)の概要
- AWSの特徴
- 豊富なサービス
- 柔軟なリソース
- 従量課金
1.2 AWSを支える概念と本書で扱うサービス
- AWSを支える概念
- リージョン
- アベイラビリティゾーン
- エッジロケーション
- 本書で扱うサービス
1.3 AWSへのサインアップ
- サインアップの流れ
- マネジメントコンソールの起動
1.4 まとめ
第2章 仮想サーバの作成(EC2基本編)
2.1 Amazon EC2(Elastic Compute Cloud)の概要
- EC2とは
- インスタンスタイプとは
- [コラム]T2インスタンスの特徴
- AMI(Amazon Machine Image)とは
- AMIの種類
- AMIの仮想化形式
- EC2のストレージ
- EBS(Elastic Block Store)
- インスタンスストア
2.2 EC2の起動
- キーペアの作成
- セキュリティグループの作成
- 仮想サーバの起動
- AMIの選択
- インスタンスタイプの選択
- インスタンスの詳細設定
- ストレージの追加
- インスタンスのタグ付け
- セキュリティグループの設定
- インスタンス作成の確認
- 既存キーペアの選択/新規作成
- EIP(Elastic IP Address)の取得と付与
- EIPの取得
- インスタンスへの付与
2.3 EC2への接続
- キーペアを使ったSSH接続
- *nixのターミナル経由の場合
- WindowsのTeraTerm経由の場合
- Windowsインスタンスからの接続
2.4 アプリケーションのインストール
- nginxのインストール
- MySQLのインストール
- Webアプリケーションの配置
2.5 EC2の停止/削除/再起動(マネジメントコンソール)
- EC2の停止/削除/再起動
- インスタンス停止の際に起こること
- インスタンス停止時のEBS、EIPの挙動
2.6 AWS CLIによる操作
- AWS CLIのインストールとセットアップ
- AWS CLIのインストール
- AWS CLIのセットアップ
- キーペアの作成
- セキュリティグループの作成
- EC2の起動
- EIPの取得と付与
- EC2の停止/削除/再起動
- EC2の停止
- EC2の削除
- EC2の再起動
- EC2インスタンスのバックアップ取得
2.7 まとめ
第3章 仮想サーバの強化(EC2応用編)
3.1 バックアップの作成
- インスタンスからのAMIの作成
- AMIの作成
- 作成されたAMIの一覧
- EBSのスナップショット
- EBSボリュームの一覧
- EBSボリュームのスナップショットの作成
- 作成されたEBSスナップショットの一覧
- スナップショットからの復元
- EC2へのタグ付け
3.2 スケールアップ
- インスタンスタイプの変更
- EBS-Backedインスタンスの場合
- Instance Store-Backedインスタンスの場合
3.3 ディスク容量の追加
- ボリュームの追加
- ルートボリュームの容量の追加
- 追加ボリュームの容量の追加
3.4 I/Oの高速化
- EC2のストレージ
- プロビジョンドIOPSの設定
- AMI作成時
- インスタンス起動時
- EBSボリューム作成時
- EBS最適化オプション
- RAID
- ボリュームの暖機
- インスタンスストアの利用
- ベンチマークの計測
3.5 セキュリティの向上
- セキュリティグループの設定
- EBSの暗号化
- セキュリティ強化のための機能
- IAM(Identity and Access Management)
- VPC(Virtual Private Cloud)
- CloudHSM(Cloud Hardware Security Module)
- サードパーティのセキュリティツール
3.6 管理の効率化
- Linuxの効率的な管理(cloud-init)
- AWSのアプリケーション管理サービス
- Elastic Beanstalk
- OpsWorks
- CloudFormation
- 3つのアプリケーション管理サービスの比較
- サードパーティの管理自動化ツール
3.7 まとめ
第4章 DNSの設定と公開(Route53)
4.1 Route 53の概要
- Route 53とは
- Route 53における重要概念
- Hosted Zone
- Record Set
- Routing Policy
- Set ID
- ヘルスチェック
- 主な機能
- レイテンシベースルーティング(Latency Based Routing、LBR)
- 重み付けラウンロビン(Weighted Round Robin、WRR)
- DNSフェイルオーバー
- Geo Routing
- 各種AWSサービスとの連携
4.2 Route 53の基本操作
- Hosted Zoneの作成
- マネージメントコンソールの場合
- AWS CLIの場合
- Record Setの作成
- サポートされているレコードタイプ
- 既存DNSサーバのゾーンファイルの移行
- ゾーンファイルの移行(マネジメントコンソール)
- ゾーンファイルの移行(AWS CLI)
- Record Setの登録(マネジメントコンソール)
- Record Setの登録(AWS CLI)
4.3 DNSフェイルオーバー
- ヘルスチェックの設定
- マネジメントコンソールの場合
- AWS CLIの場合
- DNSフェイルオーバーの設定
- マネジメントコンソールの場合
- AWS CLIの場合
- DNSフェイルオーバーの確認
4.4 Route 53の利用停止
- Record Setの削除
- マネージメントコンソールの場合
- AWS CLIの場合
- Hosted Zoneの削除
- マネージメントコンソールの場合
- AWS CLIの場合
4.5 VPCの内部DNSとしての利用
- マネージメントコンソールの場合
- AWS CLIの場合
4.6 まとめ
第5章 ネットワークの設計と設定(VPC)
5.1 Amazon VPC(Virtual Private Cloud)の概要
- VPCとは
- 仮想プライベートネットワーク
- 仮想ネットワークの設計
- デフォルトVPC
5.2 VPCの作成
- VPCの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- サブネットの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- DHCPの設定
- ネットワークACLの設定
- デフォルトのネットワークACL設定
- Webサーバを公開する場合のネットワークACL設定
- インターネットゲートウェイの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- VPCへのアタッチ
- マネジメントコンソールの場合
- AWS CLIの場合
- ルーティングの設定
- マネジメントコンソールの場合
5.3 インターネットVPNによるVPCとの接続
- CGW(Customer GateWay)の作成
- マネジメントコンソールの場合
- AWS CLIの場合
- VGW(Virtual GateWay)の作成
- マネジメントコンソールの場合
- AWS CLIの場合(VGWの作成)
- AWS CLIの場合(VGWのVPCへのアタッチ)
- VPN接続の作成
- マネジメントコンソールの場合
- AWS CLIの場合
- インターネットVPNへのルーティング設定
5.4 VPC同士の接続
- VPCピアリングとは
- [コラム]NATインスタンス
- VPCピアリングの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- [コラム]1つの拠点(グローバルIPアドレス)からVPCに複数VPN接続
5.5 まとめ
第6章 画像の配信(S3/CloudFront)
6.1 Amazon S3(Simple Storage Service)の概要
- S3とは
- S3の特徴
- 99.999999999%の耐久性
- セキュリティ対策
- ライフサイクル管理機能
- 制限事項
- アクセス制限
6.2 S3の基本操作
- バケットの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- オブジェクトのアップロード
- マネジメントコンソールの場合
- AWS CLIの場合
- [コラム]フォルダ? プレフィックス?
- プレフィックスを用いたフィルタ方法(マネジメントコンソール)
- アクセス制限の設定
- マネジメントコンソールの場合
- AWS CLIの場合
- バケットポリシーの設定
- マネジメントコンソールの場合
- AWS CLIの場合
6.3 EC2からのデータ移行
- 静的コンテンツをディレクトリごとに移行
- Movable Typeの静的コンテンツのS3への移行
6.4 移行したコンテンツの公開
- 独自ドメインの静的ウェブサイトホスティングの設定
- マネジメントコンソールの場合
- AWS CLIの場合
6.5 アクセスログの取得
- アクセスログ取得の設定
- マネジメントコンソールの場合
- AWS CLIの場合
6.6 CloudFrontによる配信の高速化
- CloudFrontとは
- S3とCloudFrontの連携
- マネジメントコンソールの場合
- AWS CLIの場合
6.7 S3のコンテンツ配信以外での利用
- ログファイルの保存
- logrotateによるローテートされたログをS3にアーカイブ
- FluentdでログをS3に定期的にアップロード
- ライフサイクルの設定
- マネジメントコンソールの場合
- AWS CLIの場合
- まとめ
第7章 DBの運用(RDS)
7.1 Amazon RDS(Relational Database Service)の概要
- 利用可能なエンジン
- リージョンとアベイラビリティゾーン
- 各種設定グループ
7.2 DBインスタンスの起動と接続
- RDS用セキュリティグループの作成
- DBパラメータグループの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- DBオプショングループの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- DBサブネットグループの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- DBインスタンスの起動
- マネジメントコンソールの場合
- AWS CLIの場合
- クライアントからRDSインスタンスへの接続
7.3 既存のDBからのデータ移行
7.4 RDSの設定(マネジメントコンソール)
- セキュリティグループの設定
- DBパラメータグループの設定
- DBオプショングループの設定
- タイムゾーンの設定
7.5 RDSインスタンスの操作
- RDSインスタンスタイプの変更
- マネジメントコンソールの場合
- AWS CLIの場合
- RDSインスタンスの再起動
- マネジメントコンソールの場合
- AWS CLIの場合
- RDSインスタンスの削除
- マネジメントコンソールの場合
- AWS CLIの場合
7.6 DBの冗長化
- マルチAZ配置の作成(マネジメントコンソール)
- リードレプリカの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- リードレプリカのマスタへの昇格
- マネジメントコンソールの場合
- AWS CLIの場合
7.7 I/Oの高速化
- プロビジョンドIOPSとは
- プロビジョンドIOPSの作成(マネジメントコンソール)
7.8 バックアップ
- スナップショットの作成
- マネジメントコンソールの場合
- AWS CLIの場合
- リージョン間スナップショットのコピー
- マネジメントコンソールの場合
- AWS CLIの場合
- スナップショットの復元
- マネジメントコンソールの場合
- AWS CLIの場合
- 特定時点への復元
- マネジメントコンソールの場合
- AWS CLIの場合
- 自動バックアップ(マネジメントコンソール)
7.9 RDSの運用
- DBのアップグレード(マネジメントコンソール)
- DBログの確認
- マネジメントコンソールの場合
- AWS CLIの場合
7.10 本番リリースに向けて
- メンテナンスウィンドウ
7.11 まとめ
第8章 Webサーバの負荷分散(ELB)
8.1 ELB(Elastic Load Balancing)の概要
- ELBとは
- スケールアウトとロードバランシング
- ELBの特徴
- リージョンごとの構成
- アベイラビリティゾーンをまたがる構成
- ELB自身のスケールアウト/スケールイン
- 安全性の確保
- 名前解決
- EC2インスタンスのヘルスチェック
8.2 ELBの作成
- ELBの作成(マネジメントコンソール)
- ロードバランサーの定義
- セキュリティグループの割り当て
- セキュリティ設定の構成
- ヘルスチェックの設定
- EC2インスタンスの追加
- タグの追加
- 設定の確認
- ELBの削除
- ELBの作成(AWS CLI)
- ELBの作成
- ELBのヘルスチェック設定
- ELB動作モードの設定
- EC2インスタンスの登録/除外
- ELBの削除
- [コラム]その他のELB関連コマンド
- ELB情報の見方
8.3 ELBの設定変更
- マネジメントコンソールによる設定変更
- ELBへのEC2インスタンス登録と除外
- SSL Terminationの使用
- SSL証明書の運用
- AWS CLIによる設定変更
- SSL Terminationリスナーの追加
- SSLサーバ証明書の割り当てとHTTPSのリスナーの追加
- HTTPSリスナーのSSLサーバ証明書の変更
- 作成済みリスナーの削除
- 既存のSSLサーバ証明書の削除
8.4 Webサーバとの連携
- Keep Aliveの設定
- ELBのヘルスチェック
- クライアント情報の取得(クライアントIPアドレス、接続先ポート)
- Cookieによる維持設定
8.5 ELB運用のポイント
- カスタムドメインを使用するときの注意点
- 暖機運転
- アイドルセッション
- ELBアクセスログの取得
8.6 まとめ
第9章 モニタリングとWebサーバのスケーリング(CloudWatch/Auto Scaling)
9.1 AWSにおけるモニタリングとスケーリングの概要
- CloudWatch
- Auto Scaling
9.2 CloudWatchとAuto Scalingの利用
- CloudWatchへのアクセス
- EC2の場合
- RDSの場合
- Auto ScalingとCloudWatchの組み合わせ
- 起動設定
- Auto Scalingグループ
- スケーリングポリシー
- CloudWatchアラーム
9.3 Auto Scalingの作成(マネジメントコンソール)
- 起動設定の作成
- Auto Scalingグループの設定
- Auto Scalingグループの設定内容
- スケールアウト/スケールインの設定
- スケーリングポリシーの設定
- SNS通知の設定
- タグの設定
- 設定の確認
9.4 Auto Scalingの運用(マネジメントコンソール)
- Auto Scalingの動作確認
- Auto Scalingの削除
- CloudWatchアラームの削除
- Auto Scalingグループの削除
- 起動設定の削除
- 運用におけるその他の注意点
- アプリケーションをデプロイするときの注意点
- ログファイルの取り扱い
- [コラム]LifeCycleHookの利用
9.5 Auto Scalingの作成と削除(AWS CLI)
- 起動設定の作成
- Auto Scalingグループの作成
- スケーリングポリシーの作成
- CloudWatchのアラームの登録
- イベントの通知設定
- 設定の削除
- イベント通知設定の削除
- CloudWatchアラームの削除
- Auto Scalingグループの削除
- 起動設定の削除
- [コラム]Auto Scaling関連のその他のコマンド
9.6 その他のAuto Scalingの運用
- スケジュールアクションの設定
- スタンバイの設定
- EC2インスタンスのスタンバイ設定
- スタンバイから実行中に切り戻す
- デタッチ/アタッチの設定
- デタッチの設定
- アタッチの設定
9.6 まとめ
第10章 アクセス権限の管理(IAM)
10.1 IAM(Identity and Access Management)の概要
- IAMとは
10.2 IAMユーザとIAMグループの作成
- IAMユーザの作成
- グループの作成
- グループへのユーザ追加
10.3 IAM権限の管理
- 権限の種類
- ユーザベースの権限
- リソースベースの権限
- ポリシー
- Action
- Effect
- Resource
- AWS管理ポリシー
- AWS Policy Generatorの利用
- AWS Policy Generatorの選択
- ステートメントの追加
- ポリシーの生成
10.4 サインイン
- パスワードポリシーの設定
- パスワードの設定
- IAMユーザのサインイン
- MFAの有効化
- [コラム]CloudTrail
10.5 APIアクセス権限の管理
- アクセスキーの設定
10.6 ロールの管理
- ロールの作成
- EC2インスタンスへのロール付与
- ロールによるAWS CLIの利用
- [コラム]そのほかのIAM機能
- 10.7 まとめ
第11章 ビリング(Billing)
11.1 料金の考え方
- AWSの料金の基本
- データ転送量課金モデルの例
- 従量課金モデル料金の種別
- オンデマンドインスタンス
- リザーブドインスタンス
- [コラム]リザーブドインスタンスの売買
- スポットインスタンス
- ボリュームディスカウント
11.2 請求
- 請求レポートの取得
- 一括請求(Consolidated Billing)
11.3 料金確認/料金試算ツール
- 請求とコスト管理(マネジメントコンソール)
- Trusted Advisor(マネジメントコンソール)
- Salesforce
- Which Instance?
- Cloudability
- Simple Monthly Calculator
- AWS Total Cost of Ownership(TCO) Calculator
11.5 サポートとフォーラム
- AWSサポート
- AWS Forums
- JAWS-UG
- E-JAWS
- 契約と公開情報