Azure Chaos Studio での仮想ネットワーク インジェクション
Azure Virtual Network は、Azure のプライベート ネットワークの基本的な構成要素です。 仮想ネットワークを使用すると、さまざまな種類の Azure リソースが互いに、インターネット、オンプレミス ネットワークと安全に通信できるようになります。 仮想ネットワークは、自社のデータセンターで動作している従来のネットワークに似ています。 スケール、可用性、分離など、Azure のインフラストラクチャの他のベネフィットをもたらします。
仮想ネットワーク インジェクションを使用すると、Azure Chaos Studio リソース プロバイダーがコンテナー化されたワークロードを仮想ネットワークに挿入できるため、パブリック エンドポイントのないリソースに仮想ネットワーク上のプライベート IP アドレスを介してアクセスできます。 仮想ネットワーク内のリソースの仮想ネットワーク インジェクションを構成し、そのリソースをターゲットとして有効にしたら、複数の実験で使用できます。 この記事の手順に従ってプライベート リソースが構成されている場合、実験はプライベート リソースと非プライベート リソースの組み合わせを対象にすることができます。
また、Chaos Studio がプライベート エンドポイントを使用してエージェントベースの実験の実行をサポートしていることをお知らせします。 Chaos Studio では、 サービスダイレクトとエージェントベースの実験の両方で、Private Link がサポートされるようになりました。 エージェントベースの実験に Private-Link を使用する場合は、CSA にお問い合わせるか、「操作方法: エージェントベースの実験のプライベート リンクを設定する」にアクセスしてください。 サービスダイレクトのプライベート リンクの障害については、次のセクションで使用する手順を参照してください。
リソースの種類のサポート
現時点では、Chaos Studio 仮想ネットワーク インジェクションに対して有効にできるのは、特定のリソースの種類のみです:
- Azure Kubernetes Service (AKS) ターゲットは、Azure portal と Azure CLI を介して仮想ネットワークの挿入を使用して有効にすることができます。 AKS Chaos Mesh のすべてのエラーを使用できます。
- Azure Key Vault ターゲットは、Azure CLI を使用して仮想ネットワーク インジェクションを使用して有効にすることができます。 仮想ネットワークの挿入で使用できるエラーは、証明書の無効化、証明書のバージョンの増分、および証明書ポリシーの更新です。
仮想ネットワーク インジェクションを有効にする
仮想ネットワークの挿入で Chaos Studio を使用するには、次の要件を満たす必要があります。
Microsoft.ContainerInstance
およびMicrosoft.Relay
リソース プロバイダーをサブスクリプションに登録する必要があります。- Chaos Studio リソースが挿入される仮想ネットワークには、コンテナー サブネットとリレー サブネットの 2 つのサブネットが必要です。 コンテナー サブネットは、プライベート ネットワークにインジェクトされる Chaos Studio コンテナーに使用されます。 リレー サブネットは、Chaos Studio からプライベート ネットワーク内のコンテナーに通信を転送するために使用されます。
- どちらのサブネットも、アドレス空間のサイズに少なくとも
/28
が必要です (例えばこの場合では、/27
は/28
より大きい)。 たとえば、10.0.0.0/28
または10.0.0.0/24
のアドレス プレフィックスです。 - コンテナー サブネットは、
Microsoft.ContainerInstance/containerGroups
に委任する必要があります。 - サブネットには任意の名前を付けることができますが、
ChaosStudioContainerSubnet
とChaosStudioRelaySubnet
にすることをお勧めします。
- どちらのサブネットも、アドレス空間のサイズに少なくとも
- Chaos Studio の実験で使用できるように目的のリソースをターゲットとして有効にする場合は、次のプロパティを設定する必要があります:
properties.subnets.containerSubnetId
をコンテナー サブネットの ID に設定します。properties.subnets.relaySubnetId
をリレー サブネットの ID に設定します。
Azure portal を使用してプライベート リソースを Chaos Studio ターゲットとして有効にしている場合、Chaos Studio では現在、ChaosStudioContainerSubnet
および ChaosStudioRelaySubnet
という名前のサブネットのみが認識されます。 これらのサブネットが存在しない場合は、ポータル ワークフローで自動的に作成できます。
CLI を使用している場合、コンテナーとリレーのサブネットには任意の名前を付けることができます (リソースの名前付けガイドラインに従います)。 リソースをターゲットとして有効にする場合は、適切な ID を指定します。
例: プライベート AKS クラスターで Chaos Studio を使用する
この例では、Chaos Studio で使用するプライベート AKS クラスターを構成する方法を示します。 Azure サブスクリプション内にプライベート AKS クラスターが既に存在することを前提としています。 作成するには、「プライベート Azure Kubernetes Service クラスターを作成する」を参照してください。
Azure portal で、お使いのサブスクリプションで、[サブスクリプション] > [リソース プロバイダー] に移動します。
Microsoft.ContainerInstance
とMicrosoft.Relay
リソース プロバイダーを登録します (まだ登録されていない場合)。その場合は、プロバイダーを選択し、[登録] を選択します。Microsoft.Chaos
リソース プロバイダーを登録します。Chaos Studio に移動し、[ターゲット] 選択します。 目的の AKS クラスターを見つけて、[ターゲットの有効化] > [サービスダイレクト ターゲットを有効にする] を選択します。
クラスターの仮想ネットワークを選択します。 仮想ネットワークに
ChaosStudioContainerSubnet
およびChaosStudioRelaySubnet
という名前のサブネットが既に含まれている場合は、それらを選択します。 まだ存在しない場合は、自動的に作成されます。[確認と有効化]>[有効化] を選択します。
Chaos Studio でプライベート AKS クラスターを使用できるようになりました。 Chaos Mesh をインストールして実験を実行する方法については、「Azure portal で Chaos Mesh エラーを使用するカオス実験を作成する」を参照してください。
制限事項
- 現時点では、仮想ネットワーク インジェクションは、Azure Container Instances と Azure Relay が利用可能なサブスクリプション/リージョンでのみ可能になります。
- 仮想ネットワーク インジェクションで有効にするターゲット リソースを作成する場合は、仮想ネットワークへの
Microsoft.Network/virtualNetworks/subnets/write
アクセス権が必要です。 たとえば、AKS クラスターが仮想ネットワーク_Aにデプロイされている場合、AKS クラスターの仮想ネットワーク インジェクションを有効にするには、仮想ネットワーク_Aにサブネットを作成するアクセス許可が必要です。
次のステップ
Chaos Studio で仮想ネットワーク インジェクションを実現する方法を理解したら、次の段階に進みましょう: