カスタム コネクタを作成する

このページでは、カスタム コネクタを作成する方法について説明します。カスタム コネクタを理解するには、カスタム コネクタをご覧ください。

カスタム コネクタを使用してバックエンドへの接続を確立するには、次の作業を実施することをおすすめします。

  1. カスタム コネクタを作成する - このタスクでは、エンドポイントの OpenAPI 仕様を指定して、Integration Connectors とエンドポイント(バックエンド)の間の契約を定義します。現時点では、OpenAPI バージョン 3.0 とそのすべてのマイナー バージョンのみがサポートされています。仕様の指定を行うのは 1 回限りです。
  2. カスタム コネクタ接続を作成する - このタスクでは、ホスト名や認証など、バックエンドの接続の詳細を構成します。特定のカスタム コネクタに対して、必要な数だけ接続を作成できます。

コネクタと接続の違いについては、コネクタと接続をご覧ください。

準備

カスタム コネクタを作成するユーザーに、次のいずれかの IAM ロールがあることを確認します。

カスタム コネクタを作成する

バックエンド接続のシナリオで説明したように、カスタム コネクタには次のいずれかの接続パターンがあります。

  • バックエンドのパブリック エンドポイントへの直接接続。
  • 中間パブリック エンドポイントを介してバックエンドに接続する間接接続。

カスタム コネクタの作成手順は、これらの 2 つのパターンで多少異なります。

直接接続で作成する

バックエンドのエンドポイントに直接接続できるカスタム コネクタを作成するには、次の手順を行います。

Console

  1. コンソールで、[Integration Connectors] > [カスタム コネクタ] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [カスタム コネクタ] ページに移動

  2. [新規作成] をクリックして [カスタム コネクタを作成する] ページを開きます。
  3. [コネクタの詳細] セクションで、次のフィールドを設定します。
    1. コネクタ名: コネクタの名前を入力します。
    2. 表示名: コネクタの表示名を入力します。
    3. 説明: 説明を入力します。
    4. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    5. ロゴ: 画像を Cloud Storage バケットにアップロードして、コネクタのロゴとして使用します。
  4. [次へ] をクリックします。
  5. [コネクタ仕様] セクションで、次のフィールドを設定します。
    1. カスタム コネクタの種類: カスタム コネクタの種類を選択します。
    2. コネクタ仕様: Open API 仕様の公開 URL を入力するか、仕様ファイルを Cloud Storage バケットにアップロードします。
  6. コネクタ構成の詳細を確認し、[作成] をクリックします。

コネクタの作成に成功すると、新しく作成されたコネクタが [カスタム コネクタ] ページに移動に表示されます。新しいコネクタの場合は、最初のバージョン コネクタも作成されます。バージョンの詳細は、[Custom Connector details] ページの [バージョン] タブで確認できます。詳細については、 をご覧ください。

ただし、バックエンドに接続するには、新しく作成したコネクタの接続を作成する必要があります。詳細については、カスタム コネクタ接続を作成するをご覧ください。

API

次のサンプル コマンドは、Integration Connectors API を使用してカスタム コネクタを作成する方法を示しています。

  1. コネクタを作成します。
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json"
    -d '{"customConnectorType":"OPEN_API", \
    "displayName":"CUSTOM_CONNECTOR_NAME", \
    "description": "an open api based custom connector for hrms"}' \
    "https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/customConnectors?custom_connector_id=UNIQUE_IDENTIFIER"
    

    次のように置き換えます。

    • CUSTOM_CONNECTOR_NAME: カスタム コネクタの名前。
    • PROJECT_ID: Google Cloud プロジェクトの ID。
    • UNIQUE_IDENTIFIER: コネクタの固有識別子。例: custom-connector-1
  2. カスタム コネクタのバージョンを構成します。
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"spec_location": "SPECIFICATION_URL",}' \
    "https://connectors.googleapis.comv1/projects/PROJECT_ID/locations/global/customConnectors/openapi-customconnector/customConnectorVersions?custom_connector_version_id=VERSION_NUMBER"
    
  3. 次のように置き換えます。

    • SPECIFICATION_URL: Open API 仕様の URL。例: https://petstore3.swagger.io/api/v3/openapi.json
    • PROJECT_ID: Google Cloud プロジェクトの ID。
    • VERSION_NUMBER: コネクタのバージョン番号。例: 2

間接接続で作成する

中間エンドポイントを介してバックエンドに接続するカスタム コネクタを作成するには、次の手順を行います。

