クイックスタート: Azure Event Grid を使用して Azure Kubernetes Service (AKS) イベントにサブスクライブする

Azure Event Grid は、パブリッシュ/サブスクライブ モデルを使用した画一的なイベント使用を提供する、完全に管理されたイベント ルーティング サービスです。

このクイックスタートでは、AKS クラスターを作成し、AKS イベントをサブスクライブします。

前提条件

注意

特に EventGrid 通知に関する問題がある場合でも (サービスの停止に関するページで確認できます)、AKS 操作は影響を受けず、Event Grid の停止とは無関係であることに注意してください。

AKS クラスターを作成する

az aks create コマンドを使用して、AKS クラスターを作成します。 次の例では、リソース グループ MyResourceGroup と、1 つのノードを持つ MyResourceGroup リソース グループ内の MyAKS という名前のクラスターを作成します。

az group create --name MyResourceGroup --location eastus
az aks create -g MyResourceGroup -n MyAKS --location eastus  --node-count 1 --generate-ssh-keys

AKS イベントをサブスクライブする

az eventhubs namespace createaz eventhubs eventhub create を使用して、名前空間とイベント ハブを作成します。 次の例では、名前空間 MyNamespace と、MyNamespace 内のイベント ハブ MyEventGridHub を、いずれも MyResourceGroup リソース グループ内に作成します。

az eventhubs namespace create --location eastus --name MyNamespace -g MyResourceGroup
az eventhubs eventhub create --name MyEventGridHub --namespace-name MyNamespace -g MyResourceGroup

Note

名前空間の名前は一意である必要があります。

az eventgrid event-subscription create を使用して AKS イベントをサブスクライブします。

SOURCE_RESOURCE_ID=$(az aks show -g MyResourceGroup -n MyAKS --query id --output tsv)
ENDPOINT=$(az eventhubs eventhub show -g MyResourceGroup -n MyEventGridHub --namespace-name MyNamespace --query id --output tsv)
az eventgrid event-subscription create --name MyEventGridSubscription \
--source-resource-id $SOURCE_RESOURCE_ID \
--endpoint-type eventhub \
--endpoint $ENDPOINT

az eventgrid event-subscription list を使用して AKS イベントへのサブスクリプションを確認します。

az eventgrid event-subscription list --source-resource-id $SOURCE_RESOURCE_ID

次の出力例は、MyAKS クラスターからのイベントをサブスクライブし、それらのイベントが MyEventGridHub イベント ハブに配信されるのを示しています。

[
  {
    "deadLetterDestination": null,
    "deadLetterWithResourceIdentity": null,
    "deliveryWithResourceIdentity": null,
    "destination": {
      "deliveryAttributeMappings": null,
      "endpointType": "EventHub",
      "resourceId": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/MyResourceGroup/providers/Microsoft.EventHub/namespaces/MyNamespace/eventhubs/MyEventGridHub"
    },
    "eventDeliverySchema": "EventGridSchema",
    "expirationTimeUtc": null,
    "filter": {
      "advancedFilters": null,
      "enableAdvancedFilteringOnArrays": null,
      "includedEventTypes": [
        "Microsoft.ContainerService.NewKubernetesVersionAvailable","Microsoft.ContainerService.ClusterSupportEnded","Microsoft.ContainerService.ClusterSupportEnding","Microsoft.ContainerService.NodePoolRollingFailed","Microsoft.ContainerService.NodePoolRollingStarted","Microsoft.ContainerService.NodePoolRollingSucceeded"
      ],
      "isSubjectCaseSensitive": null,
      "subjectBeginsWith": "",
      "subjectEndsWith": ""
    },
    "id": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/MyResourceGroup/providers/Microsoft.ContainerService/managedClusters/MyAKS/providers/Microsoft.EventGrid/eventSubscriptions/MyEventGridSubscription",
    "labels": null,
    "name": "MyEventGridSubscription",
    "provisioningState": "Succeeded",
    "resourceGroup": "MyResourceGroup",
    "retryPolicy": {
      "eventTimeToLiveInMinutes": 1440,
      "maxDeliveryAttempts": 30
    },
    "systemData": null,
    "topic": "/subscriptions/SUBSCRIPTION_ID/resourceGroups/MyResourceGroup/providers/microsoft.containerservice/managedclusters/MyAKS",
    "type": "Microsoft.EventGrid/eventSubscriptions"
  }
]

AKS イベントが発生すると、イベント ハブにそれらのイベントが表示されます。 たとえば、クラスターに対して利用できる Kubernetes バージョンの一覧が変更された場合、Microsoft.ContainerService.NewKubernetesVersionAvailable イベントが表示されます。 また、サポート内ではアップグレードとクラスターで利用できる新しいイベントも示されるようにもなっています。 AKS によって出力されるイベントの詳細については、「Event Grid ソースとしての Azure Kubernetes Service (AKS)」を参照してください。

クラスターとサブスクリプションを削除する

az group delete コマンドを使用して、リソース グループ、AKS クラスター、名前空間、イベント ハブ、およびすべての関連リソースを削除します。

az group delete --name MyResourceGroup --yes --no-wait

Note

クラスターを削除したとき、AKS クラスターで使用される Microsoft Entra サービス プリンシパルは削除されません。 サービス プリンシパルを削除する手順については、AKS のサービス プリンシパルに関する考慮事項と削除に関するページを参照してください。

マネージド ID を使用した場合、ID はプラットフォームによって管理されるので、削除する必要はありません。

次のステップ

このクイックスタートでは、Kubernetes クラスターをデプロイし、Azure Event Hubs で AKS イベントをサブスクライブしました。

AKS の詳細を参照し、デプロイの例の完全なコードを確認するには、Kubernetes クラスター チュートリアルに進んでください。