関連サイト
本書の関連ページが用意されています。
内容紹介
AWSによるインフラの構築と運用の手法を幅広く解説。無料利用枠からはじめる自動化指向の包括的な実践ガイド!
アカウント作成から、コンテナクラスタのオーケストレーションまでカバー。新版で新たにコンテナの章を追加、翻訳時の操作画面に刷新。
◆各パートのテーマ
Part 1では、活用事例や長所、料金などを紹介した後、基本サンプルとしてWordPressシステムの構築法を示します。
Part 2では、インフラ構築/運用の基礎事項を中心に説明。
Part 3では、データを格納する6種類の方法を具体的に見ていきます。
Part 4では、動的スケーリングが可能で、高可用性そして耐障害性を持つインフラアーキテクチャの手法を見ていきます。
◆取り上げるテーマ
[サーバー&ネットワーク]仮想マシン、セキュリティ、構築・運用自動化…
[データストア]オブジェクト、リレーショナル、キャッシュ、NoSQL…
[高信頼化]高可用性、耐障害性、オートスケーリング、コンテナ…
※本書の前提知識として、Linux、マークアップ言語YAML、ネットワーキングなどの基本を理解している必要があります。
※掲載した画面や手順は2023年10月~12月に確認したものを掲載しています。今後変更される可能性にご留意ください。
※本書は『Amazon Web Services in Action, 3rd Edition』(Manning Publications)の翻訳書です。英語版の2nd Editionから日本語化しているため、今回の原著は'3rd Edition'ですが、日本語版は'第2版'としています。
書誌情報
- 著者: Andreas Wittig, Michael Wittig(著), 株式会社クイープ(訳)
- 発行日: 2024-02-28 (紙書籍版発行日: 2024-02-28)
- 最終更新日: 2024-02-28
- バージョン: 1.0.0
- ページ数: 600ページ(PDF版換算)
- 対応フォーマット: PDF, EPUB
- 出版社: インプレス
対象読者
◎AWSのインフラサービス全体の内容を把握したい方 ◎AWSでインフラを効率的に構築する方法を知りたい方
著者について
Andreas Wittig
2人はともにソフトウェアエンジニア兼コンサルタント。2013年にドイツの銀行においてITインフラのAWSへの移行を担当。2015年以降、コンサルタントとして、顧客のAWSへの移行や構築を支援。現在は、Infrastructure as Code、継続的デプロイメント、AWS Lambdaに基づくサーバーレスアプリケーション、コンテナ、セキュリティにフォーカスしている。
Michael Wittig
2人はともにソフトウェアエンジニア兼コンサルタント。2013年にドイツの銀行においてITインフラのAWSへの移行を担当。2015年以降、コンサルタントとして、顧客のAWSへの移行や構築を支援。現在は、Infrastructure as Code、継続的デプロイメント、AWS Lambdaに基づくサーバーレスアプリケーション、コンテナ、セキュリティにフォーカスしている。
株式会社クイープ
1995年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001年に日本法人を設立。本書の日本語版 第1版『Amazon Web Servicesインフラサービス活用大全 システム構築/自動化、データストア、高信頼化』を翻訳、2019年に発売。そのほかの最近の訳書には『The Kaggle Workbook 著名コンテストに学ぶ!競技トップレベルの思考と技術[機械学習・深層学習の実例と練習問題]』『実践XAI[説明可能なAI] 機械学習の予測を説明するためのPythonコーディング』などがある(いずれもインプレス発行)。
目次
はじめに
謝辞
本書について
著者紹介
Part1 AWSの基本ひとめぐり
第1章 Amazon Web Servicesとは何か
- 1.1 Amazon Web Services(AWS)とは何か
- 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章 15分でWordPressを構築[簡単な概念実証]
- 2.1 インフラを作成する
- 2.2 インフラの詳細を調べる
- 2.3 インフラのコストを見積もる
- 2.4 インフラを削除する
- 2.5 本章のまとめ
Part 2 仮想インフラの構築[コンピュータとネットワークの構成]
第3章 仮想マシンの活用法[EC2]
- 3.1 仮想マシンの詳細を調べる
- 3.2 仮想マシンの監視とデバッグ
- 3.3 仮想マシンのシャットダウン
- 3.4 仮想マシンのサイズを変更する
- 3.5 別のデータセンターで仮想マシンを起動する
- 3.6 仮想マシンにパブリックIPアドレスを割り当てる
- 3.7 仮想マシンにネットワークインターフェイスを追加する
- 3.8 仮想マシンのコストを最適化する
- 3.9 本章のまとめ
第4章 インフラのプログラミング[CLI、SDK、CloudFormation]
- 4.1 自動化とDevOpsムーブメント
- 4.2 AWS CLIを使う
- 4.3 AWS SDKを使ったプログラミング
- 4.4 IaC
- 4.5 AWS CloudFormationを使って仮想マシンを起動する
- 4.6 本章のまとめ
第5章 システムのセキュリティ[IAM、セキュリティグループ、VPC]
- 5.1 セキュリティの責任の所在をどう考えるか
- 5.2 OSを最新の状態に保つ
- 5.3 AWSアカウントをセキュリティで保護する
- 5.4 仮想マシンのネットワークトラフィックを制御する
- 5.5 クラウドでプライベートネットワークを作成する:Amazon VPC
- 5.6 本章のまとめ
第6章 運用タスクの自動化.[Lambda]
- 6.1 AWS Lambdaを使ってコードを実行する
- 6.2 Lambdaを使ってWebサイトのヘルスチェックを構築する
- 6.3 EC2インスタンスの所有者が含まれたタグを自動的に追加する
- 6.4 Lambdaを使って他に何ができるか
- 6.5 本章のまとめ
Part 3 データ格納の手法
第7章 オブジェクトの格納[S3]
- 7.1 オブジェクトストアとは何か
- 7.2 Amazon S3
- 7.3 AWS CLIを使ってデータをS3にバックアップする
- 7.4 コストを最適化するためにオブジェクトをアーカイブする
- 7.5 オブジェクトをプログラムから格納する
- 7.6 S3で静的なWebサイトをホストする
- 7.7 データを不正アクセスから保護する
- 7.8 パフォーマンスを最適化する
- 7.9 本章のまとめ
第8章 ハードディスクへのデータの格納[EBS、インスタンスストア]
- 8.1 EBS:ネットワーク接続された永続的なブロックレベルのストレージ
- 8.2 インスタンスストア:一時的なブロックレベルのストレージ
- 8.3 本章のまとめ
第9章 仮想マシン間のデータボリューム共有[EFS]
- 9.1 ファイルシステムを作成する
- 9.2 マウントターゲットを作成する
- 9.3 EC2インスタンスでEFSをマウントする
- 9.4 EC2インスタンス間でファイルを共有する
- 9.5 パフォーマンスを調整する
- 9.6 データをバックアップする
- 9.7 本章のまとめ
第10章 リレーショナルデータベースサービスの活用[RDS]
- 10.1 MySQLデータベースを起動する
- 10.2 データベースにデータをインポートする
- 10.3 データベースのバックアップと復元
- 10.4 データベースへのアクセスを制御する
- 10.5 可用性の高いデータベースを使う
- 10.6 データベースのパフォーマンスを調整する
- 10.7 データベースを監視する
- 10.8 本章のまとめ
第11章 メモリでデータキャッシュ[ElastiCache、MemoryDB]
- 11.1 キャッシュクラスタを作成する
- 11.2 キャッシュデプロイメントオプション
- 11.3 キャッシュアクセスを制御する
- 11.4 CloudFormationを使ってDiscourseをインストールする
- 11.5 キャッシュを監視する
- 11.6 キャッシュのパフォーマンスを調整する
- 11.7 本章のまとめ
第12章 NoSQLデータベースサービスのプログラミング[DynamoDB]
- 12.1 nodetodoアプリケーションのプログラミング
- 12.2 テーブルを作成する
- 12.3 データを追加する
- 12.4 データを取り出す
- 12.5 データを削除する
- 12.6 データを変更する
- 12.7 主キー
- 12.8 PartiQLによるSQL形式のクエリ
- 12.9 DynamoDB local/12.10 DynamoDBを操作する
- 12.11 キャパシティのスケーリングと料金モデル
- 12.12 ネットワーキング/12.13 RDSとの比較
- 12.14 NoSQLとの比較
- 12.15 本章のまとめ
Part 4 高可用性/耐障害性/スケーリングの手法
第13章 高可用性の実現[アベイラビリティゾーン、自動スケーリング、CloudWatch]
- 13.1 CloudWatchを使ってEC2インスタンスを障害から復旧させる
- 13.2 データセンターの機能停止からの復旧
- 13.3 高可用性を目的とした設計
- 13.4 本章のまとめ
第14章 インフラの切り離し[ELB、SQS]
- 14.1 ロードバランサーによる同期デカップリング
- 14.2 メッセージキューによる非同期デカップリング
- 14.3 本章のまとめ
第15章 デプロイメントの自動化[CodeDeploy、CloudFormation、Packer]
- 15.1 AWS CodeDeployによるインプレースデプロイメント
- 15.2 CloudFormationを使ったローリングアップデート
- 15.3 Packerを使って作成したカスタムAMIをデプロイする
- 15.4 アプローチを比較する
- 15.5 本章のまとめ
第16章 耐障害性のための設計
- 16.1 冗長なEC2インスタンスを使って可用性を向上させる
- 16.2 コードに耐障害性を持たせる
- 16.3 耐障害性を持つWebアプリケーションを構築する:Imagery
- 16.4 本章のまとめ
第17章 スケールアップとスケールダウン[自動スケーリング、CloudWatch]
- 17.1 EC2インスタンスの動的なプールを管理する
- 17.2 メトリクスまたはスケジュールを使ってスケーリングを開始する
- 17.3 EC2インスタンスの動的なプールを切り離す
- 17.4 本章のまとめ
第18章 クラウドモダンアーキテクチャの構築[ECS、Fargate、App Runner]
- 18.1 仮想マシンではなくコンテナを検討するのはなぜか
- 18.2 AWSでコンテナを実行するためのさまざまな選択肢を比較する
- 18.3 ECSの基礎:クラスタ、サービス、タスク、タスク定義
- 18.4 AWS Fargate:仮想マシンのクラスタを管理することなくコンテナを実行する
- 18.5 クラウドネイティブアーキテクチャのウォークスルー:ECS、Fargate、S3
- 18.6 本章のまとめ