API 게이트웨이를 API 허브에 연결

이 페이지에서는 API 게이트웨이를 Apigee API 허브에 연결하여 API를 확인하고 API 관리를 중앙 집중화하는 방법을 설명합니다.

개요

API 게이트웨이 관리자는 API 게이트웨이를 API 허브에 연결하려면 다음 단계를 수행해야 합니다.

  1. API 허브 프로비저닝
  2. API 게이트웨이 프로젝트를 API 허브에 연결

시작하기 전에: 역할 부여

API 게이트웨이를 API 허브에 연결할 수 있는 적절한 Identity and Access Management (IAM) 역할이 있는지 확인합니다.

API 허브를 프로비저닝할 프로젝트에서 다음 단계를 따르세요.

  • API 허브 프로비저닝 단계의 시작하기 전에에 설명된 대로 프로비저닝 역할을 부여합니다.

API 허브에 연결할 API Gateway 프로젝트에서 다음을 실행합니다.

API 허브 프로비저닝

API 게이트웨이를 API 허브와 연결하려면 호스트 프로젝트에서 API 허브를 프로비저닝해야 합니다. 호스트 프로젝트는 모든 API 허브 리소스에 대한 소비자 프로젝트로 지정하는 Google Cloud 조직의 Google Cloud 프로젝트입니다. 호스트 프로젝트당 하나의 API 허브 인스턴스를 프로비저닝할 수 있습니다.

모든 API 게이트웨이에서 API를 중앙 집중식으로 검색하려면 API 허브 인스턴스에 하나의 전용 호스트 프로젝트를 사용하고 API 허브 인스턴스에 런타임 프로젝트라고 하는 여러 API 게이트웨이 프로젝트를 연결하는 것이 좋습니다.

호스트 프로젝트에서 API 허브를 프로비저닝하려면 다음 중 하나를 수행하세요.

  • Google Cloud 콘솔에서 API 허브 페이지로 이동하여 호스트 프로젝트로 사용할 Google Cloud 프로젝트를 선택하고 API 허브 설정을 클릭합니다.

    API 게이트웨이 페이지에서 다음과 같이 이 페이지에 액세스할 수 있습니다.

    • API 게이트웨이 페이지 상단의 API 허브 배너에서 시작하기를 클릭합니다.
    • API 페이지 상단에서 API 허브 시작하기를 클릭합니다.

    그런 다음 Cloud 콘솔에서 API 허브 프로비저닝에 설명된 자세한 프로비저닝 단계를 따릅니다.

  • 명령줄 또는 Terraform을 사용합니다.

API Gateway 프로젝트를 API 허브에 연결

API Gateway 프로젝트를 API 허브에 연결합니다.

Google Cloud 콘솔

API Gateway 프로젝트를 API 허브에 연결하려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 API 허브 페이지로 이동합니다.

    API 허브로 이동

  2. 왼쪽 탐색 메뉴에서 설정을 클릭하여 설정 페이지를 엽니다.
  3. 프로젝트 연결 탭으로 이동합니다.
  4. API Gateway 프로젝트가 연결된 런타임 프로젝트 목록에 없으면 다음 단계를 따르세요.
    1. 런타임 프로젝트 연결을 클릭합니다.
      그러면 리소스 선택 창이 표시됩니다.
    2. API Gateway가 프로비저닝된 Google Cloud 프로젝트를 클릭합니다.
    3. 프로젝트 연결 설정 창에서 API Gateway 및 자동으로 가져올 다른 API 애셋을 선택합니다.
    4. 저장을 클릭합니다.
  5. API 게이트웨이 프로젝트가 이미 연결된 런타임 프로젝트 목록에 있는 경우 다음 단계를 따르세요.
    1. API Gateway 런타임 프로젝트와 연결된 행에서 설정 수정을 클릭합니다.
    2. 프로젝트 연결 설정 창에서 API Gateway 및 자동으로 가져올 다른 API 애셋을 선택합니다.
    3. 저장을 클릭합니다.

REST

API 게이트웨이 프로젝트를 API 허브에 연결하려면 런타임 프로젝트 연결 만들기플러그인 인스턴스 만들기 API를 사용하세요.

예를 들어 런타임 프로젝트 연결을 만들려면 다음을 실행합니다.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/runtimeProjectAttachments?runtimeProjectAttachmentId=RUNTIME_PROJECT_ID" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{"runtimeProject":"projects/RUNTIME_PROJECT_ID"}'

다음을 바꿉니다.

  • HUB_PROJECT_ID: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • RUNTIME_PROJECT_ID: API Gateway 런타임 프로젝트의 이름입니다.

성공하면 RuntimeProjectAttachment JSON 객체가 반환됩니다.

그런 다음 API 게이트웨이 플러그인 인스턴스를 만들려면 다음을 실행하세요.

curl "https://apihub.googleapis.com/v1/projects/HUB_PROJECT_ID/locations/HUB_LOCATION/plugins/PLUGIN_TYPE/instances" \
  -X POST \
  -H "Authorization: Bearer $(gcloud auth print-access-token)" \
  -H "Content-Type: application/json" \
  -d '{
    "displayName": "API Gateway Plugin Instance",
    "sourceProjectId": "RUNTIME_PROJECT_ID",
    "actions": [
      {
        "actionId": "sync-metadata"
      }
    ]
  }'

다음을 바꿉니다.

  • HUB_PROJECT_ID: API 허브 호스트 프로젝트의 이름입니다. 이 호스트 프로젝트는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • HUB_LOCATION: 호스트 프로젝트의 위치입니다. 이 위치는 API 허브가 프로비저닝되었을 때 선택되었습니다.
  • PLUGIN_TYPE: 플러그인 유형입니다. system-api-gateway로 설정합니다.
  • RUNTIME_PROJECT_ID: API Gateway 런타임 프로젝트의 이름입니다.

성공하면 Operation JSON 객체가 반환됩니다.