IaCの始め方。Terraformを使う前に決めておくこと
IaCは、
- 環境/開発用、
試験用、 実際に 使う用など、 目的ごとに 分けて 用意する システム一式です。 - 本番/実際の
利用者が 使っていて、 止める ことができない 方の 設備の ことです。
IaCは、
IaCで何が変わるのか
IaC
手作業での
- 同じ
構成を 何度でも 正確に 再現できる - 変更の
履歴が 残り、 誰が 何を いつ 変えたか 追える - レビューの
対象に なり、 適用前に 問題を 指摘できる - 開発環境と
本番環境の 差異が 生まれにくい
もっとも
ツールの選び方
主な
| ツール | 特徴 | 向いている |
|---|---|---|
| Terraform | 複数の | 複数クラウドを |
| CloudFormation | AWS専用。 | AWSのみで |
← 横に
案件で
ただし、
状態ファイルの扱いを最初に決める
Terraformを
Terraformは
個人で
- 共有ストレージに
置く /S3などのクラウドストレージに 保管し、 チーム全員が 同じ ものを 参照する - 同時実行を
防ぐ /2人が同時に 適用すると、 状態が 壊れます。 ロックの 仕組みを 併用する - バージョン管理を
有効に /壊れたする ときに 戻せるように しておく - 機密情報の
扱いに /状態ファイルには注意する パスワードなどが 平文で 入る ことがあります。 アクセス権限を 絞る
ここを
ディレクトリ構成と環境の分け方
開発・検証・本番を
よく
- 環境ごとの
差分は 変数で 表現する (インスタンスの 大きさ、 台数など) - 構成
その ものは 共通の モジュールで 持つ - 本番だけ手作業で
変えた、と いう 状態を 作らない
最後の
既存環境があるときの進め方
すでに
- 新規に
作る /ものから 始める これから 追加する 資源だけコードで 作る。 既存には 触らない - 影響の
小さい /検証環境、範囲から 取り込む あるいは 停止しても 業務が 止まらない 部 分から - 既存資源を
取り込む機能を /手作業で使う 作った 資源を Terraformの 管理下に 移す仕組みが あります - 本番は
最後に /手順がする 固まってから 着手する
「全部を
つまずきやすい点
- 適用前の
確認を /実行計画を省く 確認せずに 適用すると、 意図しない 資源の 削除が 起きます。 特に 本番では 必ず 内容を 読む - 作り直しに
なる /設定に変更に 気づかない よっては、 変更ではなく 削除と 再作成が 行われます。 稼働中の 資源では 致命的です - バージョンを
固定しない /ツールやプロバイダの 版が 変わると 挙動が 変わる ことがあります。 固定して 管理する - 機密情報を
コードに /リポジトリに書く 残ります。 専用の 管理サービスや 環境変数を 使う - 手作業との
併用 /一部だけ管理画面で変更する 運用が 混ざると、 差分が 読めなくなります
2つ目は
インフラ・クラウド案件をお探しの方へ
イーランサーは、
登録から
