関連サイト
本書の関連ページが用意されています。
内容紹介
AWSインフラ構築/管理の基礎と手法を網羅。アカウント作成から、システム規模の自動化(自動スケーリング)までカバーした格別の一冊! 無料枠での利用についても適宜示しています。多くの章で共通するテーマの1つが「自動化」。本書の内容を試せば、AWS CloudFormationを使いこなせるようになるでしょう―Part 1では、活用事例や長所、料金などを紹介した後、基本サンプルとしてWordPressシステムの構築法を示します。Part 2では、インフラ構築/管理の基礎事項を中心に説明。Part 3では、データを格納する6種類の方法を具体的に見ていきます。Part 4では、動的スケーリングが可能で、高可用性そして耐障害性を持つインフラアーキテクチャを重点的に見ていきます―[サーバー&ネットワーク]自動デプロイ、セキュリティ、サーバーレス開発…[データストア]オブジェクト、リレーショナル、共有、キャッシュ、NoSQL…[高信頼化]高可用性、耐障害性、オートスケーリング…AWSには、さまざまなメリット―最新機能の活用、自動化、スケーラビリティ、信頼性、より短期間での環境構築など―があります。本書の内容を把握すれば、こうしたメリットを享受できる準備が整うはずです。※本書は『Amazon Web Services in Action, Second Edition』の翻訳書です。掲載した画面や手順は、2019年8月上旬に確認したものを掲載していますが、今後変更される可能性があります。
書誌情報
- 著者: Michael Wittig, Andreas Wittig, 株式会社クイープ
- ページ数: 576ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
AWS のインフラサービス全体の内容を把握したい人。自動化やサーバーレスについて理解したい人。
著者について
Michael Wittig
Andreas Wittig(アンドレアス・ウィッティヒ)とMichael Wittig(ミヒャエル・ウィッティヒ)は、Amazon Web Services(AWS)を専門とするソフトウェア/DevOpsエンジニア。AWSでの構築を開始したのは2013年であり、その際にはドイツの銀行のITインフラをAWSに移行させた。AWSに移行したドイツの銀行はそれが初めてだった。2015年以降はコンサルタントとして活動し、クライアントのワークロードをAWSに移行させる手助けをしている。AndreasとMichaelは、IaC(Infrastructure as Code)、継続的デプロイメント、Docker、セキュリティに焦点を合わせており、Amazonのクラウドに基づいてSaaS(Software as a Service)プロダクトも構築している。AndreasとMichaelは「AWS Certified Solutions Architect - Professional」と「AWS Certified DevOps Engineer - Professional」として認定されている。また、本書、ブログ(cloudonaut.io)、そしてオンライン/オンサイトトレーニング(AWS in Motionなど)を通じて、ぜひ自分たちの知識を共有し、AWS の使い方を教えたいと考えている。
Andreas Wittig
株式会社クイープ
1995年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001年に日本法人を設立。主な訳書に、『Python機械学習ライブラリ scikit-learn活用レシピ80+』『AIアルゴリズムマーケティング 自動化のための機械学習/経済モデル、ベストプラクティス、アーキテクチャ』『徹底理解ブロックチェーン ゼロから着実にわかる次世代技術の原則』などがある(いずれもインプレス発行)。
目次
本書に寄せて
はじめに
本書について
Part1 AWSの基本ひとめぐり
第1章 Amazon Web Servicesとは何か
- 1.1 クラウドコンピューティングとは何か
- 1.2 AWSで何ができるか
- 1.3 AWSのメリット
- 1.4 AWSの料金
- 1.5 選択肢としてのクラウドの比較
- 1.6 AWSのサービス
- 1.7 AWSとのやり取り
- 1.8 AWSアカウントの作成
- 1.9 請求アラームの作成:AWSの請求情報を管理する
- 1.10 まとめ
第2章 5分でWordPressを構築[簡単な概念実証]
- 2.1 インフラの作成
- 2.2 インフラの探索
- 2.3 インフラのコストを見積もる
- 2.4 インフラの削除
- 2.5 まとめ
Part2 インフラ構築/管理の手法
第3章 仮想マシンの活用法[EC2]
- 3.1 仮想マシンの探索
- 3.2 仮想マシンの監視とデバッグ
- 3.3 仮想マシンのシャットダウン
- 3.4 仮想マシンの種類を変更する
- 3.5 別のデータセンターで仮想マシンを起動する
- 3.6 仮想マシンにパブリックIPアドレスを割り当てる
- 3.7 仮想マシンにネットワークインターフェイスを追加する
- 3.8 仮想マシンのコストを最適化する
- 3.9 まとめ
第4章 インフラのプログラミング[コマンドライン、SDK、CloudFormation]
- 4.1 IaC
- 4.2 AWS CLIの使用
- 4.3 SDKを使ったプログラミング
- 4.4 ブループリントを使って仮想マシンを起動する
- 4.5 まとめ
第5章 デプロイの自動化[CloudFormation、Elastic.Beanstalk、OpsWorks]
- 5.1 柔軟なクラウド環境でのアプリケーションのデプロイメント/5.2 デプロイメントツールの比較
- 5.3 CloudFormationを使った仮想マシンの作成と起動時のスクリプトの実行
- 5.4 Elastic Beanstalkを使った単純なWebアプリケーションのデプロイメント
- 5.5 OpsWorksを使った多層アプリケーションのデプロイメント
- 5.6 まとめ
第6章 システムのセキュリティ[IAM、セキュリティグループ、VPC]
- 6.1 セキュリティの責任の所在をどう考えるか
- 6.2 ソフトウェアを最新の状態に保つ
- 6.3 AWSアカウントをセキュリティで保護する
- 6.4 仮想マシンのネットワークトラフィックを制御する
- 6.5 クラウドでのプライベートネットワークの作成:Amazon.VPC
- 6.6 まとめ
第7章 運用タスクの自動化[Lambda]
- 7.1 AWS.Lambdaを使ったコードの実行
- 7.2 AWS Lambdaを使ってWebサイトのヘルスチェックを構築する
- 7.3 EC2インスタンスの所有者が含まれたタグを自動的に追加する
- 7.4 AWS Lambdaを使って他に何ができるか
- 7.5 まとめ
Part3 データ格納の手法
第8章 オブジェクトの格納[S3、Glacier]
- 8.1 オブジェクトストアとは何か
- 8.2 Amazon.S3
- 8.3 AWS.CLIを使ってデータをS3にバックアップする
- 8.4 コスト最適化のためにオブジェクトをアーカイブする
- 8.5 プログラムによるオブジェクトの格納
- 8.6 S3を使った静的なWebホスティング
- 8.7 S3を使用するためのベストプラクティス
- 8.8 まとめ
第9章 ハードディスクへのデータ格納[EBS、インスタンスストア]
- 9.1 EBS:.ネットワーク接続されたブロックレベルの永続的なストレージ
- 9.2 インスタンスストア:ブロックレベルの一時的なストレージ
- 9.3 まとめ
第10章 仮想マシン間のデータボリューム共有[EFS]
- 10.1 ファイルシステムを作成する
- 10.2 マウントターゲットを作成する
- 10.3 EC2インスタンスでEFS共有をマウントする
- 10.4 EC2インスタンスの間でファイルを共有する
- 10.5 パフォーマンスを調整する
- 10.6 ファイルシステムを監視する
- 10.7 データのバックアップ
- 10.8 まとめ
第11章 リレーショナルデータベースサービスの活用[RDS]
- 11.1 MySQLデータベースを起動する
- 11.2 MySQLデータベースにデータをインポートする
- 11.3 データベースのバックアップと復元
- 11.4 データベースへのアクセスを制御する
- 11.5 可用性の高いデータベースを使用する
- 11.6 データベースのパフォーマンスを調整する
- 11.7 データベースの監視
- 11.8 まとめ
第12章 メモリへのデータキャッシュ[ElastiCache]
- 12.1 キャッシュクラスタを作成する
- 12.2 キャッシュデプロイメントオプション
- 12.3 キャッシュへのアクセスを制御する
- 12.4 CloudFormationを使ってDiscourseアプリケーションをインストールする
- 12.5 キャッシュの監視
- 12.6 キャッシュのパフォーマンスを調整する
- 12.7 まとめ
第13章 NoSQLデータベースサービスのプログラミング[DynamoDB]
- 13.1 DynamoDBを操作する
- 13.2 開発者のためのDynamoDB
- 13.3 タスク管理アプリケーションのプログラミング
- 13.4 テーブルを作成する
- 13.5 データを追加する
- 13.6 データを取得する
- 13.7 データを削除する
- 13.8 データを変更する
- 13.9 キャパシティのスケーリング
- 13.10 まとめ
Part4 高可用性/耐障害性/スケーリングの手法
第14章 高可用性の実現[アベイラビリティゾーン、自動スケーリング、CloudWatch]
- 14.1 CloudWatchを使ってEC2インスタンスを障害から回復させる
- 14.2 データセンターの機能停止から回復する
- 14.3 ディザスタリカバリの要件を分析する
- 14.4 まとめ
第15章 インフラの分離[ELB、SQS]
- 15.1 ロードバランサーによる同期デカップリング
- 15.2 メッセージキューによる非同期デカップリング
- 15.3 まとめ
第16章 耐障害性のための設計
- 16.1 冗長なEC2インスタンスを使って可用性を向上させる
- 16.2 コードに耐障害性を持たせる
- 16.3 耐障害性を持つWebアプリケーションを構築する:Imagery
- 16.4 まとめ
第17章 スケールアップとスケールダウン[自動スケーリング、CloudWatch]
- 17.1 EC2インスタンスの動的なプールを管理する
- 17.2 メトリクスまたはスケジュールを使ってスケーリングを開始する
- 17.3 EC2インスタンスの動的なプールを分離する
- 17.4 まとめ