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 を使用するには、次の要件を満たす必要があります。

  1. Microsoft.ContainerInstance および Microsoft.Relay リソース プロバイダーをサブスクリプションに登録する必要があります。
  2. Chaos Studio リソースが挿入される仮想ネットワークには、コンテナー サブネットとリレー サブネットの 2 つのサブネットが必要です。 コンテナー サブネットは、プライベート ネットワークにインジェクトされる Chaos Studio コンテナーに使用されます。 リレー サブネットは、Chaos Studio からプライベート ネットワーク内のコンテナーに通信を転送するために使用されます。
    1. どちらのサブネットも、少なくとも /28 アドレス空間のサイズを必要とします (この場合 /27 は、たとえば、より大きいサイズ /28です)。 たとえば、10.0.0.0/28 または 10.0.0.0/24 のアドレス プレフィックスです。
    2. コンテナー サブネットは、 Microsoft.ContainerInstance/containerGroupsに委任する必要があります。
    3. サブネットには任意の名前を付けることができますが、ChaosStudioContainerSubnetChaosStudioRelaySubnet にすることをお勧めします。
  3. Chaos Studio の実験で使用できるように目的のリソースをターゲットとして有効にする場合は、次のプロパティを設定する必要があります:
    1. properties.subnets.containerSubnetId をコンテナー サブネットの ID に設定します。
    2. 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 クラスターを作成する」を参照してください。

  1. Azure portal で、お使いのサブスクリプションで、[サブスクリプション]>[リソース プロバイダー] に移動します。

  2. Microsoft.ContainerInstanceMicrosoft.Relay リソース プロバイダーを登録します (まだ登録されていない場合)。その場合は、プロバイダーを選択し、[登録] を選択します。 Microsoft.Chaos リソース プロバイダーを登録します。

    Screenshot that shows how to register a resource provider.

  3. Chaos Studio に移動し、[ターゲット] 選択します。 目的の AKS クラスターを見つけて、[ターゲットの有効化]>[サービスダイレクト ターゲットを有効にする] を選択します。

    Screenshot that shows how to enable targets in Chaos Studio.

  4. クラスターの仮想ネットワークを選択します。 仮想ネットワークに ChaosStudioContainerSubnet および ChaosStudioRelaySubnet という名前のサブネットが既に含まれている場合は、それらを選択します。 まだ存在しない場合は、自動的に作成されます。

    Screenshot that shows how to select the virtual network and subnets.

  5. [確認と有効化]>[有効化] を選択します。

    Screenshot that shows how to review the target enablement.

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 で仮想ネットワーク インジェクションを実現する方法を理解したら、次の段階に進みましょう: