- Terraform Cloud Business向けの継続的バリデーション(ベータ版)
- Terraform Cloud Business向けのノーコードプロビジョニング(ベータ版)
- Terraform Cloud向けのマネージドOpen Policy Agent(OPA)(ベータ版)
- Terraform 1.3の一般提供(https://www.hashicorp.com/blog/terraform-1-3-improves-extensibility-and-maintainability-of-terraform-modules)
また、その基調講演では詳細に説明されなかったAzure Provider Automation、Terraform Plugin Frameworkのベータ版サポート、ServiceNow Service Graphとの統合などの新機能についても以下に紹介します。
■Terraformがクラウドの新たな課題に取り組む
クラウドへの移行に伴い、企業はインフラストラクチャの自動化を導入してクラウドリソースのプロビジョニングと管理を行うようになりました。企業が成長するにつれ、コードの健全性や可視性の維持、非効率な手動のワークフローの処理、セキュリティやコンプライアンス関連の問題の低減といった課題が生じます。
マルチクラウド環境でのインフラストラクチャのプロビジョニングと管理には、異種のワークフローやインフラストラクチャの無秩序な拡大の管理、サイロ化されたチームの処理、スキルの不足への対応といった、まったく新しい課題がついて回ります。発表されたTerraformの機能強化は、ユーザーや企業がマルチクラウドでインフラストラクチャの自動化を標準化する際に直面するこうした問題への対応において、大きく役立つものです。
■ドリフトの検出から継続的バリデーションまで
インフラストラクチャのプロビジョニング後、リソースの実際の状態が、記録されている望ましい状態や健全性を常に反映するようにすることが困難となる場合があります。サービス構成、アイデンティティ・アクセス管理など、アプリケーションのビジネスロジックで使用されるものすべてに関して、プロビジョニングの段階でうまく機能したとしても、また、Terraformのapplyの最終的な結果が成功であったとしても、それがデプロイ後にも引き続き適切に機能するとは限りません。
HashiConf Europe(2022年6月20日~22日、オランダ・アムステルダムにて開催)では、インフラストラクチャの状態を継続的にチェックして、変化の検出とアラートを提供する機能である、ドリフト検出が利用可能となったことを発表しました。継続的バリデーションは、HashiConf Global の2日目に発表されたインフラストラクチャ管理の次のステップですが、インフラストラクチャのチェック対象を構成のドリフトからさらに拡大するものです。長期的な可視性を実現し、インフラストラクチャの健全性をチェックできます。ユーザーは、Terraformの構成やモジュールに事前または事後の条件を記述してアサーションを追加することが可能で、Terraformを通じてアサーションを設定した構成やモジュールが合格しているかどうかを継続的にチェックできます。問題がある場合はTerraformからユーザーに通知が送信されるため、リスク、ダウンタイム、コストを最低限に抑えられます。
■ノーコードプロビジョニングでスキルのギャップに対応
HashiCorpが発表した「2022 HashiCorp State of Cloud Strategy Survey(クラウド戦略実態レポート)」の調査で、技術者や意思決定者にとって、スキル不足がマルチクラウドの最大の障壁であるということがわかりました。従来は、何かをプロビジョニングしてそれをTerraformですぐに使用可能にするには、インフラストラクチャやネットワークの知識に加え、HashiCorp Configuration Language(HCL)に関するスキルが必要であったため、これが導入の障害となることがありました。
Terraform CloudおよびTerraform Enterprise向けのプライベートレジストリの導入により、企業全体で再利用可能な、検証済み、承認済みのモジュールを簡単に公開できるようになりました。しかしながら、このレベルのセルフサービスには限界があり、開発者は、コンテンツに基づいたモジュールの選択、そのモジュールのバージョン管理リポジトリへの追加、Terraform Cloudでのワークスペースの作成、そのワークスペースからのモジュールのプロビジョニングを行う必要があります。
このようなことをすべて踏まえ、HashiCorpは新しいノーコードプロビジョニングワークフローを実現する、優れたセルフサービス型の機能を提供したいと考えていました。また、ユーザーがこのようなさまざまなプロセスを回避できるようにすることで、Terraformのトレーニングを行う必要がある人員の数を減らすことにもつながります。
ノーコードプロビジョニングで、管理者やモジュールパブリッシャーは、ノーコード対応モジュールのカタログを管理して、アプリケーション開発者などのユーザーがワークスペースに直接デプロイできるようにすることが可能です。開発者は、必要なノーコード対応のモジュールを選択して、必要な変数を入力し、新しいワークスペースに直接デプロイすることで、Terraformプライベートレジストリからインフラストラクチャをセルフサービスで開発できます(HCLを記述する必要はありません)。プラットフォームチームは、繰り返し発生する社内のリクエストに対応する時間を削減できるため、本来の作業に時間を使い、イノベーションを推進して、ビジネスをサポートできるようになります。
■Terraform Cloud向けのマネージドOpen Policy Agent
企業が成長し、インフラストラクチャの複雑さが増すにつれて、セキュリティ侵害や規制上の要件の違反といったリスクによりさらされやすくなります。HashiCorpはこれに対応するために、Policy as CodeフレームワークのSentinelを2018年にリリースしました。また今年の8月には、Terraform RegistryにSentinelポリシーを追加し、専門家が作成した再利用可能なポリシーを社内の他のメンバーと共有できるようにしました。さらに、外部サービスを使用したTerraformポリシー適用の拡大を可能とする、Run Tasksの一般提供も発表しました。
なお本日6日(米国カリフォルニア州現地時間)、HashiCorpはTerraform Cloud向けのマネージドOpen Policy Agent(OPA)を発表しました。これはRegoポリシー言語に基づいてTerraform CloudのPolicy as Code機能を拡張し、OPAをサポートするためのものです。TerraformでOPAがサポートされるため、すでにOPAで標準化しているユーザーは、これらのポリシーを一緒にTerraform Cloudに取り込めるようになりました。OPAはSentinelと連携して機能し、安全なマルチクラウドプロビジョニングのためのPolicy as Codeフレームワーク導入で利用可能な手法の多様化を実現しています。
■Terraformのその他のアップデート
HashiConf Globalの基調講演で発表されたもの以外に、Terraformのワークフローには以下の通りいくつかの機能強化が加えられています。
・Azure Provider Automation
本日6日(米国カリフォルニア州現地時間)、HashiCorpはAzure Provider Automationツールが利用可能となったことを発表しました。これにより、Azure Resource Managerの新しいリソースやサービスを、Terraform Azureプロバイダですぐに利用できるようになります。この機能は新しく追加または変更されたAzureリソースを自動で生成するため、Terraformユーザーは新しい機能やアップデートがMicrosoftからリリースされた段階で利用できるようになります。
・Terraform向けServiceNow Service Graph Connector
Terraform向けのService Graph Connectorも発表しました。これはITインフラストラクチャやデジタルサービスデータ向けの、クラウドベースの単一の記録システムです。この統合により、ServiceNowのユーザーはTerraformインフラストラクチャの状態や、ServiceNowから生成されたリソースに関する情報を確認できるようになります。ユーザーはこの統合を活用して、クラウドリソースのトラッキングを完全に可視化することが可能で、どのリソースがプロビジョニングされているか、誰が作成したかを確認できるようになりました。
・Terraform Plugin Framework(ベータ版)
Terraform Plugin Frameworkがベータ段階に移行されました。プロバイダ開発エクスペリエンスが刷新され、Terraformの利用可能な全機能がプロバイダに公開されるようになり、コードの読みやすさが改善されました。開発者は、新しいHashiCorp Learnガイドを使用してプロバイダの構築を開始することも、移行ガイドを使用して既存のプロバイダをアップグレードすることもできます。Terraform Plugin Frameworkについて、詳しくはこちら(https://www.terraform.io/plugin/framework)で確認できます。
・Terraform Cloudの詳細とトライアル
Terraform Cloudの継続的バリデーション、ノーコードプロビジョニング、マネージドOPAは、パブリックベータ機能として本日6日(米国カリフォルニア州現地時間)から利用可能です。ノーコードプロビジョニングの詳細については、11月1日のSet up a No-Code Provisioning Workflow with Terraform Cloudのウェビナー(英語、https://www.hashicorp.com/events/webinars/set-up-a-no-code-provisioning-workflow-with-terraform-cloud)で紹介します。なお、Terraform Cloudをまだ使用したことがないユーザーは、無料で登録可能(https://app.terraform.io/public/signup/account)です。
HashiCorpについて
HashiCorpは、マルチクラウドのインフラ自動化ソフトウェアにおけるリーディングカンパニーです。提供するソフトウェア製品群は、あらゆるインフラのプロビジョニング、セキュリティ、ネットワーク、アプリケーション開発などクラウドでのアプリケーション提供に関わる重要なプロセスを自動化するために、一貫性のあるワークフローと標準化されたアプローチを採用することを可能にします。HashiCorpのオープンソースツールには、Vagrant™、Packer™、Terraform®、Vault™、Consul®、Nomad™、Boundary、Waypoint™があり、それぞれオープンソース版、エンタープライズ版、マネージドクラウドサービス版として提供しています。HashiCorpはサンフランシスコに本社を構え、世界中に拠点を置いています。社員のほとんどがリモートワークにて就業し、世界各地から戦略的にビジネスを展開しています。
HashiCorp日本語サイト: https://www.hashicorp.co.jp/