Console

  1. コンソールで、[Integration Connectors] > [カスタム コネクタ] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [カスタム コネクタ] ページに移動

  2. [新規作成] をクリックして [カスタム コネクタを作成する] ページを開きます。
  3. [接続の詳細] セクションで、次のフィールドを設定します。
    1. コネクタ名: コネクタの名前を入力します。
    2. 表示名: コネクタの表示名を入力します。
    3. 説明: 説明を入力します。
    4. バックエンド アクセスのコネクタの宛先を構成する: このオプションを有効にします。これにより、ページに追加の構成セクションが表示されます。
    5. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    6. ロゴ: 画像を Cloud Storage バケットにアップロードして、コネクタのロゴとして使用します。
  4. [次へ] をクリックします。
  5. [コネクタ仕様] セクションで、次のフィールドを設定します。
    1. カスタム コネクタの種類: カスタム コネクタの種類を選択します。
    2. コネクタ仕様: Open API 仕様の公開 URL を入力するか、仕様ファイルを Cloud Storage バケットにアップロードします。
  6. [次へ] をクリックします。
  7. [コネクタの宛先] セクションで、次のフィールドを設定します。
    1. 宛先タイプ: [ホストアドレス] を選択します。
    2. ホスト: 仲介サービスが実行されているホスト名を入力します。
    3. ポート: 中間サービスのポート番号を入力します。
  8. [次へ] をクリックします。
  9. [コネクタ認証] セクションで、中間サービスの認証タイプを選択し、対応する詳細を指示に沿って入力します。このステップでは、Integration Connectors から中間サービスへの認証を構成します。

    Integration Connectors では、仲介サービスからバックエンドへの認証構成は構成できません。バックエンドでの認証方法は仲介サービスによって異なります。

  10. [次へ] をクリックします。
  11. [Backend variables] セクションに、仲介サービスを介してバックエンドに送信する値を入力します。値は Key-Value ペアとして構成する必要があります。Key-Value ペアを入力するには、[変数を追加] をクリックして次のフィールドを設定します。
    • キー: キー名を入力します。
    • 値の型: 変数のデータ型を選択します。
    • 表示名: 表示名を入力します。
    • ロケーション: コネクタが変数を中間サービスに送信する方法を指定します。使用できるオプションは、HeaderRequest payloadQuery parameter です。
    • 必要に応じて、Required を選択して、変数が必須変数であることを指定します。
  12. [次へ] をクリックします。
  13. コネクタ構成の詳細を確認し、[作成] をクリックします。

コネクタの作成に成功すると、新しく作成されたコネクタが [カスタム コネクタ] ページに表示されます。新しいコネクタの場合は、コネクタの最初のバージョンも作成されます。バージョンの詳細は、[Custom Connector details] ページの [バージョン] タブで確認できます。カスタム コネクタのバージョンの作成と編集については、カスタム コネクタのバージョンを管理するをご覧ください。

ただし、バックエンドに接続するには、新しく作成したコネクタの接続を作成する必要があります。詳細については、カスタム コネクタ接続を作成するをご覧ください。

API

次のサンプル コマンドは、Integration Connectors API を使用してカスタム コネクタを作成する方法を示しています。

  1. コネクタを作成します。
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json"
    -d '{"customConnectorType":"OPEN_API", \
    "displayName":"CUSTOM_CONNECTOR_NAME", \
    "description": "an open api based custom connector for hrms"}' \
    "https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/customConnectors?custom_connector_id=UNIQUE_IDENTIFIER"
    

    次のように置き換えます。

    • CUSTOM_CONNECTOR_NAME: カスタム コネクタの名前。
    • PROJECT_ID: Google Cloud プロジェクトの ID。
    • UNIQUE_IDENTIFIER: コネクタの固有識別子。例: custom-connector-1
  2. カスタム コネクタのバージョンと認証を構成します。
    curl -X POST \
    -H "authorization: Bearer $(gcloud auth print-access-token)" \
    -H "Content-Type: application/json" \
    -d '{"spec_location": "SPECIFICATION_URL", \
    "service_account":"test-sa", \
    "enable_backend_destination_config": true, \
    "auth_config": { \
    "auth_type":"USER_PASSWORD", \
    "auth_key": "basic", \
    "user_password": { \
    "username":"USERNAME", \
    "password": {"secret_version":"projects/PROJECT_ID/secrets/fidelity-secret/versions/SECRET_VERSION_NUMBER"} \
    }}, \
    "backend_variable_templates": [{ \
    "key":"authkey", \
    "value_type":"SECRET", \
    "display_name":"Authorization Key", \
    "required":true, \
    "location_type": "HEADER" \
    }], \
    "destination_configs":[{ \
    "key":"base_url", \
    "destinations": [{ \
    "host":"DESTINATION_HOST_ADDRESS" \
    }]} \
    ]}' \
    "https://connectors.googleapis.com/v1/projects/PROJECT_ID/locations/global/customConnectors/facade-connector/customConnectorVersions?custom_connector_version_id=CONNECTOR_VERSION_NUMBER"
    
  3. 次のように置き換えます。

    • SPECIFICATION_URL: Open API 仕様の URL。例: https://petstore3.swagger.io/api/v3/openapi.json
    • PROJECT_ID: Google Cloud プロジェクトの ID。
    • USERNAME: 仲介サービスでの認証用のユーザー名。
    • SECRET_VERSION_NUMBER: Secret Manager のシークレット バージョン番号。例: 2
    • DESTINATION_HOST_ADDRESS: 中間サービスのホストアドレス。例: http://www.test.com:80
    • CONNECTOR_VERSION_NUMBER: カスタム コネクタのバージョン番号。例: 1

