Skip to content

Terraform

Terraform で IOS-XE を設定する

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.04 へ Terraform をインストールする

以前に Ubuntu 22.04LTS へ tfenv をインストールして Terraform のバージョンを管理する というメモを書きました。 今回は敢えて tfenv は使わずに Terraform を Linux へインストールする手順をメモしておきます。 Linux は Ubuntu 22.04 LTS を利用しました。

Terraform は Go 言語で実装されており、シングルバイナリ (ひとつのファイルだけで) 配布されている為、インストールは非常に簡単です。 具体的には 公式サイトのダウンロードページ からダウンロードし、パスの通った位置へ配置するだけです。 圧縮ファイルから展開した時点でパーミッションも設定されていました。

Terraform でカーネル 5.10 対応 Amazon Linux2 (ARM) をデプロイする

以前に以下のメモを書きました。

Amazon Linux 2 AMI が、カーネル 5.10 で利用可能に で言及されているますが、カーネル 5.10 に対応した Amazon Linux2 がリリースされています。 この最新 Amazon Linux2 を EC2 にデプロイする Terraform 用の .tf ファイルをメモしておきます。

Terraform で GCP 上に VPC / Subnet / Instance を作成する

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 の余剰のキャパシティを利用する機能であり、使用できるかどうかは利用状況に応じて異なります。

Terraform で ACI 上に L3out/OSPF の Tenant を作成する (2021/09/01 版)

以前に以下のメモを書きました。

今回は上記を整理し、以下の方針で .tf ファイルを書き直しました。

  • 通信制御 (Contract) は以下の方針とする
    • VRF は Policy Control Enforcement PreferenceEnforced を設定する (デフォルト値)
    • L3Out 〜 EPG 間の通信は Standard Contract を利用する
  • L3Out は以下の方針とする
    • L3Out では OSPF を設定する
    • OSPF Network Type は Point-to-Point を設定する
  • L3Out からの BD Subnet 広報は以下の設定を利用する
    • BD で Associated L3Out を設定する
    • BD Subnet Scope を Advertised Externally に設定する