4章モジュールで再利用可能なインフラを作る
3章の最後の時点で、図4-1のようなアーキテクチャをデプロイしました。
このアーキテクチャは最初の環境としては素晴らしいものですが、図4-2にあるように、通常は社内のテスト用環境(ステージング)と、実際のユーザがアクセスできる環境(本番)の最低でも2つの環境が必要になります。コスト削減のためステージングではサーバの数が少ないか安価なサーバを使うかもしれませんが、この2つの環境はほぼ同一であるのが理想です。
では、ステージング環境のコードを全部コピーアンドペーストせずに本番環境を追加するにはどうしたらいいでしょうか。例えば、stage/services/webserver-clusterをprod/services/webserver-clusterにコピーしたり、stage/data-stores/mysqlをprod/data-stores/mysqlにコピーしたりしないようにするにはどうしたらいいでしょうか。
Rubyなどの汎用的なプログラミング言語において、同じコードがあちこちにコピーアンドペーストされている場合、そのコードを関数に入れ、関数を再利用するでしょう。 ...
Get 詳解 Terraform 第3版 ―Infrastructure as Codeを実現する now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.