Private Cloud 커넥터용 Apigee API 허브 구성

이 섹션에서는 네트워크, 인증, 조직별 설정을 비롯한 Apigee API Hub for Private Cloud 커넥터의 구성 단계를 자세히 설명합니다.

네트워크 및 인증 설정

  1. 포트 허용 목록: Apigee API Hub for Private Cloud 커넥터는 필요한 API 메타데이터를 가져오기 위해 관리 서버에 연결해야 하므로 커넥터가 관리 서버 포트 8080 및 443에 연결할 수 있어야 합니다.
  2. 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
  3. 관리 API 인증 (UAPIM_MGMT_AUTH): Private Cloud용 Apigee API 허브 커넥터는 Apigee 관리 API를 호출하기 위한 사용자 인증 정보가 필요합니다. 보안 및 자동화를 위해 Apigee에서 사람 사용자가 아닌 머신 사용자를 사용하세요.

    Apigee에서 머신 사용자를 만듭니다.

    1. 사용자 만들기:
      • Apigee 콘솔에서 머신 사용자 (또는 시스템 사용자)를 만듭니다. 토큰 생성 프로세스 자동화에서 사용자 및 역할에 대해 자세히 알아보세요.
      • 이메일 (식별용)과 설명이 포함된 이름 (예: uapim-connector-user)
    2. 역할 할당: 머신 사용자에게 다음 역할을 할당합니다.
      • Apigee API 관리자: 이 역할은 관리 API에 대한 액세스 권한을 제공하여 Apigee API Hub for Private Cloud 커넥터가 Apigee의 관리 시스템과 상호작용할 수 있도록 합니다 (예: 메타데이터를 가져오거나 API 구성을 관리).

Base64로 인코딩된 사용자 인증 정보를 생성합니다.

  1. 머신 사용자의 username:password 쌍을 생성합니다.
  2. 인증 정보를 Base64로 인코딩합니다. echo -n 'username:password' | base64
  3. base64로 인코딩된 값으로 환경 변수 $UAPIM_MGMT_AUTH를 설정합니다.
    export UAPIM_MGMT_AUTH=USERNAME_PASSWORD

    여기서 USERNAME_PASSWORD은 사용자 이름과 비밀번호 쌍의 base64로 인코딩된 값입니다.

    Apigee API Hub for Private Cloud 커넥터를 시작하기 전에 이 환경 변수가 설정되어 있는지 확인하세요.

Private Cloud 커넥터용 Apigee API 허브 구성

/opt/apigee/customer/application/uapim-connector.properties 구성 파일을 열어 API 허브에 데이터를 업로드해야 하는 Apigee 조직을 지정합니다. 플러그인 인스턴스 또는 API 허브 인스턴스가 여러 개 있을 수 있습니다.

  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 섹션: 메시지 프로세서가 애널리틱스 (AX) 데이터를 쓰는 NFS 마운트의 경로를 제공합니다. 이는 메시지 프로세서에 구성된 경로와 동일해야 합니다.
  • managementServer 섹션: Apigee 관리 서버 URL의 호스트 이름 또는 IP 주소입니다.
  • 환경 변수 UAPIM_MGMT_AUTH: 외부에서 설정된 이 환경 변수에는 관리 서버에 액세스하기 위한 base64로 인코딩된 username:password가 포함됩니다.

전달 프록시 구성 추가

동일한 파일 /opt/apigee/customer/application/uapim-connector.properties에 전달 프록시 구성을 추가합니다.

  1. conf_http_client_service_jetty.proxy.enabled=true
  2. conf_http_client_service_jetty.proxy.host=
  3. conf_http_client_service_jetty.proxy.port=
  4. conf_http_client_service_jetty.proxy.user=
  5. conf_http_client_service_jetty.proxy.password=

커넥터가 제대로 작동하려면 다음 외부 소스에 연결해야 합니다.

  • pubsub.googleapis.com:443
  • oauth2.googleapis.com:443
  • iamcredentials.googleapis.com:443

커넥터가 외부 소스에 직접 연결할 수 없고 포워드 프록시를 통해서만 연결할 수 있는 경우 사용자는 아래 구성을 통해 포워드 프록시 구성을 제공하고 위에 언급된 외부 소스가 허용 목록에 있는지 확인해야 합니다.

Private Cloud Connector용 Apigee API 허브 시작

모든 구성이 설정되면 Apigee 서비스 명령어를 사용하여 Apigee API Hub for Private Cloud 커넥터를 시작합니다.

apigee-service edge-uapim-connector start