Terraform で ACI に vzAny を設定する
Terraform を使い、ACI で vzAny を設定する .tf ファイル例をメモしておきます。 以下の環境で動作確認しました。
- ACI 6.0(1g)
- Terraform 1.2.9
- ACI Provider 2.5.2
Terraform を使い、ACI で vzAny を設定する .tf ファイル例をメモしておきます。 以下の環境で動作確認しました。
ThousandEyes 用の Terraform Provider は thousandeyes で公開されています。 他にも ThousandEyes 公式ブログの記事 Announcing the ThousandEyes Terraform Provider でも言及されています。 今回は Terraform で ThousandEyes を設定する具体的な手順をメモしておきます。
Story DeWeese さんの記事ですが、しばらく前に Automation with Any Tooling on Any Interface が公開されています。
Story DeWeese さんは YouTube でも Cisco IOS XE Terraform provider introduction and demo という「Terraform で IOS-XE を操作する」という動画を公開してくださっています。
IOS-XE 用の Provider は Cisco IOS XE Provider で公開されています。 今回はこの Provider の基本的な使い方をメモしておきます。 Terraform は 1.2.7 を利用しました。
以前に Ubuntu 22.04LTS へ tfenv をインストールして Terraform のバージョンを管理する というメモを書きました。 今回は敢えて tfenv は使わずに Terraform を Linux へインストールする手順をメモしておきます。 Linux は Ubuntu 22.04 LTS を利用しました。
Terraform は Go 言語で実装されており、シングルバイナリ (ひとつのファイルだけで) 配布されている為、インストールは非常に簡単です。 具体的には 公式サイトのダウンロードページ からダウンロードし、パスの通った位置へ配置するだけです。 圧縮ファイルから展開した時点でパーミッションも設定されていました。
Cisco ASA を Terraform から設定する際には Cisco ASA Provider を利用します。 ASA に Object を作成する際の .tf ファイルサンプルをメモしておきます。 Terraform はバージョン 1.2.2 を、Cisco ASA Provider はバージョン 1.3.0 を利用しました。
以前に mac に tfenv で Terraform をインストールし ACI 上に Tenant を作成する というメモを書きましたが、Terraform 本体のバージョン管理を行いたい場合、tfenv が便利です。 今回は Ubuntu 22.04LTS へ tfenv をインストールする手順をメモしておきます。
以前に以下のメモを書きました。
Amazon Linux 2 AMI が、カーネル 5.10 で利用可能に で言及されているますが、カーネル 5.10 に対応した Amazon Linux2 がリリースされています。 この最新 Amazon Linux2 を EC2 にデプロイする Terraform 用の .tf ファイルをメモしておきます。
Terraform の GCP 用 Provider を使って、VPC / Subnet / Compute Instance を作成する .tf ファイルをメモしておきます。
google_compute_instance にも Google recommends custom service accounts that have cloud-platform scope and permissions granted via IAM Roles.
と書かれていますので、Service Account を紐付けています。
尚、検証用に作成している為、作成する Instance は preemptible にしています。 preemptible については プリエンプティブル VM インスタンス に詳しく、一部を抜粋すると下記のように書かれています。
プリエンプティブル VM は、通常のインスタンスよりはるかに低価格で作成、実行できるインスタンスです。ただし、他のタスクがリソースへのアクセスを必要とする場合、Compute Engine がこのインスタンスを停止(プリエンプト)する可能性があります。プリエンプティブル インスタンスは Compute Engine の余剰のキャパシティを利用する機能であり、使用できるかどうかは利用状況に応じて異なります。
以前に以下のメモを書きました。
今回は上記を整理し、以下の方針で .tf ファイルを書き直しました。
Policy Control Enforcement Preference
は Enforced
を設定する (デフォルト値)Associated L3Out
を設定するAdvertised Externally
に設定する