このリポジトリは、Microsoft Japan Digital Days 2021 セッション M08 "あなたの知らないAzureインフラの世界" の検証環境構築コード、テストコード、結果データを公開しています。
以下3つの検証シナリオについて、コードと結果データを公開しています。
- Windows Subsystem for Linux
- Ubuntu 20.04.3 LTS
- VMへのsshとprovisioner向けに、キーペアを事前作成
- ~/.ssh/id_rsa
- ~/.ssh/id_rsa.pub
- Terraform: 1.0.5
- hashicorp/azurerm: 2.73
- Packer: 1.7.4
- 最上位ディレクトリで、Terraformのセットアップ(init)と環境構築(plan、apply)を行う
- apply時に、各VMのパブリック/プライベートIPが標準出力へ出力される
- 任意のVMにsshし、ethrコマンドでレイテンシを確認
- 結果データ: results
- 検証後は削除(terraform destroy)を忘れずに
- 最上位ディレクトリで、Terraformのセットアップ(init)を行う
- imageディレクトリでカスタムイメージを作成
- Packerでイメージ作成
- 参考定義ファイル: ubuntu-vanilla.pkr.hcl
- 変数 "subscription_id" を指定
- Terraformで共有イメージギャラリーへ登録
- 参考定義ファイル: locals.tf
- 変数 "publisher_name" を指定
- Packerでイメージ作成
- scriptsディレクトリで、検証スクリプトを編集、実行
- 検証スクリプトの変数 "SERIES"に、シリーズ番号を指定
- results/シリーズ番号 ディレクトリに、結果データが出力される
- すでに結果データがあるため、実行の際には既存の結果データを削除するか、他のシリーズ番号を指定
- 変数 "NUM_ATTEMPT" で指定した回数だけ、Terraformで全VMの作成と削除が行われ、結果データが出力される
- 検証スクリプトの変数 "SERIES"に、シリーズ番号を指定
- 結果データ: results
- 最上位ディレクトリで、Terraformのセットアップ(init)と環境構築(plan、apply)を行う
- apply時に、各VMのパブリック/プライベートIPが標準出力へ出力される
- 任意のVMにsshし、ethrによるレイテンシ検証と疑似障害注入を行う
- ethrの利用法はレイテンシ検証と同様
- NSGルールの注入と削除は、locals.tf を編集し、applyする
- Terraformの実行環境はssh先のVMではないので注意
- TCサンプルスクリプト: scripts
- VMセットアップ時にVMへコピーされている
- qdisc設定のリセットは、reset-qdisc.shを参考に
- BPF Compiler Collectionはセットアップ済み
- セットアップに数分かかるので注意
- ツールは /usr/share/bcc/tools/ に配置
- 検証後は削除(terraform destroy)を忘れずに