カスタム コネクタ接続を作成する

カスタム コネクタを作成した後、バックエンドに接続するには、カスタム コネクタ タイプの接続を作成する必要があります。新しい接続を作成する大まかな手順は次のとおりです。

  1. Cloud コンソールで、[Integration Connectors] > [接続] ページに移動し、Google Cloud プロジェクトを選択または作成します。

    [接続] ページに移動

  2. [新規作成] をクリックして [接続を作成] ページを開きます。
  3. [ロケーション] セクションで、[リージョン] フィールドから接続のロケーションを選択します。

    サポートされているすべてのリージョンの一覧については、ロケーションをご覧ください。

  4. [次へ] をクリックします。
  5. [接続の詳細] セクションで、次のフィールドを設定します。
    1. コネクタ: 使用可能なコネクタのプルダウン リストからカスタム コネクタを選択します。
    2. コネクタのバージョン: 使用可能なバージョンのプルダウン リストからコネクタのバージョンを選択します。
    3. [接続名] フィールドに、接続の名前を入力します。

      接続名は次の条件を満たす必要があります。

      • 接続名には英字、数字、ハイフンを使用できます。
      • 文字は小文字のみを使用できます。
      • 接続名の先頭には英字を設定し、末尾には英字または数字を設定する必要があります。
      • 接続名は 63 文字以内で指定してください。
    4. 必要に応じて、接続の [説明] を入力します。
    5. 必要に応じて、[Cloud Logging を有効にする] を選択して Cloud Logging を有効にします。
    6. サービス アカウント: 必要なロールを持つサービス アカウントを選択します。
    7. 必要に応じて、接続ノードの設定を構成します。

      • ノードの最小数: 接続ノードの最小数を入力します。
      • ノードの最大数: 接続ノードの最大数を入力します。

      ノードは、トランザクションを処理する接続の単位(またはレプリカ)です。1 つの接続でより多くのトランザクションを処理するには、より多くのノードが必要になります。逆に、より少ないトランザクションを処理するには、より少ないノードが必要になります。ノードがコネクタの料金に与える影響については、接続ノードの料金をご覧ください。値を入力しない場合は、デフォルトで最小ノード数は 2 に設定され(可用性を高めるため)、最大ノード数は 50 に設定されます。

    8. 必要に応じて、[ラベルを追加] をクリックして Key-Value ペアの形式でラベルを接続に追加します。
  6. [次へ] をクリックします。
  7. [認証] セクションで、バックエンドの認証の詳細を入力します。
    • バックエンドに直接接続する場合、Integration Connectors によってバックエンドの認証を構成するように求められます。
    • 仲介サービスを介してバックエンドに間接的に接続する場合、Integration Connectors では認証の詳細の構成を求めるプロンプトは表示されません。コネクタを作成する際に、Integration Connectors と仲介サービス間の認証をすでに構成しています。Integration Connectors では、仲介サービスとバックエンド間の認証を構成する必要はありません。バックエンドでの認証方法は中間サービスによって異なります。
  8. [次へ] をクリックします。
  9. 接続構成の詳細を確認し、[作成] をクリックします。

接続の作成が成功すると、[すべての接続] ページに表示され、その接続を Application Integration で使用できるようになります。この接続は、コネクタタスクを介して統合で使用できます。

考慮事項

カスタム コネクタを作成する場合は、次の点を考慮してください。

  • Integration Connectors は、OpenAPI バージョン 3.0 とそのすべてのマイナー バージョンのみをサポートしています。
  • Open API 仕様は、カスタム コネクタの作成中には検証されません。カスタム コネクタ用の接続を作成すると、Integration Connectors は仕様を検証し、エラーがある場合、接続は Error 状態になります。
  • Integration Connectors では、エンティティとアクションは区別されません。そのため、バックエンドのエンティティとアクションの両方がカスタム コネクタで Actions として表示されます。
  • VPC Service Controls が有効になっている Google Cloud プロジェクトでは、カスタム コネクタはサポートされていません。
  • Open API 仕様のエンドポイントとバックエンドのエンドポイントの両方が一般公開されている必要があります。つまり、バックエンドへのプライベート接続を確立することはできません。
  • Open API 仕様では、マルチパート メディアタイプはサポートされていません。
  • カスタム コネクタのバージョンの詳細は編集できません。