この記事は、Developer Experience の Developer Advocate – Meraki & CMX である Matt DeNapoli によるブログ「How to Leverage Cisco Intersight Service for HashiCorp Terraform」(2021/4/7)の抄訳です。
このブログの著者は、シスコ DevNet クラウドプログラマビリティ デベロッパーアドボケートである Pat Janakiram です。
Infrastructure As Code の手法を採用する時期の到来
今後3〜5年の間に、5億件ものアプリケーションがオンライン化すると予測されている中、企業の I&O (インフラストラクチャと運用) 部門には、もはやプログラマブルインフラストラクチャ (PI) に移行する以外の選択肢はありません。この ClickOps や ITIL から PI への移行は、I&O 部門がアプリケーション開発者のペースに合わせて、クラウドネイティブアプリケーションを迅速に配信するためには不可欠です。PI を実現しようとしている企業の I&O 部門は、レガシーな ClickOps や ITIL (従来の I&O サービスマネジメントのライフサイクル) の手法を置き換えることの重要性を認識しています。Infrastructure As Code の手法を採用することで、I&O 部門はインフラストラクチャサービスの配信を別のソフトウェアプロジェクトとして捉え、アプリケーション開発者と同じベストプラクティスを活用することが可能になります。
IaC を実現する HashiCorp の Terraform
市場には無数の Infrastructure As Code (IaC) ツールが溢れていますが、HashiCorp の Terraform ソリューションが広く採用されているのは、主にクラウドに依存せず、拡張性があり、API をサポートするほぼすべてのソリューションに対応しているためです。Terraform プロバイダーのカタログは急速に増加しており、現在では約800社、約5,000件のモジュールがあり、企業の I&O 部門がインフラストラクチャサービスのオーケストレーションに活用することができます。
IaC に Terraform を採用している企業の多くは、HashiCorp のオープンソース製品である Terraform OSS を活用しています。そして、多くのオープンソース製品と同様に、これらの実装には、製品を 「エンタープライズ対応」 にするための特注の複雑なスキャフォールド (足場) が必要になることが多々あります。
しかし、アクセス制御、状態管理、CI/CD パイプラインとのネイティブ統合を備えた Terraform Cloud Business を使うことで、I&O 部門はカスタマイズしたスキャフォールドを必要とすることなく、より簡単に IaC を採用することができます。たとえば、Terraform Cloud Business が提供する機能の中で、オープンソース製品に欠けているものは以下のとおりです。
- チーム管理とガバナンス
- 高度なセキュリティ、コンプライアンス、ガバナンス (SSO と監査)
- パフォーマンス、拡張性、リモート接続 (クラウドエージェント)
- Policy As Code エンジンの機密管理とアクセス
Cisco Intersight Service for HashiCorp Terraform (IST)
Intersight Service for HashiCorp Terraform (IST) は、シスコと HashiCorp が共同で発表した新しい Intersight サービスです。IST は、Intersight (IS) と Terraform Cloud Business (TFCB) という2つの主力製品を1つのエンドツーエンドのハイブリッドクラウド IaC ソリューションに統合したものです。プライベートデータセンターに Cisco Intersight Assist と HashiCorp Terraform Cloud エージェントを統合することで、オンプレミス環境における安全な接続と設定という課題に対処します。このような密結合により、I&O 部門はハイブリッドクラウドの運用を大幅に簡素化することができます。
次に、IST を使って vSphere インフラストラクチャに VM をデプロイするユースケースを見てみましょう。ここでは、TF Cloud UI (ClickOps) を使用したプロビジョニングについて説明します。次回以降のブログでは、同じプロビジョニングを取り上げ、Intersight API を使用したエンドツーエンドのプログラマビリティを紹介しますのでお見逃しなく。
ぜひご自分で試してください。ハンズオンラボで、最初のユースケースを見る。
以下のケースでは、ターゲットを作成する権限を持つ Intersight アカウントと、ワークスペースを作成して TF Run をプラン / デプロイする権限を持つ TFCB アカウントを持っていることを前提としています。また、TFCB Cloud Agent と共に Intersight Assist をインストールし、オンプレミスの vSphere 導入環境に接続する必要があります。
IST を活用した最初のインフラストラクチャサービスをプロビジョニングする手順は次のとおりです。
- TFCB にワークスペースをセットアップする (VM プロビジョニング用の Terraform HCL を含む VCS への接続、vSphere アクセス用の変数の設定、オンプレミスでの TFCB クラウドエージェントへの接続)
- プライベートデータセンターに対する Intersight Targets の設定 (Intersight Assist、Terraform Cloud Agent、Terraform Cloud)
- TFCB の VM をプロビジョニングするために、Terraform のプランとデプロイを実行する
TFCB にワークスペースを設定する (https://app.terraform.io/)
プライベートデータセンターに Intersight Targets を設定する
VM をプロビジョニングするために Terraform Run を実行する
内部のインタラクション
以下に、VM などのプライベートクラウドリソースを簡単に、そして安全にプロビジョニングする際の、Intersight と TFCB の統合による付加価値について説明します。このインタラクションは一目瞭然ですが、リモートの TFCB クラウドエージェントと TFCB 間に安全なチャネルを提供する際の Intersight Assist の役割に焦点を当てています。
その他の資料
- シスコの IaC ツール、ラーニングラボ、Sandbox について知る
- VM プロビジョニング Terraform 構成ファイル用の GitHub リポジトリ
- vSphere Terraform プロバイダー
- Sandbox のサンプル
ぜひご意見をお聞かせください。ご質問やご意見は下記にお寄せください。
また、Cisco DevNet のソーシャルネットワークにも参加してください。
Twitter@CiscoDevNet | Facebook | LinkedIn
新しいDeveloper Video Channelを見る