Skip to content

Blog

annotation で Batfish が処理出来なかった部分を把握する

Configuration file annotation によると Batfish は読み込んだコンフィグのうち、理解出来ないものは以下の 3 種類に分類するそうです。

  1. Batfish does not understand the content of the line (unrecognized syntax)
  2. Batfish does not support the feature mentioned in the line
  3. Batfish deems that the line is irrelevant to its network model

「実際に Batfish がコンフィグをどのように処理したか?」は annotation を使うことで確認することが出来ます。 確認結果は以下の 3 パターンに分類されるそうです。

  1. UNRECOGNIZED SYNTAX
  2. PARTIALLY UNSUPPORTED
  3. SILENTLY IGNORED

今回は実際に annotation の動作を試してみます。

Terraform で JSON ファイルを扱う

Terraform を利用する際、一般的には HCL (HashiCorp Configuration Language) 形式で記載された .tf (Template File) を利用するケースをよく見かけます。 ですが、Terraform 自体は HCL = .tf ファイル以外にも JSON を扱うことも出来ます。 .tf ファイルを JSON 形式に変換するには HashiCorp 公式の hcldec を使う方法もありますが、より手軽に OSS の tmccombs/hcl2json を利用する方法もあります。 今回はこの hcl2json を利用し、HCL を JSON 形式に変換する方法をメモしておきます。 尚、今回は Ubuntu 22.04LTS 上でテストしました。

Terraform で検証用設定する際、設定名に Prefix を付与する

Terraform で検証用の AWS や GCP を設定する際、"検証用の設定" であることを分かりやすくする為、設定名に接頭辞 = Prefix を付与したい場合があります (私の場合!)。 設定毎に Prefix を付与しても良いのですが「Prefix を変更したい」といった場合に置換する手間が発生します。 こういった場合は Terraform の変数 = variable を使うことで「Prefix を変数として付与する」といった記述が可能になります。

ACI では Dynamic VLAN Pool に Infra VLAN ID を含めるとエラー

Cisco ACI では利用するポートを VLAN Pool として定義しますが、VLAN Pool に VLAN を割り当てる際は Static AllocationDynamic Allocation の、ふたつの方法があります。 一般的に「Physical Domain であれば Static AllocationVMM Domain であれば Dynamic Allocation」を利用することが多いように思います。 ですが、Static AllocationDynamic Allocation では指定可能な VLAN ID に微妙な差があるようです。 今回は ACI バージョン 6.0(1j) で検証しました。