すべてのプロダクト
Search
ドキュメントセンター

EventBridge:カスタムイベントソースとしての API Gateway

最終更新日:Jun 22, 2026

このトピックでは、EventBridge コンソールで API Gateway をカスタムイベントソースとして追加する方法について説明します。

前提条件

ステップ 1:バックエンドサービスの作成

  1. API Gateway コンソールにログインします。左側のナビゲーションウィンドウで、[Manage APIs] > Backend Services を選択します。

  2. [バックエンドサービス] ページで、右上隅の [バックエンドサービスの作成] をクリックします。ダイアログボックスで、バックエンドサービス名を入力し、Type として EventBridge を選択し、OK をクリックします。

  3. バックエンドサービスリストで、作成したバックエンドサービスを見つけ、Actions 列の [設定と API の関連付け] をクリックします。

  4. [バックエンドサービス定義] ページで [プロダクション] タブをクリックし、Basic Information セクションで Create をクリックします。

  5. [バックエンドサービスの定義] ページで、作成したカスタムイベントバスの リージョンイベントバス を選択し、イベントソースの名前と説明を設定してから、[公開] をクリックします。

ステップ 2:API グループの作成

  1. 左側のナビゲーションウィンドウで、[Manage APIs] > [API Groups] を選択します。

  2. [API Groups] ページで、右上の [Create Group] をクリックします。インスタンスを選択し、[Group Name] を設定してから、OK をクリックします。

    インスタンスタイプとして [Shared Instance (VPC)] を選択し、[BasePath]/ に設定します。

    重要

    API グループは、作成したカスタムイベントバスと同じリージョンにある必要があります。

ステップ 3:API の作成と権限付与

  1. [API グループ] ページで、ステップ 2 で作成した API グループを見つけ、Actions 列の API Management をクリックします。

  2. APIs ページで、Create API をクリックします。

    1. Basic Information ウィザードステップで、以下の設定を行い、Next をクリックします。

      [Group] (例:test_EB)、[API Name] (例:testAPI)、[Security Authentication] (例:[Alibaba Cloud APP] を選択)、[AppCode Authentication] (例:[Allow AppCode Authentication (Header & Query)] を選択)、[Signature Algorithm] (例:[HMAC_SHA256] を選択) などのパラメーターを設定します。主要な設定は [API Name][Security Authentication][AppCode Authentication] です。また、[API Options] (リプレイ攻撃の防止、パブリックアクセスの無効化、Cloud Marketplace への掲載許可など) を選択し、[Description] を入力することもできます。完了したら、[Next] をクリックします。

    2. [Define API Request] ウィザードステップで、次の設定を行い、Next をクリックします。

      [Protocol] は HTTP と HTTPS を選択します。[Request Path] には /test/eb/1 を入力し、[Match all sub-paths] を選択します。[HTTP Method][GET] を選択します。[Request Mode][Pass-through] を選択します。

      説明

      このステップでは、EventBridge が API を呼び出す方法を定義します。リクエストタイプ、プロトコル、リクエストパス、HTTP メソッド、リクエストモード、およびリクエストパラメーターの定義を指定する必要があります。

    3. [Define API Backend Service] ウィザードステップで、[Backend Service Type]Backend Services を選択し、Next をクリックします。

      この例では、[Backend Service Type][EventBridge] に、[Backend Service]test_eb に設定し、デフォルトの [Backend Timeout] である 10000 ms を使用します。

    4. (オプション) [Define Response] ウィザードステップで、レスポンスの例とエラーレスポンスの例を設定して API ドキュメントを生成し、Create をクリックします。

  3. API を作成した後、Actions 列の [公開] をクリックして、本番環境に公開します。

  4. APIs ページで、対象 API の [Actions] 列にある image アイコンをクリックし、Grant をクリックします。

  5. Grant パネルで、権限の有効期間を設定し、権限を付与するアプリケーションを追加してから、OK をクリックします。

    権限を付与する環境 ([Production][Staging]、または [Test]) と、[Authorization valid for] セクションで有効期間を選択します。次に、対象のアプリケーションを検索し、結果リストから [+ Add] をクリックしてアプリケーションを追加します。

