Flex Gateway新着情報
Governance新着情報
Monitoring API Managerバインドを作成すると、Anypoint Service Mesh によって Kubernetes のサービス、サービスを表すために Anypoint Platform で作成した API、サービス用に作成したアダプターの 3 方向の関連付けが作成されます。アダプターでは一意の API ID を使用してポリシーを取得し、クラスターで実行されているサービスに適用します。
Anypoint Platform を使用して API を作成した場合は、API ID を使用してサービスをバインドします。ただし、Anypoint Service Mesh を使用して API を作成した場合は、Kubernetes API リソース名を使用してサービスをバインドする必要があります。
バインドを作成した後、Anypoint Service Mesh によってバインド手順が実行され、状況が更新されるまで数秒かかります。バインドが完了すると、list
コマンドを使用して状況を表示できるようになります。状況の値には次のようなものがあります。
Ready (準備完了): バインドを使用する準備ができました。
Failed (失敗): バインドは正常に作成されませんでした。エラーが発生しました。
Binding (バインド): バインドは特定のアプリケーションへの関連付けの処理中です。
次の例では、anypoint-service-mesh-adapter
アダプターを customers
サービスにバインドするために customers
という名前のバインドが作成されています。このバインドは、アダプターが以前に作成されたのと同じ名前空間である nto-payments
名前空間で作成され、ID が 1234 の API に関連付けられます。
NAMESPACE NAME ADAPTER API ID SERVICE NAME STATUS
nto-payments customers anypoint-service-mesh-adapter 1234 customers Ready
好みに合わせて Anypoint Platform または Anypoint Service Mesh を使用して API をサービスにバインドできます。
Anypoint Platform を使用して作成された API をバインドする: Anypoint Platform を使用して API を作成した場合、この手順に従います。
Anypoint Service Mesh を使用して作成された API をバインドする: Anypoint Service Mesh を使用して API を作成した場合、この手順に従います。
サービスをバインドする前に、API Manager の [API Administration (API 管理)] タブから API ID を取得します。
サービスを API とバインドするには、次の手順を実行します。
[Anypoint Platform] > [API administration (API 管理)] に移動して、API バージョン名を展開してインスタンスを表示します。
インスタンス名をクリックします。
API インスタンスウィンドウから、API ID をテキストエディターに保存します。
1 | API 名と API インスタンスバージョン。 |
2 | API ID。 |
API にバインドするサービスの名前を Kubernetes から取得します。
kubectl get svc -n namespace
マイクロサービスポートの名前が 「Istio」で説明されている要件に従って付けられていることを確認します。
コマンドウィンドウで、Anypoint Service Mesh のインストーラーをダウンロードしたディレクトリに移動し、アダプターをアプリケーションにバインドします。
asmctl adapter binding create \
--name=_Kubernetes binding resource name_ \
--namespace=_namespace name_ \
--adapter=_Kubernetes adapter resource name_ \
--apiId=_api ID_ \
--serviceName=_service name_
アダプター名、バインド名、サービス名などのすべてのオブジェクト名は小文字である必要があります。Kubernetes の命名規則に従っていないと、エラーがスローされます。
パラメーター名 | 説明 | 必須または省略可能 | デフォルト値 |
---|---|---|---|
name (名前) |
Kubernetes のバインドリソースを表す一意の名前 (例: |
必須 |
適用なし |
namespace (名前空間) |
サービスをデプロイする名前空間。以前にプロビジョニングしたアダプターと同じ名前空間を使用してください。 |
必須 |
適用なし |
adapter (アダプター) |
以前にプロビジョニングした Kubernetes アダプターリソースの名前を指定します。 |
必須 |
適用なし |
apiId |
この手順を開始する前に取得してある API の API ID を指定します。 |
必須 |
適用なし |
serviceName |
API にバインドするサービスの名前。サービス名は、Anypoint Service Mesh を使用して管理するサービスの識別子です。 |
必須 |
適用なし |
バインドは数秒以内にアクティブ化され、API が正常にプロキシに登録されます。
バインドの状況を確認します。
asmctl adapter binding list
API をバインドすると、API Manager の API は [Active (アクティブ)] とマークされます。これで API を保護するためのポリシーを適用する準備ができました。
1 | API 名と API インスタンスバージョン。 |
2 | サービスの状況。 |
バインドを作成する手順は、次のとおりです。
API にバインドするサービスの名前を Kubernetes から取得します。
kubectl get svc -n namespace
マイクロサービスポートの名前が Istio の要件に基づいて付けられていることを確認します。
Anypoint Service Mesh のインストーラーをダウンロードしたディレクトリに移動し、アダプターを API にバインドします。
asmctl api binding create \
--name=_Kubernetes resource name_ \
--namespace=_namespace name_ \
--adapter=_Kubernetes adapter resource_ \
--api=_Kubernetes API resource_ \
--serviceName=_service name_
パラメーター名 | 説明 | 必須または省略可能 | デフォルト値 |
---|---|---|---|
name (名前) |
Kubernetes のバインドリソースを表す一意の名前 (例: |
必須 |
適用なし |
namespace (名前空間) |
サービスをデプロイする名前空間。以前にプロビジョニングしたアダプターと同じ名前空間を使用してください。 |
必須 |
適用なし |
adapter (アダプター) |
以前にプロビジョニングした Kubernetes アダプターリソースを指定します。 |
必須 |
適用なし |
api |
このアダプターを関連付ける Kubernetes API リソースを指定します。 |
必須 |
適用なし |
serviceName |
API にバインドするサービスの名前。サービス名は、Anypoint Service Mesh を使用して管理するサービスの識別子です。 |
必須 |
適用なし |