HashiCorp、「Terraform 1.7」を一般提供–テストワークフレームのモック機能を追加

今回は「HashiCorp、「Terraform 1.7」を一般提供–テストワークフレームのモック機能を追加」についてご紹介します。

関連ワード (ソフトウェア等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、ZDNet Japan様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


 HashiCorpは米国時間1月17日、「HashiCorp Terraform 1.7」の一般提供を発表した。

 Terraform 1.7は現在、ダウンロードが可能で、「Terraform Cloud」でも利用できる。Terraform テストワークフレームのモック機能やリソースを状態から削除する新しいメソッドを搭載するほか、config-driven importの強化なども図られている。

 「Terraform 1.6」では、Terraformコードの単体および結合テストをHashiCorp Configuration Language(HCL)を使って実行するためのネイティブオプションとして、Terraformのテストフレームワークが導入された。Terraform 1.7では、これに複数の改良が加えられており、その中にはモック機能が含まれるとHashiCorpは述べる。

 プロバイダーコールのモックを使うことで、より高度な状況をモデル化することが可能になり、インフラストラクチャーを実際に構成したり、クレデンシャルを要求したりすることなくテストを実行できる。データベースや高レベルのプラットフォームサービスといった、プロビジョニングに時間を要するようなクラウドリソースを使用する場合に効果的だと同社は説明する。

 テストモックは、モックプロバイダーとオーバーライドという2つの機能を追加し、強力な柔軟性をモジュールのテストに与える。

 Terraformテストでモックされたプロバイダー/リソースは、基盤となるプロバイダーAPIが通常は提供する計算された属性全てに対し、擬似的なデータを生成する。エイリアスを使うことで、モックプロバイダーと本物のプロバイダーを一緒に使用し、柔軟なTerraformテストスイートをモジュールのために作成できる。モックプロバイダーの定義にはmock_providerが使われ、同ブロック内では、リソースやデータソースの計算された属性の値を指定できる。

 プロバイダー全体をモックすることに加え、リソース、データソース、モジュールの特定インスタンスをオーバーライドできる。オーバーライドブロックはTerraformテストファイルのルートに置いて全テストランに適用することも、個々のrunブロックに配置することもできる。また、モックプロバイダーと本物のプロバイダーの両方で利用できる。オーバーライドの一般的なユースケースは、プロビジョニングに時間がかかるリソースのテスト実行時間短縮などがあるという。

 Terraform 1.7で加えられたテストフレームワークに関する他の強化としては、変数を参照し、テストプロバイダーブロックで実行を出力する、変数ブロックとプロバイダーブロックでHCL関数を使用する、テスト用変数値を*.tfvarsファイルからロードするなどがある。

 Terraform 1.7では、config-driven removeが追加された。インフラストラクチャーライフサイクルにおいて、リソースの状態を修正することが必要になる場合がある。「Terraform CLI」は状態操作に関連したコマンドが幾つかあるが、これら全てには、一度の一つだけのリソースに対してのみ動作する、状態やクレデンシャルに直接アクセスしてローカルで実行する必要がある、状態をすぐに変更するといった同様の課題があるという。

 これは、構成と状態が同期していない状態にし、リソースを誤って変更してしまう可能性があるため、リスクがある。このような理由から、「Terraform 1.1」ではmovedブロックによりconfig-driven refactoringの概念を導入し、それに続いて「Terraform 1.5」ではconfig-driven importを利用可能にした。config-driven removeはこの概念を再び拡張するものだという。

 リソースを破棄せずに状態から削除する必要がある理由としては、ワークスペース間でリソースを移動する、適用失敗後での状態のクリーンアップ、リソースの手動変更によるリフレッシュの失敗、プロバイダーの廃止とアップグレードなどを同社は挙げる。removedブロックは、terraform state rmコマンドの代替として、これらの課題全てに対応するという。movedやimportブロック同様に、状態の削除を一括で計画的に実行できるようになったため、状態を変更する前に、操作が意図した効果をもたらすことを確信できるという。

 Terraform 1.7では、config-driven importも強化されており、for_eachループを使ってimportブロックを拡張できる。これまで、importブロックのto属性でリソースの特定のインスタンスをターゲットにできたが、個別のimportブロックに対して各インスタンスを記述する必要があった。これが単一のimportブロックで実現できるようになった。これは、複数のモジュールインスタンス間でインポートを拡張するにも使用できる。

COMMENTS


Recommended

TITLE
CATEGORY
DATE
アルテリックス、AIが組織の人材にもたらす影響を調査–最高AI責任者の必要性など示す
IT関連
2024-03-27 17:53
AWS、Amazon S3やEBSを爆速にする「Amazon File Cache」発表。複数のストレージを単一のビューで利用可能に
AWS
2022-08-23 13:09
ヴイエムウェア買収は「不確実性とリスクの大きな嵐」–ニュータニックスのラマスワミCEO
IT関連
2024-05-29 06:12
大企業ほどサイバーレジリエンスに注目–NRIセキュア調べ
IT関連
2025-03-01 22:33
すみっコぐらしがメタバース化、エンタメ特化型メタバースVARKがすみっコ世界に飛び込めるイベントを3月23日から開催
IT関連
2022-03-04 23:08
KADOKAWAが「サブスク手当」導入、月2000円 映像や音楽など140サービスの利用者に支給
企業・業界動向
2021-07-14 17:06
AI inside、エッジコンピューター「AI inside Cube」シリーズを刷新–小規模運用に最適なモデルを追加
IT関連
2025-04-03 19:47
プライバシーが気になる人向けのブラウザー「Mullvad」
IT関連
2023-04-15 04:12
AWS、追加料金なくAmazon RDS for PostgreSQLの性能を最大2倍に引き上げる「Amazon RDS Optimized Reads」のAmazon RDS for PostgreSQL対応を発表
AWS
2023-04-13 20:24
大王製紙、パッケージのデザイン開発にAI活用–デザイン評価を最短10分で完了
IT関連
2022-07-28 20:34
「かわいさ」重視のLinuxディストロ–アニメファン向けの「NyArch Linux」
IT関連
2024-06-06 04:34
ペンシルバニア大准教授、授業で「ChatGPT」利用を奨励–「目覚ましい」成果
IT関連
2023-02-23 09:50
物流・流通DX、事業化の動き パナや三菱商事系がAIでサプライチェーン効率化
IT関連
2021-08-03 13:06
決済基盤提供のAdyen、プラダ・グループとの提携強化–チャネル統合でCX向上図る
IT関連
2024-06-07 12:48