ステップ 4:API のデバッグ

  1. APIs ページで、ステップ 3: API の作成と承認で作成した API を探し、Actions 列で [デバッグ] をクリックします。

  2. デバッグ環境を [Production] に、検証方法[AppCode を使用] に設定し、リクエストパラメーターを設定してから[リクエストを送信] をクリックします。

イベントの詳細

  1. EventBridge コンソールにログインします。左側のナビゲーションウィンドウで、[Event Bus] をクリックします。

  2. [Event Bus] ページで、対象のカスタムイベントバスの名前をクリックします。

  3. 左側のナビゲーションウィンドウで、イベントトレース をクリックします。クエリメソッドとして [Query By Time Range] または イベント ID で照会 を選択し、照会 をクリックします。

  4. 対象のイベント ID を見つけ、Actions 列の イベント詳細 をクリックします。

    イベントの詳細の例を次に示します。

    {
        "datacontenttype": "application/json",
        "aliyunaccountid": "1431999136******",
        "data": {
            "headers": {
                "Authorization": "APPCODE 0624849af6ab4020a272fe9f7b******",
                "Proxy-Uid": "X-Ca-e605e437-b65d-4e52-9f8c-515c55******",
                "X-Ca-Stage": "RELEASE",
                "User-Agent": "Apache-HttpClient/4.5.6 (Java/1.8.0_172)",
                "Accept-Encoding": "gzip,deflate",
                "Content-Type": "text/html"
            },
            "path": "/test/eb/1",
            "pathParameters": {},
            "method": "GET",
            "queryParameters": {},
            "body": ""
        },
        "aliyunoriginalaccountid": "143199913******",
        "source": "time-source-ad2a0405-9a2a-4f86-87f1-c0ef89******",
        "type": "eventbridge:Events:ApiGateway",
        "aliyunpublishtime": "2024-11-14T07:11:33.287Z",
        "specversion": "1.0",
        "aliyuneventbusname": "ad2a0405-9a2a-4f86-87f1-c0ef89******",
        "id": "324213ab-cae5-4049-89a4-560ead******",
        "time": "2024-11-14T07:11:33.000Z",
        "aliyunregionid": "cn-hangzhou",
        "aliyunpublishaddr": "172.20.XX.XX"
    }

    CloudEvents 仕様で定義されているパラメーターの詳細については、「イベントの概要」をご参照ください。

    次の表に、data フィールド内のパラメーターを示します。

    パラメーター

    タイプ

    説明

    headers

    Map

    {
        "Authorization": "APPCODE b6e439f27045443ca58e9136ef20****",
        "X-Ca-Dashboard-Uid": "115964845466****",
        "X-Ca-Dashboard-Action": "DEBUG",
        "X-Ca-Stage": "RELEASE",
        "X-Ca-Dashboard-Role": "USER",
        "User-Agent": "Apache-HttpClient/4.5.6 (Java/1.8.0_172)",
        "Accept-Encoding": "gzip,deflate",
        "Content-Type": "text/html; charset=utf-8"
    }

    HTTP リクエストヘッダー。

    path

    String

    /test/eb/1

    HTTP リクエストパス。

    pathParameters

    Map

    なし

    パスパラメーター。

    body

    String/Map

    なし

    HTTP リクエストボディ。HTTP リクエストの Content-Type フィールドが application/json の場合、ボディは JSON オブジェクトとして解析されます。それ以外の場合は、プレーン文字列として解析されます。

    method

    String

    GET

    HTTP リクエストメソッド。

    queryParameters

    Map

    なし

    HTTP リクエストの query パラメーター (token を除く)。