構成管理・自動化 パラメータシート(Ansible / Terraform)
説明
Ansible / Terraform で構築を自動化するときのパラメータシート。オンプレのインフラ屋に向けて、コードで作ること自体ではなくコードで作った後に何が起きるかを書いています。★核は3枚です。(1)差異と状態 … 緊急対応では必ず手で直されます。それは止められないので、戻す手順と期限を先に決めておかないと、コードと現物が静かにずれます。ずれていても普段は誰も困らず、困るのは作り直すときで、そのときには手遅れです。Terraform の状態ファイルは「コードと現物の対応表」で事実上の本体です。失うと作った資源を管理できなくなります(変えることも消すこともできません)。(2)適用の作法 … 適用の前に何が変わるかを見て、適用の後にもう一度流します。属性によっては変更できず「消してから作り直し」になるため、見ずに流すと本番が止まります。「1回目は通るが2回目で壊れる」は本番で初めて出るので、構築時に必ず2回流します。(3)設定時の注意 … この分野で実際に起きる24の失敗と、その回避手順。★項目名の(A)は Ansible、(T)は Terraform 固有です。★既定値は製品と版で変わるため、確証のあるものだけを記載し、それ以外は「要確認」と明記しています。
使い方
★「コードが正」と決めるだけでは足りません。手で直した箇所を、いつ・誰が・どうやって戻すかまで決めてください。差異の確認(変更なしと出ること)を定期作業カレンダーに入れて、運用の仕組みに乗せてください。★状態ファイル(T)は共有の置き場に置き、排他と世代の保持を最初に決めてください。個人のPCに置いたままにしないでください。壊れてからでは直せません。バックアップ・リストア設計/手順書の対象範囲にも必ず書いてください。★状態ファイルには接続情報が平文で入りえます。中身を見る権限は、資源を操作する権限と同じだけ重いものとして扱ってください。★適用の前に必ず「何が変わるか」を出して読んでください。特に作り直しの判定です。★適用の後に必ずもう一度流し、2回目で何も変わらないことを確認してください。変わるなら冪等ではありません。★「成功」は「流せた」であって「正しい」ではありません。現物を必ず確認してください。★失敗したときは全部が戻るわけではなく、半分だけ適用された状態が残ります。どこまで進んだかを確かめてから次の手を決めてください。★引き継ぎに要るのは リポジトリ・実行環境・秘密情報・状態ファイル の4つです。1つ欠けると、コードはあるのに誰も流せません。秘密情報はコードに直接書かないでください。git の履歴に残り、後から消しても残ります。
収録内容
全9シート。各シートに書いてあることは次のとおりです(ファイルの「目次」シートより)。
- 前提共通設計
- 適用範囲・実行環境・秘密情報・記録
設定項目(16件)
コードで作るもの・コードで作らないもの・既にある資源の扱い・コードが正か、現物が正か・どこから流すか・本体の版・プラグインの版・版の固定ファイル・対象への接続方式(A)・実行する権限・秘密情報の置き場・暗号化(A)・状態ファイルの中身(T)・誤って書いた場合・変更の記録・適用の記録
- 設定値コードの在り処
- リポジトリ・構成・レビュー・引き継ぎ
設定項目(13件)
リポジトリ・環境ごとの分け方・変更の入れ方・レビューの観点・対象の一覧・変数の置き場・処理のまとまり・資源の分け方・共通部品・変数の与え方・読み方の手引き・本書との対応・手で直す場合の窓口
- 設計差異と状態
- ★手で直されるのは止められない。戻す手順を決める
項目(22件)
手で直したときの扱い・差異をいつ確かめるか・状態ファイルの置き場(T)・状態ファイルの排他(T)・状態ファイルの保護(T)・状態ファイルの中身(T)・既にある資源(T)・コードの外で作られたもの・人が入れ替わったとき・書き方・★「コードが正」と決めるだけでは足りない。緊急対応では必ず手で直される。・手で直した箇所を、いつ・誰が・どうやってコードへ戻すかまで決める。・決めていないと、コードと現物が静かにずれる。普段は誰も困らないので気づけない。・★困るのは作り直すときで、そのときには手遅れになっている。・だから定期的に差異を確かめる。定期作業カレンダーに入れて、運用の仕組みに乗せる。・★状態ファイル(T)は「コードと現物の対応表」で、事実上の本体。・失うと、作った資源を管理できなくなる。変えることも消すこともできず、・手で作り直すしかない。共有の置き場・排他・世代の保持を最初に決める。・★状態ファイルには接続情報が平文で入りうる。中身を見る権限は、・資源を操作する権限と同じだけ重い。置き場所の権限を設計に入れる。・・引き継ぎに要るのは リポジトリ・実行環境・秘密情報・状態ファイル の4つ。・1つ欠けると、コードはあるのに誰も流せない状態になる。
- 設計適用の作法
- ★前に何が変わるかを見る。後にもう一度流す
- 確認確認コマンド集
- 設定と書き方の確認方法と期待される結果
- 注意設定時の注意
- この分野で実際に起きる失敗と、その回避手順
この型で検査する
記入済みのファイルをアップロードすると、この型の必須項目(パラメータシートの組込みルール)を満たしているか検査します。ファイルは保存されません。
関連するテンプレート
同じフェーズ(設計)や業界でよく使われている型です。
基本設計書(方式と方針の型)
「基本設計=方式と方針、詳細設計=具体的な値」の線引きを章構成で体現。設定値はパラメータシートに書き、本書には書かないことで二重管理を防ぎます。
IPアドレス管理表
セグメントの全アドレスを行に展開する台帳。「空き」が行として見えることで、重複払い出しを防ぎます。★セグメントごとの使用率を数式で出します(80%超で橙、90%超で赤)——IPは足りなくなってから増やせず、/24 を /23 へ広げるにはそのセグメントの全機器のアドレスを変えることになるためです。★ホスト名の重複を自動で検出し、使用中なのに用途・ホスト名が空の行、最終更新から1年以上動いていない行も色で出します。.0(ネットワークアドレス)と .255(ブロードキャスト)も「禁止」の行として残し、なぜ払い出せないかが見えるようにしました。★v3 では「実体(実機/仮想IP/機器のIF)」の列を追加しました。VIP・フローティングIP・ゲートウェイのSVIは★機器一覧に出てこないのにアドレスを消費するので、台帳に載せ忘れると後から同じIPを別の機器へ払い出して本番で衝突します。実機なのに機器IDが空の行は赤、仮想IPは薄紫で区別し、セグメント一覧に「うち仮想IP」の件数も出します(記入例はサーバー10台に対して使用中が14個になります)。払い出し記録シートつき。
構成図テンプレート(作図ルール+部品集)
雛形・記法ルール・アイコン部品集のセット。新設=赤枠/撤去=グレーアウトなど更改案件の描き分けを標準化します。Visio不要、PPT標準図形のみ。
通信要件一覧(FWルール表)
ゾーン定義とゾーン間ポリシーを先に決め、個別ルールをその例外として書くFWルール表。送信元・宛先・サービスが any の行と、有効期限が過ぎた行には自動で色が付きます。★ゾーン間ポリシーに「≠(この区間はFWを通らない)」の記号を持たせてあります。VLAN間ルーティングをコアスイッチで行う構成では社内セグメント同士の通信がFWまで上がってこないため、ここを「×」と書くと止まっているつもりで素通りします。効かないルールの例と、棚卸しでヒット0からそれを見つける流れまで記入例に入れてあります。AD認証の内訳やIPsec・vSphereなど、毎回調べ直しているポート番号を約60件収録済み。FW機種を問わず使えます。
