このセクションでは、ネットワーク、認証、組織固有の設定など、Apigee API Hub for Private Cloud コネクタの構成手順について詳しく説明します。
ネットワークと認証の設定
- ポートを許可リストに登録する: Apigee API Hub for Private Cloud コネクタは、必要な API メタデータを取得するために管理サーバーに接続する必要があります。そのため、コネクタから管理サーバーのポート 8080 と 443 にアクセスできる必要があります。
- Google Cloud Platform サービスのキーベースの認証: Apigee API Hub for Private Cloud コネクタは Google Cloud サービスと通信し、認証にトークンを必要とします。これは、サービス アカウント キーを使用して権限借用トークンを作成することで実現されます。
- トークン生成用のサービス アカウント: トークン生成専用の新しいサービス アカウントを作成します。このサービス アカウントには
Token Creator
ロールが必要です。 - サービス アカウント キーを生成してダウンロードする:
- サービス アカウント キーを作成するの手順に沿って、トークン生成サービス アカウントの JSON キーを生成します。
- このキーファイルをダウンロードします(たとえば、Apigee API Hub for Private Cloud コネクタ VM の
/opt/apigee/keys/uapim.key
にダウンロードします)。
GOOGLE_APPLICATION_CREDENTIALS
を設定する: Apigee API Hub for Private Cloud コネクタを起動するときに、環境変数を使用してこのファイルへのパスを指定する必要があります。export $GOOGLE_APPLICATION_CREDENTIALS=/opt/apigee/keys/uapim.key
- トークン生成用のサービス アカウント: トークン生成専用の新しいサービス アカウントを作成します。このサービス アカウントには
- Management API 認証(UAPIM_MGMT_AUTH): Apigee API Hub for Private Cloud コネクタは、Apigee Management API を呼び出すための認証情報を必要とします。セキュリティと自動化のために、Apigee で人間ユーザーではなくマシンユーザーを使用します。
Apigee でマシンユーザーを作成します。
- ユーザーを作成:
- Apigee コンソールで、マシンユーザー(またはシステムユーザー)を作成します。ユーザーとロールの詳細については、トークン生成プロセスを自動化するをご覧ください。
- メールアドレス(識別用)とわかりやすい名前(
uapim-connector-user
)。
- ロールを割り当てる: マシンユーザーに次のロールを割り当てます。
- Apigee API 管理者: このロールは管理 API へのアクセスを提供し、Apigee API Hub for Private Cloud コネクタが Apigee の管理システムと連携できるようにします(メタデータの取得や API 構成の管理など)。
- ユーザーを作成:
Base64 でエンコードされた認証情報を生成します。
- マシンユーザーのユーザー名とパスワードのペアを生成します。
- 認証情報を Base64 でエンコードします。
echo -n 'username:password' | base64
- base64 エンコードされた値で環境変数 $UAPIM_MGMT_AUTH を設定します。
export UAPIM_MGMT_AUTH=USERNAME_PASSWORD
ここで、USERNAME_PASSWORD はユーザー名とパスワードのペアの Base64 エンコード値です。
Apigee API Hub for Private Cloud コネクタを起動する前に、この環境変数が設定されていることを確認してください。
Private Cloud 用 Apigee API Hub コネクタを構成する
構成ファイル /opt/apigee/customer/application/uapim-connector.properties
を開き、API Hub にデータをアップロードする必要がある Apigee 組織を指定します。複数のプラグイン インスタンスまたは複数の API Hub インスタンスが存在する場合があります。
conf_uapim.settings.json={\ "connectorConfig" : { \ "org1" : { \ "runtimeDataPubsub" : "", \ "metadataPubsub":"", \ "serviceAccount": "mysa1@in.myfirstProject",\ "pluginInstanceId":"aaaa" \ },\ "org2" : { \ "runtimeDataPubsub" : "", \ "metadataPubsub":"",\ "serviceAccount": "mysa2@in.mySecondProject",\ "pluginInstanceId":"bbbbb", \ } }, "runtimeDataPath":"/the/nfs/mounted/path", \ "managementServer": "hostname" }
設定 JSON の説明
- connectorConfig セクション:
- これは、各キーが Apigee 組織名(org1、org2 など)であるマップです。
- 各組織エントリには、プラグインの作成手順で受け取った次のフィールドが含まれています。
- runtimeDataPubsub: この組織のランタイム(分析)データの Pub/Sub トピック。
- metadataPubsub: この組織の API メタデータの Pub/Sub トピック。
- serviceAccount: この組織の Pub/Sub へのデータ書き込みの認証に使用されるサービス アカウント(mysa1@in.myfirstProject.iam.gserviceaccount.com など)。
- pluginInstanceId: この組織に関連付けられているプラグインの一意のインスタンス ID。
- runtimeDataPath セクション: メッセージ プロセッサが Analytics(AX)データを書き込む NFS マウントのパスを指定します。これは、メッセージ プロセッサで構成されているパスと同じである必要があります。
- managementServer セクション: Apigee 管理サーバーの URL のホスト名または IP アドレス。
- 環境変数 UAPIM_MGMT_AUTH: 外部で設定されるこの環境変数には、管理サーバーにアクセスするための base64 エンコードされた username:password が含まれています。
フォワード プロキシ構成を追加する
同じファイル /opt/apigee/customer/application/uapim-connector.properties
に転送プロキシ構成を追加する
conf_http_client_service_jetty.proxy.enabled=true
conf_http_client_service_jetty.proxy.host=
conf_http_client_service_jetty.proxy.port=
conf_http_client_service_jetty.proxy.user=
conf_http_client_service_jetty.proxy.password=
コネクタが正常に機能するには、次の外部ソースに接続する必要があります。
pubsub.googleapis.com:443
oauth2.googleapis.com:443
iamcredentials.googleapis.com:443
コネクタが外部ソースに直接接続することを許可されておらず、転送プロキシ経由でのみ接続できる場合は、ユーザーは次の構成で転送プロキシ構成を指定し、上記の外部ソースが許可リストに登録されていることを確認する必要があります。
Apigee API Hub for Private Cloud Connector を起動する
すべての構成を設定したら、Apigee サービス コマンドを使用して Apigee API Hub for Private Cloud コネクタを起動します。
apigee-service edge-uapim-connector start