Important
2028 年 9 月 30 日から、Azure Kubernetes Service (AKS) は Linux ノードで Azure Network Policy Manager (NPM) をサポートしなくなりました。 サービスの中断を回避するには、 Linux ノードを実行している AKS クラスターをサポート終了日までに NPM から Cilium ネットワーク ポリシーに移行 する必要があります。 この提供終了の詳細については、 Azure 更新プログラムの提供終了のお知らせを参照してください。 お知らせや更新情報を常に把握するには、 AKS のリリース ノートに従ってください。
影響を受けたクラスターを特定する
Azure Network Policy Manager (NPM) を使用して Linux ノード プールを含む AKS クラスターを検索するには、とagentPool.osType != "Windows"するすべての AKS クラスターを一覧表示する properties.networkProfile.networkPolicy == "azure"を実行します。
Important
2028 年 3 月 31 日以降、Azure Kubernetes Service (AKS) は kubenet ネットワークをサポートしなくなりました。 サービスの中断を回避するには、サポート終了日より前 に Azure Container Networking Interface (CNI) オーバーレイ ネットワークにアップグレード します。 この提供終了の詳細については、 廃止に関する GitHub の問題 と Azure 更新プログラムの提供終了に関する発表を参照してください。 お知らせや更新情報を常に把握するには、 AKS のリリース ノートに従ってください。
ネットワーク ポリシー エンジンをインストールし、Azure CLIまたは Terraform を使用して AKS クラスター内のポッド間のトラフィックフローを制御する Kubernetes ネットワーク ポリシーを作成します。
ネットワーク ポリシーの概要
既定では、AKS クラスター内のすべてのポッドは制限なしにトラフィックを送受信できます。 セキュリティを向上させるために、トラフィック フローを制御するルールを定義できます。
ネットワーク ポリシーは、ポッド間の通信のアクセス ポリシーを定義する Kubernetes の仕様です。 ネットワーク ポリシーを使用して、トラフィックを送受信するための順序付けされたルール セットを定義します。 1 つまたは複数のラベル セレクターに一致するポッドのコレクションにルールを適用します。
ネットワーク ポリシー規則を YAML マニフェストとして定義し、展開またはサービスを作成するより広いマニフェストに含めることができます。
AKS でのネットワーク ポリシーのオプション
Azure には、ネットワーク ポリシーを適用するための 3 つのネットワーク ポリシー エンジンが用意されています。
- Cilium ( Cilium を利用した Azure CNI を使用する AKS クラスターの場合)
- Azure ネットワーク ポリシー マネージャー (NPM)
- Calico ( Tigera によって設立されたオープンソース ネットワークとネットワーク セキュリティ ソリューション)
Kubernetes ネイティブ ポリシーの堅牢なサポート、 レイヤー 7 ポリシー や FQDN フィルタリングなどの拡張機能、 IPTables ベースのソリューションと比較してパフォーマンス、スケーラビリティ、セキュリティを向上させる eBPF ベースのデータプレーンを提供する Cilium を使用することをお勧めします。
指定したポリシーを適用するために、NPM Azureは Linux ノード用の IPTable を使用します。 ポリシーは、許可される IP ペアと許可されない IP ペアのセットに変換されます。 システムは、これらのペアをフィルター規則として IPTable プログラムします。
ネットワーク ポリシー エンジンの違い: Cilium、Azure NPM、Calico
| ネットワーク ポリシー エンジン | サポートされているプラットフォーム | サポートされているネットワーク オプション | Kubernetes 仕様のコンプライアンス | その他の機能 | Support |
|---|---|---|---|---|---|
| Cilium | Linux | Azure CNI | すべてのポリシーの種類をサポート | FQDN、L3/4、 L7 | Azure サポートとエンジニアリング チーム |
| Azure NPM | Linux | Azure CNI | すべてのポリシーの種類をサポート | N/A | Azure サポートとエンジニアリング チーム |
| Calico | Linux、Windows Server 2019、Windows Server 2022 | Azure CNI (Linux、Windows Server 2019、Windows Server 2022) と kubenet (Linux) | すべてのポリシーの種類をサポート | Calico には AKS でブロックされない機能が多数ありますが、AKS ではテストもサポートも行われません。 詳細については、 Calico ガイダンスを参照してください。 | Azure サポートとエンジニアリング チーム |
Azure ネットワーク ポリシー マネージャーの制限事項
AZURE NPM には、次の制限があります。
- 250 ノードと 20,000 ポッドを超えるスケーリングはサポートされていません。 これらの制限を超えてスケーリングしようとすると、"メモリ不足 (OOM)" エラーが発生する場合があります。 スケーラビリティと IPv6 のサポートを向上させるために、ネットワーク ポリシー エンジンに Azure CNI Powered by Cilium を使用またはアップグレードすることをお勧めします。
- IPv6 はサポートされていません。 それ以外の場合は、Linux のネットワーク ポリシー仕様を完全にサポートしています。
- 2026 年 9 月 30 日から、Azure Kubernetes Service (AKS)では、Windows ノードで Azure ネットワーク ポリシー マネージャー (NPM) がサポートされなくなります。
Azure ネットワーク ポリシー マネージャーに関する既知の問題
"十分に大きい" ネットワーク ポリシーを編集または削除する際、影響を受けるノードのポッド間での新しい接続で一時的な接続の問題が発生する場合があります。 この競合状態になっても、アクティブな接続には影響がありません。
ノードでこの競合状態になると、そのノード上の Azure NPM ポッドはセキュリティ規則を更新できない状態になり、影響を受けたノード上のポッドとの新しい接続に対して予期しない接続が発生する可能性があります。 この問題を軽減するために、Azure NPM ポッドは、この状態になってから 15 秒以内に自動的に再起動します。 影響を受けたノード上で Azure NPM が再起動している間、すべてのセキュリティ規則が削除され、すべてのネットワーク ポリシーにセキュリティ規則が再適用されます。 すべてのセキュリティ規則が再適用されている間に、影響を受けたノード上のポッドとの新しい接続に対して一時的な予期しない接続が発生する可能性があります。
この競合状態になる可能性を制限するために、ネットワーク ポリシーのサイズを小さくすることができます。 ネットワーク ポリシーに複数の ipBlock セクションがある場合、この問題が発生する可能性は高くなります。
4 つ以下のネットワーク ポリシーipBlockセクションで問題が発生する可能性は低くなります。
ロード バランサー サービスとネットワーク ポリシー
多くの場合、受信サービスと送信サービスの両方に対する Kubernetes サービス ルーティングでは、 LoadBalancer サービスからクラスターに入ってくるトラフィックを含め、処理中のトラフィックの送信元 IP と送信先 IP を書き換える必要があります。 この書き換え動作は、ネットワーク ポリシーが外部サービスとの間で送受信されるトラフィックを適切に処理しない可能性があることを意味します。 詳細については、 Kubernetes ネットワーク ポリシーのドキュメントを参照してください。
ロード バランサー サービスにトラフィックを送信できるソースを制限するには、 spec.loadBalancerSourceRanges を使用して、書き換えが行われる前に適用されるトラフィック ブロックを構成します。 詳細については、 AKS Standard ロード バランサーのドキュメントを参照してください。
開始する前に
Azure CLI バージョン 2.0.61 以降がインストールされて構成されている必要があります。
az --version コマンドを使用してバージョンを検索します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。
システム割り当て ID を使用する代わりに、ユーザー割り当て ID を使用することもできます。 詳細については、マネージド ID の使用に関するページを参照してください。
- Terraform がインストールされているバージョン 1.6 以降。
- インストールされて認証されている Azure CLI。
az --versionコマンドを使用してバージョンを検索します。 インストールまたはアップグレードする必要がある場合は、Azure CLI のインストールに関するページを参照してください。 Azure CLIを使用して、Terraform でクラスターを作成した後にクラスターに接続します。 -
kubectl がインストールされています。
az aks install-cliコマンドを使用してローカルにインストールできます。kubectlを使用して、ネットワーク ポリシーの動作を確認します。
Azure Network Policy Manager (Linux) を使用して AKS クラスターを作成する
リソース グループ名、クラスター名、および場所の環境変数を設定します。 必要に応じて値を置き換えます。
export RESOURCE_GROUP=myResourceGroup export CLUSTER_NAME=myAKSCluster export LOCATION=eastusaz group createコマンドを使用してリソース グループを作成します。az group create --resource-group $RESOURCE_GROUP --location $LOCATIONaz aks createを使用して AKS クラスターを作成し、azureとnetwork-pluginのnetwork-policyを指定します。az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --node-count 1 \ --network-plugin azure \ --network-policy azure \ --generate-ssh-keys注意事項
Linux ノード用の Azure Network Policy Manager (NPM) は、2028 年 9 月 30 日に廃止されます。 新しいデプロイでは、 Cilium によって提供される Azure CNI と Cilium ネットワーク ポリシーを使用することをお勧めします。 既存のクラスターを移行するには、「 NPM から Cilium ネットワーク ポリシーへの移行」を参照してください。
Calico を使用して AKS クラスターを作成する
az aks create コマンドを使用して AKS クラスターを作成します。
--network-plugin azure および --network-policy calico を指定します。
--network-policy calicoを指定すると、Linux ノード プールと Windows ノード プールの両方で Calico を有効にします。
Windowsノード プールをクラスターに追加する場合は、Windows Serverパスワードの要件を満たすwindows-admin-usernameパラメーターとwindows-admin-passwordパラメーターを含めます。 クラスター上のWindows Server コンテナーの管理者資格情報として使用するユーザー名を作成するには、次のコマンドを実行してユーザー名の入力を求めます。 WINDOWS_USERNAMEに設定します。
echo "Please enter the username to use as administrator credentials for Windows Server containers on your cluster: " && read WINDOWS_USERNAME
Important
現時点では、Windows ノードでの Calico ネットワーク ポリシーの使用は、Kubernetes バージョン 1.20 以降と Calico 3.17.2 を使用する新しいクラスターで使用でき、Azure CNI ネットワークを使用する必要があります。 Calico が有効になっている AKS クラスターの Windows ノードでは、フローティング IP も既定で有効になっています。
以前のバージョンの Calico で Kubernetes 1.20 を実行している、Linux ノード プールのみを含むクラスターの場合、Calico バージョンは自動的に 3.17.2 にアップグレードされます。
既存のクラスターに Azure Network Policy Manager または Calico をインストールする
Warning
既存のクラスターに Azure NPM または Calico をインストールする場合は、次の情報に注意してください。
- アップグレード プロセスにより、各ノード プールが同時に再イメージ化されます。 各ノード プールを個別にアップグレードすることはサポートされていません。
- 各ノード プール内では、ノードは標準の Kubernetes バージョンアップグレード操作と同じ再イメージ化プロセスに従います。 この動作は、ノードの再イメージ化プロセス中に実行中のアプリケーションの中断を最小限に抑えるために、バッファー ノードが一時的に追加されることを意味します。 発生する可能性のある中断は、ノード イメージのアップグレードまたは Kubernetes バージョンのアップグレード中に発生する可能性のあるものに似ています。
次の情報は、Calico を使用した kubenet から Calico を使用した Azure CNI オーバーレイへのアップグレードに適用されます。
- Calico が有効になっている kubenet クラスターでは、Calico は CNI とネットワーク ポリシー エンジンの両方として使用されます。
- Azure CNI クラスターでは、Calico は CNI としてではなく、ネットワーク ポリシーの適用にのみ使用されます。 これにより、ポッドが起動してから、Calico がポッドからの送信トラフィックを許可するまでの間に、短い遅延が発生する可能性があります。
az aks update コマンドを使用し、azure パラメーターにcalicoまたは--network-policyを指定して、既存のクラスターを更新して Azure NPM または Calico をインストールします。 次のコマンド例は、いずれかの Azure NPM をインストールする方法を示しています。
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--network-policy azure
Azure NPM または Calico を使用して既存のクラスターを Cilium にアップグレードする
Azure CNI を既に使用しているクラスターの場合は、ネットワーク データ プレーンを Cilium に更新します。 Kubenet クラスターは、最初に Azure CNI オーバーレイに移行してから、別の操作としてネットワーク データ プレーンを Cilium に更新する必要があります。 前提条件を確認し、「既存のクラスターを Cilium を使用した CNI をAzureにアップグレードする」の手順に従います。
AKS クラスターに接続する
kubectl コマンドを使用して、クラスターに接続するように az aks get-credentials を構成します。 このコマンドは、資格情報をダウンロードし、それを使用するように Kubernetes CLI を構成します。
az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
ネットワーク ポリシーのセットアップを検証する
ネットワーク ポリシーの検証を開始するために、サンプル アプリケーションを作成し、トラフィック ルールを設定します。
demoコマンドを使用してサンプル ポッドを実行するkubectl create namespaceという名前の名前空間を作成します。kubectl create namespace demoserverコマンドを使用して、TCP ポート 80 で使用するkubectl runという名前のポッドを作成します。kubectl run server -n demo --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 --labels="app=server" --port=80 --command -- /agnhost serve-hostname --tcp --http=false --port "80"clientコマンドを使用して Bash を実行するkubectl runという名前のポッドを作成します。kubectl run -it client -n demo --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 --command -- bashNote
特定のノードでクライアントまたはサーバーをスケジュールする場合は、ポッド作成
--commandコマンドのkubectl run引数の前に次のビットを追加します:--overrides='{"spec": { "nodeSelector": {"kubernetes.io/os": "linux|windows"}}}'。別のウィンドウで、
serverコマンドを使用してkubectl get podポッドの IP アドレスを取得します。kubectl get pod --output=wide -n demo出力は、次の出力例のようになります。
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES server 1/1 Running 0 30s 10.224.0.72 akswin22000001 <none> <none>
ネットワーク ポリシーを使用して接続をテストする
ヒント
ネットワーク ポリシーなしで接続をテストするには、クライアント シェルで次のコマンドを実行します: /agnhost connect <server-ip>:80 --timeout=3s --protocol=tcp。
<server-ip>をサーバー ポッドの IP アドレスに置き換えます。 接続が成功した場合は、出力がありません。
demo-policy.yamlという名前のファイルを作成し、次の YAML マニフェストを貼り付けます。apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: demo-policy namespace: demo spec: podSelector: matchLabels: app: server ingress: - from: - podSelector: matchLabels: app: client ports: - port: 80 protocol: TCPkubectl applyコマンドを使用して、ネットワーク ポリシー マニフェストを適用します。kubectl apply -f demo-policy.yamlクライアント シェルで、次の
/agnhostコマンドを使用して、サーバーとの接続を確認します。/agnhost connect <server-ip>:80 --timeout=3s --protocol=tcpトラフィックとの接続がブロックされるのは、サーバーには
app=serverというラベルが付いているけれども、クライアントにはラベルが付いていないからです。 出力は、次の出力例のようになります。TIMEOUTclientにラベルを付け、kubectl labelコマンドを使用してサーバーとの接続を確認します。kubectl label pod client -n demo app=client接続が成功した場合は、出力がありません。
セルフマネージド Calico への移行
AKS では、標準の Kubernetes ネットワーク ポリシーに対してのみ Calico がサポートされ、他の機能はテストされません。 セルフマネージド Calico に移行する場合は、 Azure マネージド Calico からセルフマネージド Calico への移行に関するページの Tigera の手順に従ってください。 Tigera のドキュメントでは、自己管理型 Calico の場合は、
Azure Network Policy Manager または Calico をアンインストールする
Note
クラスターから Azure NPM または Calico をアンインストールする場合は、次の情報に注意してください。
- アンインストール プロセスでは、Calico で使用されるカスタム リソース定義 (CRD) とカスタム リソース (CR) は 削除されません 。 これらの CRD と CR はすべて、 projectcalico.org または tigera.io で終わる名前を持っています。 Calico を正常にアンインストールした 後 、これらの CRD と関連する CR を手動で削除できます。
- アップグレードではクラスター内のネットワーク ポリシー リソースは削除されませんが、アンインストール プロセス後にポリシーは適用されなくなります。
az aks update コマンドを使用し、none パラメーターに--network-policyを指定して、既存のクラスターから Azure Network Policy Manager または Calico を削除します。
az aks update \
--resource-group $RESOURCE_GROUP \
--name $CLUSTER_NAME \
--network-policy none
クラスター ネットワーク ポリシーを変更する
次の手順では、クラスターの既存のネットワーク ポリシーを Calico に変更する方法を示します。 この手順では、ネットワーク ポリシーを none に変更してから、 calicoに変更する必要があります。
このコマンドでは、この記事で前述した変数を使用して、 Azure Network Policy Manager (Linux) を使用して AKS クラスターを作成します。 それ以外の場合は、 $RESOURCE_GROUP と $CLUSTER_NAME をクラスターのリソース グループと名前に置き換えます。
次のコマンドを実行して、クラスターの既存のネットワーク ポリシーを表示します。
az aks show \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --query "networkProfile" \ --output table次のコマンドを実行して、ネットワーク ポリシーを
noneに設定します。az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --network-policy none次のコマンドを実行して、ネットワーク ポリシーを
calicoに設定します。az aks update --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME --network-policy calico
リソースをクリーンアップする
この記事では、名前空間と 2 つのポッドを作成して、ネットワーク ポリシーを適用しました。 これらのリソースが不要になった場合は、それらを削除できます。
kubectl delete コマンドを使用してリソースを削除します。
kubectl delete namespace demo
この記事の手順に従って AKS クラスターを作成した場合は、 az group delete コマンドを使用して、 MC_で始まる名前の AKS リソース グループとその関連リソース グループを削除します。
az group delete --resource-group $RESOURCE_GROUP --no-wait --yes
Terraform を使用して Cilium ネットワーク ポリシーを使用して AKS クラスターを作成する
このセクションでは、Terraform を使用して、ネットワークとネットワーク ポリシーの適用に Azure CNI Powered by Cilium を使用する AKS クラスターをデプロイし、Kubernetes NetworkPolicy リソースを使用してポッド間トラフィックを制御する方法について説明します。
Note
このセクションのサンプル コードは、Azure Terraform GitHub リポジトリにあります。 Terraform の現在および以前のバージョンからのテスト結果を含むログ ファイルを表示できます。
Terraform を使用して Azure リソースを管理する方法を示すその他の記事とサンプル コードを参照してください。
このサンプルでは、次のものをデプロイします。
- リソース グループ。
- ネットワーク ポリシー エンジンおよびネットワーク データプレーンとして Cilium を使用Azure CNI オーバーレイ ネットワークを使用する AKS クラスター。
サンプルの Terraform コードをテストして実行するディレクトリを作成し、それを現在のディレクトリにします。
main.tfという名前のファイルを作成し、次のコードを挿入します。terraform { required_version = ">= 1.6.0" required_providers { azurerm = { source = "hashicorp/azurerm" version = "~> 4.0" } } } provider "azurerm" { features {} } resource "azurerm_resource_group" "example" { name = "rg-aks-network-policy-example" location = "eastus" } resource "azurerm_kubernetes_cluster" "example" { name = "aks-network-policy-example" location = azurerm_resource_group.example.location resource_group_name = azurerm_resource_group.example.name dns_prefix = "aksnetpolicyexample" default_node_pool { name = "default" node_count = 1 vm_size = "Standard_D2s_v3" upgrade_settings { drain_timeout_in_minutes = 0 max_surge = "10%" node_soak_duration_in_minutes = 0 } } identity { type = "SystemAssigned" } network_profile { network_plugin = "azure" network_plugin_mode = "overlay" network_policy = "cilium" network_data_plane = "cilium" load_balancer_sku = "standard" } }terraform initコマンドを実行して Terraform を初期化します。 このコマンドは、Terraform を使用して Azure リソースを管理するために必要な Azure プロバイダーをダウンロードします。terraform initterraform fmtコマンドとterraform validateコマンドを実行して、構成の書式設定と検証を行います。terraform fmt terraform validateterraform planコマンドを実行して、Terraform 実行プランを作成します。 このコマンドは、Terraform が Azure サブスクリプションで作成または変更するリソースを示します。terraform planterraform applyコマンドを実行して、Terraform 実行プランを適用します。 このコマンドは、Azure サブスクリプションのmain.tfファイルに定義されているリソースを作成します。terraform apply
Terraform を使用して AKS クラスターに接続する
az aks install-cliコマンドを実行して Kubernetes コマンド ライン ツールをインストールし、インストールを確認します。az aks install-cli kubectl version --clientaz aks get-credentialsコマンドを実行して、クラスターに接続するようにkubectlを構成します。 このコマンドは、資格情報をダウンロードし、それを使用するように Kubernetes CLI を構成します。az aks get-credentials \ --resource-group rg-aks-network-policy-example \ --name aks-network-policy-examplekubectl get nodesコマンドを実行して、クラスターが実行されていることを確認します。kubectl get nodes
Terraform を使用してネットワーク ポリシーの設定を確認する
ネットワーク ポリシーのセットアップを確認するには、サンプル アプリケーションを作成し、トラフィック ルールを設定します。
kubectl create namespaceコマンドを使用してサンプル ポッドを実行するdemoという名前の名前空間を作成します。kubectl create namespace demokubectl runコマンドを実行して、TCP ポート 80 で提供するserverという名前のポッドを作成します。kubectl run server \ -n demo \ --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 \ --labels="app=server" \ --port=80 \ --command -- /agnhost serve-hostname --tcp --http=false --port "80"kubectl runコマンドを使用して Bash を実行するclientという名前のポッドを作成します。kubectl run -it client \ -n demo \ --image=k8s.gcr.io/e2e-test-images/agnhost:2.33 \ --command -- bash別のウィンドウで、
kubectl get podコマンドを使用して、serverポッドの IP アドレスを取得します。kubectl get pod --output=wide -n demo次のセクションで
clientシェルからの接続をテストするときは、serverポッドの IP アドレスを使用します。
Terraform を使用してネットワーク ポリシーとの接続をテストする
このサンプルには、TCP ポート 80 でapp=clientラベル付けされたポッドからのみapp=serverラベル付けされたポッドへのイングレス トラフィックを許可する Kubernetes NetworkPolicy マニフェストが含まれています。
network-policy.yamlという名前のファイルを作成し、次のコードを挿入します。apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: demo-policy namespace: demo spec: podSelector: matchLabels: app: server policyTypes: - Ingress ingress: - from: - podSelector: matchLabels: app: client ports: - protocol: TCP port: 80kubectl applyコマンドを使用して、ネットワーク ポリシーを適用します。kubectl apply -f network-policy.yamlclientシェルで、次の/agnhostコマンドを使用して、サーバーへの接続をテストします。/agnhost connect <server-ip>:80 --timeout=3s --protocol=tcpサーバーに
app=serverのラベルが付けられますが、クライアントにラベルが付いていないため、接続はブロックされます。 出力は、次の出力例のようになります。TIMEOUTclientにラベルを付け、kubectl labelコマンドを使用してサーバーとの接続を確認します。kubectl label pod client -n demo app=clientclientシェルで、同じ/agnhostコマンドを使用して、サーバーへの接続をもう一度テストします。/agnhost connect <server-ip>:80 --timeout=3s --protocol=tcp接続が成功した場合は、出力がありません。
kubectl get networkpolicyコマンドとkubectl describe networkpolicyコマンドを使用して、ネットワーク ポリシーを確認します。kubectl get networkpolicy -n demo kubectl describe networkpolicy demo-policy -n demo出力は、
app=serverというラベルが付いたポッドが選択され、イングレス トラフィックが TCP ポート 80 で許可され、app=clientラベルが付いたポッドのみが接続を開始できることを示しています。
Terraform を使用してリソースをクリーンアップする
このセクションでは、名前空間、2 つのポッド、およびネットワーク ポリシーを作成しました。 これらの Kubernetes リソースが不要になった場合は、基になる Azure インフラストラクチャを削除する前に、それらを削除してください。
kubectl delete コマンドを使用してリソースを削除します。
kubectl delete namespace demo
Warning
次のコマンドは、リソース グループ、AKS クラスター、およびこのサンプル用に作成されたリソース グループに関連付けられている他のすべてのリソースを削除します。 このリソース グループ内に他のリソースをデプロイした場合も、コマンドによって削除されます。
terraform destroy コマンドを使用して、Azure リソースを削除します。
terraform destroy