ナビゲーションをスキップする

HashiCorp パートナーシップの拡張

2018年10月22日 に投稿済み

Corporate Vice President, Azure Compute

HashiConf '18 で話す機会を与えていただき、感謝しています。Mitchell、Armon、HashiCorp の有能なエンジニアと協力できることは常に素晴らしいことです。なぜなら、クラウド向けの実用的で、オープンソースのエンタープライズ対応ツールを構築することにみなが焦点を合わせているからです。このような強いビジョンとパートナーシップを念頭に置いて、昨年の HashiConf の発表以来、HashiCorp のユーザー重視のエクスペリエンスと Azure クラウドの強みを結集させ、実施してきた作業の一部についてご説明したいと思います。

当社のエンジニアリング チームは、Terraform provider for AzureRM がサポートするリソースとサービスを拡張するために協力し、HashiCorp Vault とのいくつかの新しい統合を追加してきました。この投稿では、今年のマイルストーンのいくつかを見直して、HashiCorp とのパートナーシップで成し遂げた大きな進歩に注目することが読者にとって有益だと考えました。

Azure Cloud Shell における Terraform の更新

正直なところ、Cloud Shell は Azure のなかでも私のお気に入りの機能の 1 つです。どこからでもどのデバイスからでもアクセス可能なクラウドベースのワークスペースとは、どこにいるかにかかわらず、自分のクラウド リソースを簡単に作成、監視、更新できることを意味しています。現在、Terraform は Azure Cloud Shell と緊密に統合されており、最近では Visual Studio Code をサポートするオープンソース エンジンである Monaco を搭載したグラフィカル エディターを発売しました。今日、このエディターに Terraform 構文ハイライト機能を追加したことをお知らせします。

Azure Cloud Shell における Terraform の更新

これにより、直接 Azure Cloud Shell で Terraform プラン ファイルをシームレスに編集および作成することができます。これで、Cloud Shell エディターを使用して Terraform HCL を編集する場合に、VS Code で使用できる色が増えたので、エラーや誤植などを素早く認識できます。

Azure 用の Terraform プロバイダー

Microsoft と HashiCorp のエンジニアは、新しい Azure サービス、既存サービスの新機能、新しいシナリオのサポートを構築するために、コミュニティの協力を得て取り組んできました。最終更新日以降、私たちは IaaS への投資を続けてきましたが、主に新しい Azure PaaS シナリオを実現することに集中してきました。最も重要な機能に優先順位を付けるために、私たちはお客様の声に耳を傾けてきました。

修正プログラム、フィーチャー、およびリソースが配信されるまで長い期間待つことがないように、およそ 1 週間ごとに新しい更新プログラムをリリースしています。つい最近、Terraform provider for AzureRM バージョン 1.17 が出荷されました。以下は、バージョン 1.3 以降にリリースされた新しいリソースのハイライトです。

IaaS リソース

PaaS リソース

Azure Stack 用の Terraform プロバイダー

Azure Stack は Azure の拡張版で、オンプレミスからパブリック クラウドに至るハイブリッド アプリケーションを完全に実現します。Azure Stack のユーザーは、エアギャップのあるデータ センターからハイブリッド展開までの一貫した単一 API サーフェイス領域を得ることができます。

HashiCorp と Microsoft は、Terraform の Azure Stack 管理機能を拡張して、お客様が Azure のときと同じ方法で Azure Stack でリソースを作成または管理できるようにしました。

Terraform Provider for Azure Stack は、2018 年 5 月に最初に公開され、それ以降、より多くの機能を追加するために更新されてきました。

9 月に Microsoft Ignite の次の機能が利用可能になりました。

  • Compute、Storage、および Network 成果物を作成および管理します。
  • Cloud Foundry、Kubernetes、OpenShift、Service Fabric などのオーケストレーターをインストールするために必要な、複雑なインフラストラクチャの展開を実行します。

指示に従って、すぐに Terraform スクリプトを開発し、Azure Stack をターゲットにすることができます。

Terraform モジュール

オープン ソースに関する最も驚くべきことの 1 つは、コミュニティが協力して共同作業し、仕事を共有して他のユーザーを助けるしくみです。この取り組みの中で、Terraform と Azure コミュニティは大きな進歩を遂げました。コミュニティは、Terraform に追加された Azure の新しいリソースをすべて活用し、Terraform レジストリに新しい Azure モジュールを提供しました。これにより、リソースの合計数は 3カ月前の約 45 モジュールから最大 73 モジュールになりました。

Azure での Terraform 顧客

私たちは、Terraform に既に投資している、あるいは単に Terraform を好む Azure の顧客がインフラストラクチャのプロビジョニング ツールとして使用できるように、Terraform リソースへの投資を約束しました。この取り組みの結果は素晴らしいものでした。Azure で Terraform を採用している顧客の数は、年初からほぼ 3 倍に増加しています。これは、幅広い業界において非常に大口の顧客や小口の顧客によって採用されています。

Axon は、高いデータ量、データ整合性に関する厳格な基準、およびグローバルな顧客ベースをより効率良く管理したいと考えていた顧客の 1 つです。このため、Axon は、Microsoft Azure で HashiCorp Terraform を使用し、Amazon Web Services から Axure Evidence (Evidence.com) をAzure に移行しました。

