TERM 018
Infrastructure as Code
インフラ構成を、レビューできるコードへ
Infrastructure as Code(IaC)は、ネットワーク、サーバー、権限などのインフラ構成を宣言的または手続き的なコードで定義し、自動的に作成・変更する考え方です。
インフラの構成をコードとして定義・再現する考え方の全体像。
CONTENTSこの記事の目次+
QUICK OVERVIEW
30秒でつかむ
構成の正本
Git上のコードを意図した構成としてレビューします。
現状との対応
管理対象と実リソースの関係を追跡し、差分を計算します。
再利用単位
よく使う安全な構成を部品化し、環境間のばらつきを減らします。
01 — DEFINITION
Infrastructure as Codeとは
何か
Infrastructure as Code(IaC)は、ネットワーク、サーバー、権限などのインフラ構成を宣言的または手続き的なコードで定義し、自動的に作成・変更する考え方です。
02 — HOW IT WORKS
仕組みを
3段階で見る
細部へ入る前に、入力から結果までの役割を順番に捉えます。
望む構成を書く
リソースと関係をコードとして記述する。
→差分を確認
現在状態と比較し、作成・変更・削除を確認する。
→構成を反映
承認された差分をAPI経由で環境へ適用する。
Infrastructure as Codeを理解するときの、最小の処理単位です。
03 — ESSENTIALS
押さえるべき
3つの要点
名前だけでなく、この3点の関係まで理解すると実装へつなげやすくなります。
構成の正本
Git上のコードを意図した構成としてレビューします。
現状との対応
管理対象と実リソースの関係を追跡し、差分を計算します。
再利用単位
よく使う安全な構成を部品化し、環境間のばらつきを減らします。
04 — REAL WORLD EXAMPLE
検証環境と本番環境を再現する
手作業でVPCやデータベースを作ると設定差が生まれます。
- 01
共通構成をモジュールとして定義する
- 02
環境ごとの値だけ変数で分ける
- 03
変更計画をレビュー後にCI/CDで適用する
05 — WATCH OUT
理解するときの
注意点
便利な仕組みほど、守備範囲と失敗の前提を明確にします。
秘密をコードへ直書きしない
参照先だけを定義し、実値はSecret Managerなどで管理します。
手作業変更を残さない
コード外の変更は差分を生むため、検出して定義へ戻す運用が必要です。
IN ONE SENTENCE
Infrastructure as Codeとは?
インフラの構成をコードとして定義・再現する考え方。
