3. Terraform CLI driver¶
3.1. はじめに¶
3.2. コンソールメニュー構成¶
3.2.1. メニュー/画面一覧¶
- 基本コンソールのメニューTerraform CLI driverで利用する基本コンソールのメニュー一覧を以下に記述します。
¶ No
メニューグループ
メニュー/画面
説明
1
基本コンソール
オペレーション一覧
オペレーション一覧をメンテナンス(閲覧/登録/更新/廃止)できます。
- Terraform CLI driverのメニューTerraform CLI driverのメニュー一覧を以下に記述します。
¶ No
メニューグループ
メニュー・画面
説明
1
Terraform CLI
インターフェース情報
作業実行の情報を管理します。
2
Workspace管理
Terraformで利用するWorkspaceの情報を管理します。
3
Movement一覧
Movementの一覧を管理します。
4
Module素材集
Moduleファイルを管理します。
5
Movement-Module紐付
MovementとModule素材の関連付けを管理します。
6
変数ネスト管理
Module素材集で登録したtfファイルで定義されている変数のタイプがlist,setかつ、その変数の中でlist,set,tuple,objectが定義されている場合、メンバー変数の最大繰返数を管理します。
7
代入値自動登録設定
パラメータシートのメニューに登録されているオぺレーション毎の項目や値を紐付けるMovementと変数を管理します。
8
作業実行
作業実行するMovementとオペレーションを選択し実行を指示します。
9
作業管理
作業実行履歴を管理します。
10
作業状態確認
作業実行状態を表示します。
11
代入値管理
変数の代入値を管理します。
12
Module-変数紐付(※1)
Module変数とModule素材の紐付を管理します。
13
メンバー変数管理(※1)
メンバー変数を管理します。
14
Movement-変数紐付(※1)
Movmentと変数の紐付を管理します。
15
Movement-メンバー変数紐付(※1)
Movmentとメンバー変数の紐付を管理します。
注釈
※1 非表示メニューは、内部機能でデータの登録・更新を行うメニューです。Terraform CLI driver機能をインストールした状態では表示されないメニューに設定されています。非表示メニューを表示するには、管理コンソール を参照してください。で各メニューの復活処理を行います。詳細は
3.3. 利用手順¶
3.3.1. Terraform CLI作業フロー¶
作業フロー詳細と参照先
- パラメータシートの作成パラメータシート作成の「パラメータシート定義・作成」の画面から、作業対象サーバの設定に使用するデータを登録するためのパラメータシートを作成します。詳細は パラメータシート作成機能 を参照してください。
- パラメータシートにデータを登録入力用メニューグループの前項で作成したパラメータシート画面から、作業対象サーバの設定に使用するデータを登録します。詳細は パラメータシート作成機能 を参照してください。
- 代入値自動登録設定代入値自動登録設定の画面から、パラメータシートに登録されているオペレーション毎の項目の設定値と、Movementの変数を紐付けます。詳細は 代入値自動登録設定 を参照してください。
- 作業状態確認作業状態確認の画面から、実行した作業の状態がリアルタイムで表示されます。また、作業の緊急停止や、実行ログ、エラーログを監視することができます。詳細は 作業状態確認 を参照してください。
3.4. 機能・操作方法説明¶
3.4.1. 基本コンソール¶
オペレーション一覧¶
3.4.2. Terraform CLI driver メニュー¶
インターフェース情報¶
- では、作業実行の情報をメンテナンス(閲覧/更新)することができます。
- 編集 ボタンより、インターフェース情報の登録を行います。
- インタフェース情報画面の項目一覧は以下のとおりです。インタフェース情報が未登録または、複数レコード登録されている状態で作業実行した場合、作業実行は想定外エラーとなります。
¶ 項目
説明
入力必須
入力形式
制約事項
NULL連携
代入値自動登録設定でパラメータシートの具体値がNULL(空白)の場合に、代入値管理への登録をNULL(空白)の値で行うか設定します。代入値自動登録設定メニューの「NULL連携」が空白の場合この値が適用されます。「有効」の場合、パラメータシートの値がどのような値でも代入値管理への登録が行われます。「無効」の場合、パラメータシートに値が入っている場合のみ代入値管理への登録が行われます。〇
リスト選択
ー
状態監視周期(単位ミリ秒)
「作業状態確認」で表示されるログのリフレッシュ間隔を入力します。通常は3000ミリ秒程度が推奨値です。〇
手動入力
最小値1000ミリ秒
進行状態表示行数
「作業状態確認」での進行ログ・エラーログの最大表示行数を入力します。ステータスが[未実行]、[準備中]、[実行中]、[実行中(遅延)]の場合、指定した行数でログを出力します。ステータスが[完了]、[完了(異常)]、[想定外エラー]、[緊急停止]、[未実行(予約)、[予約取消]]の場合、指定した行数ではなくすべてのログを出力します。環境毎にチューニングを要しますが、通常は1000行程度が推奨値です。〇
手動入力
ー
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Workspaces管理¶
- では、Terraformで利用するWorkspaceについてのメンテナンス(閲覧/登録/更新//廃止リソース削除)を行います。WorkspaceはTerraformコマンドを実行するためのディレクトリとして利用します。同一のWorkspaceを対象とした作業実行を行う場合、Terraformが生成するstateファイルはWorkspace単位で管理され、冪等性が保たれます。
- + 登録 ボタンより、Workspace情報の登録を行います。
- 「リソース削除」ボタンをクリックすると「作業状態確認」に遷移し、対象のWorkspaceに対してリソース削除(terraform destroy)が実行されます。
- Workspaces管理画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
Workspace名
Workspaceの名前を入力します。
半角英数字と記号 _ -(アンダーバーとハイフン)のみ利用可能です。
○
手動入力
最大長90バイト
作業実行
リソース削除
Workspaceごとに構成・管理されたリソースの削除を実行するボタンです。
クリックすると確認ダイアログが表示され[OK]をクリックすると「作業状態確認」に遷移し、対象のWorkspaceごとに構成・管理されたリソースの削除が実行されます。
ー
ボタン
ー
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Movement一覧¶
- では、Movement名についてのメンテナンス(閲覧/登録/更新/廃止)を行います。MovementはTerraform利用情報としてWorkspaceと紐付ける必要があるため、先に「Workspaces管理」にて対象を登録しておく必要があります。
- + 登録 ボタンより、Movement情報の登録を行います。
- Movement一覧画面の項目は以下の通りです。
¶ 項目
説明
入力必須
入力形式
制約事項
Movement名
Movementの名称を入力 します。
○
手動入力
最大長256バイト
オーケストレータ
『Terraform CLI』が自動で入力されます。
ー
自動入力
ー
遅延タイマー
Movementが指定期間遅延した場合にステータスを遅延として警告表示したい場合に指定期間(1~)を入力します。 (単位:分)
未入力の場合は警告表示しません。
ー
手動入力
ー
Terraformm利用情報
Workspace
「Workspaces管理」にて登録したWorkspaceを選択します。
○
リスト選択
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
Module素材集¶
Movement-Module紐付¶
- Movement一覧」にて登録したMovementと「Movement-Module紐付」にて登録したModule素材の紐付けについてメンテナンス(閲覧/登録/更新/廃止)を行います。では、「Movementを実行する際、紐付けたModule素材が適用されます。Movementに対して複数のModule素材を紐付けることが可能です。
- + 登録 ボタンより、Movement-Module紐付の登録を行います。
- Movement-Module紐付の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方式
制約事項
Movement名
「Movement一覧」にて登録したMovement名を選択します。○
リスト選択
ー
Module素材
「Module素材集」にて登録したModule素材を選択します。○
リスト選択
ー
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
変数ネスト管理¶
- では、Module素材集で登録したtfファイルで定義されている変数のタイプがlist,setかつ、その変数の中でlist,set,tuple,objectが定義されている場合、メンバー変数の最大繰返数を閲覧及び更新できます。本メニューはModule素材集を元に内部機能がレコードを管理するため、登録・廃止・復活はできません。変数ネストの管理フロー例については「変数ネスト管理フロー例」をご参照ください。
- + 更新 ボタンより、最大繰返数の更新を行います。
- 変数ネスト管理の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方式
制約事項
変数名
「Module素材集」にて登録したModule素材で使用している変数が表示されます。
ー
入力不可
ー
メンバー変数名(繰返し有)
変数ネスト管理対象がメンバー変数である場合、メンバー変数名が表示されます。メンバー変数名は各階層の変数を「.」で連結して表示します。
ー
入力不可
ー
最大繰返数
配列の最大繰返数を1~1024の範囲で入力します。最大繰返数の上限値は「管理コンソール - システム設定」より識別ID「MAXIMUM_ITERATION_TERRAFORM-CLI」の設定値にて、1~1024の範囲内で変更することが可能です。初期値はtfファイルのdefaultに記載されている値から取得した繰返数が設定されます。tfファイルにdefaultの記載がない場合、1が設定されます。最終更新者が「Terraform CLI 変数更新機能」でない場合はModule素材の更新により値が変更されることはありません。〇
手動入力
入力値1~1,024(「システム設定」の設定値により変動)
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
警告
代入値自動登録設定¶
- では、パラメータシート作成機能で作成したパラメータシート(オペレーションあり)と、Movementの変数を紐付けます。登録した情報は内部の処理により作業実行時に「代入値管理」に反映されます。
- + 登録 ボタンより、代入値自動登録設定の登録を行います。
- 登録画面の項目一覧は以下のとおりです。
¶ 項目
説明
入力必須
入力方法
制約事項
パラメータシート(From)
メニューグループ:メニュー:項目
パラメータシート作成機能で作成したパラメータシート(オペレーションあり)の項目が表示されます。
対象の項目を選択します。
選択対象となるパラメータシートは
で、パラメータシート(オペレーションあり)で作成したパラメータシートの項目になります。○
リスト選択
ー
代入順序
パラメータシート作成機能で作成したパラメータシート(オペレーションあり)のバンドルが有効の場合、パラメータシートで登録している代入順序を入力します。
※1
手動入力
1~2147483647の整数
登録方式
Value型:項目の設定値を紐付けた変数の具体値とする場合に選択します。
Key型:項目の名称を紐付けた変数の具体値とする場合に選択します。
○
リスト選択
ー
Movement名
「Movement一覧」で登録したMovementが表示されます。
○
リスト選択
ー
IaC変数(To)
Movement名:変数名
「Movement-Module紐付」で登録した資材で使用している変数が表示されます。
具体値に紐付けたい変数を選択します。
○
リスト選択
ー
HCL設定
「False」または「True」を選択します。
HCL設定を「True」にすることで、変数のタイプを考慮せずにパラメータシートの入力値(具体値)を1:1で設定することができます。
HCL設定を「True」にした場合は「メンバー変数」「代入順序」は入力できません。
内部処理により「代入値管理」に反映する際、選択した値が引き継がれます。
○
リスト選択
選択した変数名がmap型の場合は「True」で設定する必要があります。
他レコードのオペレーション、Movement、変数名が一致している場合、HCL設定の値は同じ値で統一されている必要があります。
Movement名:変数名:メンバー変数
「Movement-Module紐付」で登録した資材で使用している変数の形式により、メンバー変数が表示されます。
具体値に紐付けたいメンバー変数を選択します。
※2
リスト選択
ー
代入順序
複数具体値が設定できる変数名およびメンバー変数の場合のみ必須入力になります。
具体値の代入順序(1~ )を入力します。入力値に従い昇順で代入されます。
※3
手動入力
ブランクまたは1~2147483647の整数
NULL連携
パラメータシートの具体値がNULL(空白)の場合に、代入値管理への登録をNULL(空白)の値で行うか設定します。
・「有効」の場合、パラメータシートの値がどのような値でも代入値管理への登録が行われます。
・「無効」の場合、パラメータシート に値が入 っている場合のみ代入値管理への登録が行われます。
・空白の場合「インターフェース情報」で設定されている「NULL連携」の値が適用されます。
ー
リスト選択
ー
備考
自由記述欄です。
ー
手動入力
最大長4000バイト
注釈
注釈
注釈
注釈
作業実行¶
- 予約日時の指定「予約日時」を入力することで、実行およびPlan確認を予約することができます。「予約日時」には、未来の日時のみ登録可能です。
- Movementの指定「Movement一覧 」で登録したMovementを選択します。
- オペレーションの指定「オペレーション一覧」で登録したオペレーションを選択します。
- 実行「実行」ボタンをクリックすると、「5.2.10作業状態確認 」に遷移し、作業が実行されます。Terraform Plan完了後にTerraform Applyが自動で実行されます。
- Plan確認「Plan確認」ボタンをクリックすると、「実行」ボタンをクリックした場合同様に作業実行が開始されますが、Terraform Planのみを実行し、Terraform Applyは実行されません。
- パラメータ確認「パラメータ確認」ボタンをクリックすると、投入するパラメータの値を確認できます。Terraform PlanおよびTerraform Applyは実行されません。
Tip
variable "VAR_sample" { type = string default = "sample_string" } output "output_sample" { value = "${var.VAR_sample}" } |
{ "output_sample": { "sensitive": false, "type": "string", "value": "sample_string" } } |
作業状態確認¶
- 実行状態表示実行状況に即し、ステータスが表示されます。また、実行ログ、エラーログに実行状況の詳細が表示されます。「実行種別」にはPlan確認の場合には「Plan確認」、Workspaceごとに構成・管理されたリソースの削除(「Workspaces管理」から実行されます。)の場合は「リソース削除」、それ以外の場合には「通常」が入ります。ステータスが想定外エラーで終了した場合、「インターフェース情報」の登録不備や、その他のWebコンテンツの登録不備が原因であれば、エラーログにメッセージが表示されます。それ以外のエラーの場合はエラーログにメッセージが表示されません。この場合は、アプリケーションログにエラー情報が記録されます。必要に応じてアプリケーションログを確認ください。「呼出元Conductor」には、どのConductorから実行されたかを表示します。Terraform CLI driver から直接実行した場合は空欄になります。「実行ユーザ」には、作業実行メニューより「実行」ボタンを押下した際のログインユーザが表示されます。※「実行種別」が「リソース削除」の場合は下記の項目が設定されません。
呼出元Conductor
Movement
オペレーション
投入データ
- 代入値確認代入値確認 ボタンで「代入値管理」が表示され、作業対象のオペレーションとMovementに絞り込んだ代入値が表示されます。
- 緊急停止/予約取り消し緊急停止 ボタンで構築作業を停止させることができます。また、実行前の「予約実行」の作業の場合は、 予約取消 ボタンが表示されます。 予約取消 ボタンで予約実行が取り消せます。
- 実行ログ表示実行ログのプルダウンに表示されるログファイル名は以下の3種類があります。init.log: Terraform Init の実行ログplan.log: Terraform Plan の実行ログapply.log: Terraform Applyの実行ログ
- ログ検索実行ログ、エラーログは、フィルタリングができます。各ログのフィルタのテキストボックスに検索したい文字列を入力し、「該当行のみ表示」のチェックボックスをチェックすることで該当する行だけが表示されます。実行ログ、エラーログのリフレッシュ表示間隔と最大表示行数を、「インターフェース情報」の「状態監視周期(単位ミリ秒)」と「進行状態表示行数」で設定できます。
- 投入データ実行したModule素材および設定した代入値の一覧をjson形式で取得したファイルを格納したzip形式ファイルをダウンロードすることができます。格納されているファイルは以下の通りです。
¶ フォルダ名
ファイル名
説明
ー
(投入したModule素材ファイル名)投入したModule素材ファイルがzipファイルの直下にすべて格納されます。ー
terraform.tfvars設定した各代入値 についての「変数名(key)」「具体値 (value)」を記載したファイルです。Secure設定がTrueの対象は記載されません。 - 結果データ実行ログ、エラーログおよび、Terraformが生成したstateファイルを格納したzip形式ファイルをダウンロードすることができます。格納されているファイルは以下の通りです。
¶ フォルダ名
ファイル名
説明
ー
init.log実行ログ(init.log)出力された内容を記載したlogファイルです。ー
plan.log実行ログ(plan.log)出力された内容を記載したlogファイルです。ー
apply.log実行ログ(apply.log)出力された内容を記載したlogファイルです。ー
error.logエラーログ出力された内容を記載したlogファイルです。ー
result.txt業実行時に内部機能が 利用する進行状況を記録するファイルです。ー
.terraform.lock.hclTerraformが生成したファイルです 。providerやmoduleの情報が記載されます。ー
terraform.tfstateTerraformが生成したstateファイルです。暗号化された状態で保存されています。ー
terraform.tfstate.backupTerraformが生成したstateファイルのバックアップです。暗号化された状態で保存されています。
作業管理¶
- 作業管理画面の項目一覧は以下のとおりです。
¶ 項目
説明
作業No.
作業実行時に自動採番した36桁の文字列が表示されます。
詳細
ボタンを押下することで「作業状態確認」に遷移し、実行状態の詳細を確認できます。
実行種別
作業実行時の実行種別が表示されます。
「通常」「Plan確認」「パラメータシート確認」があります。
ステータス
作業実行のステータスが表示されます。
「未実行」「未実行(予約)」「準備中」「実行中」「実行中(遅延)」「完了」「完了(異常)」「想定外エラー」「緊急停止」「予約取り消し」があります。
実行ユーザ
作業実行を行ったユーザ名が表示されます。
登録日時
作業を登録した日時が表示されます。
Movement
ID
MovementのIDが表示されます。
名称
Movementの名称が表示されます。
遅延タイマー
Movementに設定した遅延タイマーの値が表示されます。
Terraform利用情報
WorkspaceID
Movementに設定したTerraform WorkspaceのIDが表示されます。
Workspace Name
Movementに設定したTerraform Workspaceの名称が表示されます。
オペレーション
No.
オペレーションのNo.が表示されます。
名称
オペレーションの名称が表示されます。
投入データ
投入データ一式をzipファイル形式でダウンロードできます。
結果データ
結果データ一式をzipファイル形式でダウンロードできます。
作業状況
予約日時
予約実行をしていた場合、予約日時が表示されます。
開始日時
作業の開始日時が表示されます。
終了日時
作業の終了日時が表示されます。
備考
自由記述欄です。
代入値管理¶
- では、オペレーションに紐付くMovementで利用されるModule素材の変数に代入する具体値を閲覧できます。
- 代入値管理画面の項目一覧は以下のとおりです。
¶ 項目
説明
作業No.
作業実行時に自動採番した36桁の文字列が表示されます。
オペレーション
作業実行時に選択したオペレーションが表示されます。
Movement名
作業実行時に選択したMovementが表示されます。
Movement名:変数名
「代入値自動登録設定」で選択されたMovementにアタッチした変数名が表示されます。
HCL設定
「代入値自動登録設定」で選択されたHCL設定「False」または「True」が表示されます。 また、「メンバー変数」「代入順序」を入力した階層構造となっている変数は「True」となります。
Movement名:変数名:メンバー変数
「代入値自動登録設定」で選択されたMovementにアタッチしたメンバー変数名が表示されます。
代入順序
「代入値自動登録設定」で選択されたMovementにアタッチした変数名およびメンバー変数に対する代入順序が表示されます。
具体値
Sensitive設定
「True」または「False」が表示されます。
「True」の場合「作業状態確認」で取得できる投入データの中に格納されません。
値
オペレーション/Movementで使用する変数の具体値が表示されます。
備考
自由記述欄です。