Azure Terraform リソース プロバイダー

Azure の顧客が Azure Resource Manager (ARM) を使用して、従属リソースを Azure リソース プロバイダーのように Terraform Providers でプロビジョニングし、設定するための、HashiCorp Terraform 用の新しい Azure リソース プロバイダーのプライベート プレビューがあります。

私たちは、 Terraform を使用してリソースを管理している顧客に対して Azure の優れたサポートを可能にするために、Terraform に多大な投資をしており、 HashiCorp とも密接に協力しています。私たちのもとを訪れるユーザーの多くは Terraform 専用ユーザーですが、Azure のネイティブ構成言語である ARM テンプレートに基づいて広範な構成を構築しているユーザーもいます。ARM テンプレート ユーザーは、HashiCorp との提携に先立ち、外部のツールやサービスをそれらのテンプレートに統合する際に、ジレンマに直面しました。彼らは様々なハッキーなアプローチを使用したり、Terraform で構成スタック全体を書き換えたりすることができました。Terraform プロバイダーを Azure Resource Manager テンプレートに統合することで、この問題は解決されました。ARM テンプレートのユーザーは、Terraform 用に実装された幅広いプロバイダーのエコシステムにアクセスできるようになりました。同様に、Terraform との統合作業を行ったスタートアップやサービス プロバイダーも自動的に Azure のネイティブ テンプレートと統合できます。

プライベート プレビューに登録する場合は、Azure ブログの「Azure Terraform リソース プロバイダーの紹介」を参照してください。

Azure での Vault の統合

HashiCorp Vault の Azure との統合を追加し、改善するためのアクティビティは数多く存在しました。Azure サービス プリンシパルとロールの割り当てを動的生成し、Azure Vault KMS に格納されたキーで HashiCorp Vault をアンシールする機能を備えたシークレット エンジンである、Azure Active Directory の新しい認証メソッドがリリースされました。これらの機能の概要については、可用性について通知するブログの投稿や、HashiCorp または「Azure 認証メソッド」および「Azure シークレット メソッド」 に関する詳細な説明を記録した短い紹介動画を参照してください。

Azure VM Image Builder サービス 

ユーザーは通常、事前定義されたセキュリティと構成設定、および自分が所有するアプリケーション ソフトウェアを VM に組み込みたいと考えています。ただし、独自のイメージ ビルド パイプラインを設定するには、インフラストラクチャとセットアップが必要です。Azure VM Image Builder を使用すると、ISO または Azure Marketplace イメージを使用して、わずかな手順で独自のゴールデン イメージを作成することができます。

Azure VM Image Builder を使用して以下を行えます。

  • ソースの設定: Linux ベースの Azure Marketplace VM または Red Hat Enterprise Linux (RHEL) ISO のいずれかを使用して、独自のカスタマイズを追加します。
  • カスタマイズの追加: これらは、シェル スクリプトの形で追加できます。さらに、VM Image Builder は HashiCorp Packer 上に構築されているため、既存の Packer シェル プロビジョナー スクリプトをインポートすることもできます。
  • 配布: Azure 共有イメージ ギャラリーまたは Azure 管理対象イメージのいずれかで、イメージをホストする場所を指定します。

プライベート プレビューに登録したい場合は、Azure ブログから「Azure VM Image Builderのプライベート プレビューのお知らせ」を参照してください。

Azure での Consul の統合

広く配布されたソフトウェア システムとマイクロサービス ベースのアーキテクチャへの継続的な進展には、複数の興味深い課題があります。主な課題の 1 つは、「展開されたすべてのサービスをどのように把握するか」というものです。 このような場合に、Microsoft Azure のような最新のクラウド プラットフォームに展開された HashiCorp Consul が役に立ちます。Consul はサービス検出メカニズムを提供するだけでなく、Azure にデプロイされたサービスの設定を変更したり、サービス メッシュ機能を追加したりすることができます。

一部のキーの更新:

  1. 私たちは HashiCorp と協働して、単一リージョンと複数リージョンの両方のシナリオで Azure に Consul 展開するためのクイック スタート (Terraform テンプレート) のセットを提供しています。
  2. 現在、Azure IaaS および Azure AKS 環境で Consul サービス メッシュ エージェントを展開するための一連のガイドラインが用意されています。
  3. HashiCorp は Consul の Helm テンプレートを開発しました。Helm は、Microsoft が開発およびサポートしている Kubernetes 用のオープン ソース パッケージ マネージャーです。Hashicorp によって開発された Consul 用の Helm パッケージを使用して、Kubernetes ユーザーは、例えば Azure Kubernetes Service を介して作成されたものなど、任意の Kubernetes 環境に Consul を簡単に展開することができます。

これらの機能拡張は、HashiCorp と Microsoft の強力なパートナーシップを反映するものであり、今年の HashiConf において強化している点です。過去 12 カ月間の進歩により、クラウドと DevOps のスペースにおける将来のコラボレーションと進展につながる強力な基盤が確立されました。新年を控えて、当社のエンジニアは Azure サービスにおける HashiCorp 製品との緊密な統合の実現に取り組んでいます。

2018 年 10 月 23 日にサンフランシスコにお越しいただけるなら、これらの優れたエンジニアリング更新プログラムに関する講演を HashiConf で行う予定です。そこでお会いしましょう!