書籍概要

WEB+DB PRESS plus

Amazon Web Services実践入門

著者
発売日
更新日

概要

本書は世界最大のクラウドサービスであるAWS(Amazon Web Services)上でWebサービスを運用するために必要なポイントをまとめた実践的な解説書です。AWS上でサービスを利用するために設定手順や必要なノウハウ,日々の運用/管理を円滑に行うために必要なポイント,トラブルにも対処できるようにするための設計や運用監視,また従量課金モデルであるAWSでいかにコストを抑えるかなど,AWSを利用してWebサービスを提供していくための現場のノウハウがギュッと詰まっています。

こんな方におすすめ

  • AWSの導入を考えている人
  • AWSをより効果的に運用したいと考えているエンジニア

本書に関するお知らせ

本書に関連する記事を公開しております。

目次

第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
  • 契約と公開情報

11.5 まとめ

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2016年8月31日更新)

第2刷の一部交換対応について
訂正情報で「(第2刷以降修正済)」と記載があるものについては,第2刷でこれらの訂正が反映されています。しかし,第2刷の一部で訂正が反映されてない書籍があることがわかりました。
以下の条件にあてはまるものが交換に該当する書籍となります。お手持ちの書籍が該当する場合は,交換対応をとらさせていただきます。
  • 本書最後のページ(奥付ページ)を確認し「2016年1月5日 初版 第2刷発行」という記載がある
  • 訂正情報の「(第2刷以降修正済)」が修正されていない
当てはまる書籍をお持ちの方は,お問い合わせページ(https://gihyo.jp/site/inquiry/book?ISBN=978-4-7741-7673-4)から,メールアドレスとともに「第2刷になっているが,(第2刷以降修正済)は反映されていない」という旨を記載のうえ,ご連絡いただくようお願いいたします。

P.35 AWS CLIのインストール(第2刷以降修正済)

$ sudo install awscli
$ sudo pip install awscli

P.125 表5.11(第3刷以降修正済)

Public-1c|10.0.0.0/24
Public-1c|10.0.1.0/24

P.172 マネジメントコンソールの場合(第2刷以降修正済)

CoudFront
CloudFront

P.248 安全性の確保(第2刷以降修正済)

特定のIPアドレスのみからの
特定のIPアドレスから

P.257 ELB動作モードの設定 実行結果上から3つ目(第2刷以降修正済)

--load-balancer-attributes "{\"AccessLog\":{\"Enabled\":true}}"
--load-balancer-attributes
"{\"AccessLog\":{\"Enabled\":true,\"S3BucketName\":\"my-loadbalancer-cli-access-log\"}}"

P.291 アプリケーションをデプロイするときの注意点(第2刷以降修正済)

最新ソースコードを適用するなどを行う方法
最新ソースコードを適用するという方法

P.301 表9.22(第2刷以降修正済)

Auto Scalingグループからデタッチしたい
Auto Scalingグループからスタンバイにしたい

P.301 表9.23(第2刷以降修正済)

Auto ScalingグループにアタッチしたいEC2インスタンスのIDを指定する
スタンバイから実行状態に戻したいEC2インスタンスのIDを指定する

P.301 表9.23(第2刷以降修正済)

EC2インスタンスをアタッチしたいAuto Scalingグループ名を指定する
スタンバイから実行状態に戻したいEC2インスタンスが所属するAuto Scalingグループ名を指定する

P.331 リザーブドインスタンス(第2刷以降修正済)

中度1年リザーブドインスタンス
All Upfront

商品一覧