エージェント ベースの実験用に Private Link を構成する (プレビュー)
この記事では、Azure Chaos Studio のエージェント ベースの実験 (プレビュー) 用に Azure Private Link を構成するために必要な手順について説明します。 現在のユーザー エクスペリエンスは、プライベート エンドポイント機能のパブリック プレビューの一部として有効にされたプライベート エンドポイントのサポートに基づいています。 このエクスペリエンスは、機能が一般提供 (GA) の品質に向上するのに合わせて、徐々に改善される予定です。 現在、プレビュー期間中です。
前提条件
- アクティブなサブスクリプションが含まれる Azure アカウント。 Azure サブスクリプションをお持ちでない場合は、始める前に無料アカウントを作成してください。
- 「Azure portal でエージェント ベースの障害を使用するカオス実験を作成する」の手順に従って、エージェント ベースの実験を定義します。
Note
ターゲット リソースが Azure portal を使って作成された場合、Chaos エージェント仮想マシン (VM) 拡張機能がホスト VM に自動的にインストールされています。 ターゲットが Azure CLI を使って有効にされている場合は、Chaos Studio のドキュメントに従って、最初に VM 拡張機能を VM にインストールします。 プライベート エンドポイントのセットアップが完了するまで、VM 拡張機能は異常な状態を報告します。 この動作は予期されています。
制限事項
- 2023-10-27-preview REST API を使って、エージェント ベースの実験専用のプライベート リンクを作成して使用する必要があります。 2024 年前半まで、GA 安定版 REST API では、エージェント ベースの実験用のプライベート リンクはサポートされて "いません"。
- このフローのエクスペリエンスの最初から最後までの全体を通して、何回か CLI を使う必要があります。 現在のエンド ツー エンドのエクスペリエンスを Azure portal から実行することはできません。
- Chaos Studio Private Accesses (CSPA) リソースの種類には、Chaos Target:CSPA リソース (プライベート エンドポイントの抽象化) の厳密な 1:1 マッピングがあります。 すべてのお客様にご満足いただけるよう、"1 つのサブスクリプションにつき、CSPA リソースの作成は 5 つ" までとさせていただきます。
Chaos Studio プライベート アクセス リソースを作成する
エージェント ベースのカオス実験にプライベート エンドポイントを使うには、Chaos Studio プライベート アクセスという新しいリソースの種類を作成する必要があります。 CSPA は、プライベート エンドポイントが作成される対象のリソースです。
現在、このリソースは "CLI からのみ作成" できます。 このリソースの種類を作成する方法については、次のコード例を参照してください。
az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://centraluseuap.management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>?api-version=2023-10-27-preview" --body '
{
"location": "<resourceLocation>",
"properties": {
"id": "<CSPAResourceName>",
"name": "<CSPAResourceName>",
"location": "<resourceLocation>",
"type": "Microsoft.Chaos/privateAccesses",
"resourceId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAResourceName>"
}
}'
名前 | Required | タイプ | 説明 |
---|---|---|---|
subscriptionID | True | String | Azure サブスクリプション ID を表す GUID。 |
resourceGroupName | True | String | Azure リソース グループを表す文字列。 |
CSPAResourceName | True | String | Chaos Studio プライベート アクセス リソースに指定する名前を表す文字列。 |
resourceLocation | True | String | リソースをホストする場所 (Chaos Studio でサポートされるリージョンにする必要があります)。 |
仮想ネットワーク、サブネット、プライベート エンドポイントを作成する
実験に必要な仮想ネットワーク、サブネット、エンドポイントを設定します (まだ設定していない場合)。
必ず、同じ VM の仮想ネットワークにアタッチしてください。 スクリーンショットでは、仮想ネットワーク、サブネット、プライベート エンドポイントを作成する例が示されています。 スクリーンショットのように、[リソースの種類] を Microsoft.Chaos/privateAccesses に設定する必要があります。
エージェント ホスト VM を CSPA リソースにマップする
GetTarget
呼び出しを行ってターゲット Resource ID
を見つけます。
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{parentProviderNamespace}/{parentResourceType}/{parentResourceName}/providers/Microsoft.Chaos/targets/{targetName}?api-version=2023-10-27-preview
GET
コマンドからは、大きな応答が返されます。 この応答に注意してください。 PUT Target
コマンドを実行して 2 つのリソースをマップする前に、この応答を使用および変更します。
この応答を使用して PUT Target
コマンドを呼び出します。 PUT
コマンドを実行する前に、その本文に "さらに 2 つのフィールド" を追加する必要があります。
次に示すフィールドを追加します。
"privateAccessId": "subscriptions/<subID>/...
"allowPublicAccess": false
},
PUT Target
コマンドの内容と入力する必要があるフィールドのブロックの例を次に示します。
Note
前の GET
のコマンドから本文をコピーします。 privateAccessID
および allowPublicAccess
フィールドを手動で追加する必要があります。
az rest --verbose --skip-authorization-header --header "Authorization=Bearer $accessToken" --method PUT --uri "https://management.azure.com/subscriptions/<subscriptionID>/resourceGroups/<resourceGroup>/providers/Microsoft.Compute/virtualMachines/<VMSSname>/providers/Microsoft.Chaos/targets/Microsoft-Agent?api-version=2023-10-27-preview " --body ' {
"id": "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/microsoft.compute/virtualmachines/<VMSSName>/providers/Microsoft.Chaos/targets/Microsoft-Agent",
"type": "Microsoft.Chaos/targets",
"name": "Microsoft-Agent",
"location": "<resourceLocation>",
"properties": {
"agentProfileId": "<from target resource>",
"identities": [
{
"type": "AzureManagedIdentity",
"clientId": "<clientID>",
"tenantId": "<tenantID>"
}
],
"agentTenantId": "CHAOSSTUDIO",
"privateAccessId": "subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Chaos/privateAccesses/<CSPAresourceName>",
"allowPublicAccess": false
}} '
Note
PrivateAccessID
値は、前述のセクション「Chaos Studio プライベート アクセス リソースを作成する」で CSPA リソースの作成に使用した resourceID
値と正確に一致している必要があります。
VM で Azure Chaos エージェント サービスを再起動する
ホストに必要な変更をすべて行った後、VM で Azure Chaos エージェント サービスを再起動します。
Windows
Linux
Linux の場合は、CLI から次のコマンドを実行します。
Systemctl restart azure-chaos-agent
プライベート エンドポイントを使ってエージェント ベースの実験を実行する
再起動した後、Azure Chaos エージェントはエージェント通信データ プレーン サービスと通信できるようになり、データ プレーンへのエージェントの登録が成功するはずです。 登録が成功すると、エージェントはハートビートによって状態を示すことができます。 その後、プライベート エンドポイントを使用して、Azure Chaos エージェント ベースの実験の実行に進むことができます。