カテゴリ一覧 著者一覧
実践Terraform AWSにおけるシステム設計とベストプラクティス
0件
2,420円(税込)
獲得ポイント: 24pt
通常:
24pt

実践Terraform AWSにおけるシステム設計とベストプラクティス

発売日: 2019年9月20日
想定ページ数: 232ページ
ISBN: 9784844378136
ダウンロード: PDF EPUB
本書は、Terraformを使ってAWS上にシステムを構築するノウハウを、200以上のサンプルコードとともに紹介する、Terraform初級者から中級者向け解説書です。ECS Fargateなどのマネージドサービスを中心にアーキテクチャ設計を行い、Terraformで実装します。サンプルコードはGitHubでも公開していますので、手を動かしながら一緒に学びましょう。
【目次】
1章 セットアップ
2章 基本操作
3章 基本構文
4章 全体設計
5章 権限管理
6章 ストレージ
7章 ネットワーク
8章 ロードバランサーとDNS
9章 コンテナオーケストレーション
10章 バッチ
11章 鍵管理
12章 設定管理
13章 データストア
14章 デプロイメントパイプライン
15章 SSHレスオペレーション
16章 ロギング
17章 Terraformベストプラクティス
18章 AWSベストプラクティス
19章 高度な構文
20章 tfstateファイルの管理
21章 構造化
22章 モジュール設計
23章 リソース参照パターン
24章 リファクタリング
25章 既存リソースのインポート
26章 チーム開発
27章 継続的Apply
28章 落ち穂拾い
付録A 巨人の肩の上に乗る

目次

はじめに

Terraformとは
本書の構成
対象読者
開発環境
サンプルコード
免責事項
表記関係について
底本について

第1章 セットアップ

1.1 AWS
1.2 Terraform
1.3 git-secrets

第2章 基本操作

2.1 リソースの作成
2.2 リソースの更新
2.3 tfstateファイル
2.4 リソースの削除

第3章 基本構文

3.1 変数
3.2 ローカル変数
3.3 出力値
3.4 データソース
3.5 プロバイダ
3.6 参照
3.7 組み込み関数
3.8 モジュール

第4章 全体設計

4.1 システム要件
4.2 アーキテクチャ設計
4.3 テクノロジースタック
4.4 ファイルレイアウト

第5章 権限管理

5.1 ポリシー
5.2 ロール

第6章 ストレージ

6.1 プライベートバケット
6.2 パブリックバケット
6.3 ログバケット

第7章 ネットワーク

7.1 パブリックネットワーク
7.2 プライベートネットワーク
7.3 マルチAZ
7.4 ファイアウォール

第8章 ロードバランサーとDNS

8.1 ALBの構成要素
8.2 HTTP用ロードバランサー
8.3 Route 53
8.4 ACM(AWS Certificate Manager)
8.5 HTTPS用ロードバランサー
8.6 リクエストフォワーディング

第9章 コンテナオーケストレーション

9.1 ECSの構成要素
9.2 ECSの起動タイプ
9.3 Webサーバーの構築
9.4 Fargateにおけるロギング

第10章 バッチ

10.1 バッチ設計
10.2 ECS Scheduled Tasks

第11章 鍵管理

11.1 KMS(Key Management Service)

第12章 設定管理

12.1 コンテナの設定管理
12.2 SSMパラメータストア

第13章 データストア

13.1 RDS(Relational Database Service)
13.2 ElastiCache

第14章 デプロイメントパイプライン

14.1 デプロイメントパイプラインの設計
14.2 コンテナレジストリ
14.3 継続的インテグレーション
14.4 継続的デリバリー

第15章 SSHレスオペレーション

15.1 オペレーションサーバーの設計
15.2 Session Manager
15.3 ローカル環境

第16章 ロギング

16.1 ロギングの種類
16.2 ログ検索
16.3 ログ永続化

第17章 Terraformベストプラクティス

17.1 Terraformバージョンを固定する
17.2 プロバイダバージョンを固定する
17.3 削除操作を抑止する
17.4 コードフォーマットをかける
17.5 バリデーションをかける
17.6 オートコンプリートを有効にする
17.7 プラグインキャッシュを有効にする
17.8 TFLintで不正なコードを検出する

第18章 AWSベストプラクティス

18.1 ネットワーク系デフォルトリソースの使用を避ける
18.2 データストア系デフォルトリソースの使用を避ける
18.3 APIの削除保護機能を活用する
18.4 暗黙的な依存関係を把握する
18.5 暗黙的に作られるリソースに注意する

第19章 高度な構文

19.1 三項演算子
19.2 複数リソース作成
19.3 リソース作成制御
19.4 主要なデータソース
19.5 主要な組み込み関数
19.6 ランダム文字列
19.7 Multipleプロバイダ
19.8 Dynamic blocks

第20章 tfstateファイルの管理

20.1 ステートバケット
20.2 Terraform Cloud

第21章 構造化

21.1 モノリス
21.2 モジュールの分離
21.3 独立した環境
21.4 コンポーネント分割
21.5 依存関係の制御

第22章 モジュール設計

22.1 モジュールの設計原則
22.2 優れたモジュールの構成要素
22.3 公開モジュール

第23章 リソース参照パターン

23.1 リテラル
23.2 リモートステート
23.3 SSMパラメータストア連携
23.4 データソースと依存関係の分離
23.5 Data-only Modules

第24章 リファクタリング

24.1 tfstateファイルのバックアップ
24.2 ステートの参照
24.3 ステートの上書き
24.4 ステートからリソースを削除
24.5 リネーム
24.6 tfstateファイル間の移動

第25章 既存リソースのインポート

25.1 terraform import
25.2 terraformer

第26章 チーム開発

26.1 ソースコード管理
26.2 ブランチ戦略
26.3 レビュー
26.4 Apply戦略
26.5 コンテキストの理解

第27章 継続的Apply

27.1 ワークフロー
27.2 apply実行環境
27.3 ビルドリポジトリ
27.4 tfnotify
27.5 Branch protection rules

第28章 落ち穂拾い

28.1 高速化
28.2 デバッグログ
28.3 JSONコメント
28.4 Terraformのアップグレード
28.5 AWSプロバイダのアップグレード
28.6 周辺ツールの探し方
28.7 公式ドキュメントを読むコツ
28.8 構成ドリフト
28.9 未知の未知

付録A 巨人の肩の上に乗る

A.1 Terraform
A.2 AWS
A.3 インフラストラクチャ
A.4 システムアーキテクチャ
A.5 ソフトウェア設計

おわりに

謝辞
あなたへ

ユーザーレビュー

レビューがありません
書籍をシェアする