NAT IP 프로비저닝

이 페이지는 Apigee에 적용되지만 Apigee Hybrid에는 적용되지 않습니다.

Apigee Edge 문서 보기

이 섹션에서는 Apigee 인스턴스의 NAT IP를 관리하는 방법을 설명합니다.

Apigee에서는 임시 IP와 전용 IP를 제공합니다. 대부분의 경우 임시 IP로 충분합니다. 백엔드에 IP 허용 목록이 필요하지 않으면 NAT IP를 관리할 필요가 없으며 Apigee가 이그레스에 임시 IP를 자동으로 할당합니다.

IP 허용 목록 정보가 필요한 경우 Apigee에서 이그레스 트래픽에 고정 IP를 사용하도록 IP를 예약하고 활성화할 수 있습니다.

Apigee NAT IP 프로비저닝 설정

Apigee 인스턴스에 NAT IP 프로비저닝을 설정하려면 다음 안내를 따르세요.

  1. 다음 환경 변수를 만들어 채웁니다.

    변수

    PROJECT_ID=YOUR_PROJECT_ID
    ORG_ID=YOUR_ORG_ID
    INSTANCE_NAME=YOUR_INSTANCE_NAME
    NAT_ID=1st_NAT_IP_ID

    PROJECT_ID=apigee-saas-prod
    ORG_ID=apigee-saas-prod
    INSTANCE_NAME=prod-us-west1-instance1
    NAT_ID=nat-1

    각 항목의 의미는 다음과 같습니다.

    • YOUR_PROJECT_ID기본 요건의 일부로 만든 Cloud 프로젝트 ID입니다. 프로젝트 ID를 모르는 경우 Cloud 콘솔 또는 gcloud projects list 명령어를 사용하여 찾습니다.
    • YOUR_ORG_ID는 Apigee 조직 ID입니다.
    • YOUR_INSTANCE_NAME은 Apigee 인스턴스의 이름입니다.
    • 1st_NAT_IP_ID는 이 NAT IP 주소에 할당할 이름입니다(예: nat-1). 이 매개변수의 값은 20자를 초과할 수 없습니다.
  2. 다음 명령어를 사용하여 NAT IP를 예약합니다.
    1. 다음 예시와 같이 명령줄에서 gcloud 인증 사용자 인증 정보를 가져옵니다.

      TOKEN=$(gcloud auth print-access-token)

      토큰이 입력되었는지 확인하려면 다음 예시와 같이 echo를 사용합니다.

      echo $TOKEN

      그러면 토큰이 인코딩된 문자열로 표시됩니다.

      자세한 내용은 gcloud 명령줄 도구 개요를 참조하세요.

    2. NAT IP를 예약하는 명령어는 장기 실행 작업을 반환합니다. 따라서 여기에 표시된 명령어는 출력을 operation_name 변수에 할당합니다.
      operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses" \
        -X POST -H "content-type:application/json" -d "{\"name\":\"${NAT_ID}\"}" | jq -r '.name')
      
    3. 다음 요청을 실행하여 장기 실행 작업이 done: true 상태가 될 때까지 폴링합니다.
      curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
  3. 작업이 완료되면 다음 명령어를 사용하여 NAT IP를 활성화합니다
    1. IP를 활성화하고 장기 실행 작업 이름을 operation_name에 할당합니다.
      operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
        "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}:activate" \
        -X POST -H "content-type:application/json" -d "{}" | jq -r '.name')
    2. 장기 실행 작업이 done: true 상태가 될 때까지 폴링합니다.
      curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"
  4. 설정해야 하는 각 NAT IP에 새 NAT IP 이름으로 이 절차를 반복합니다.

NAT IP 가져오기

다음 명령어를 사용하여 인스턴스의 NAT IP를 나열합니다.

curl -H "Authorization: Bearer $TOKEN" \
  "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses"

응답의 예시는 다음과 같습니다.

{
  "natAddresses": [
    {
      "name": "nat-1",
      "ipAddress": "35.203.160.18",
      "state": "ACTIVE"
    },
    {
      "name": "nat-2",
      "ipAddress": "35.230.14.174",
      "state": "RESERVED"
    },
    {
      "name": "nat-3",
      "state": "CREATING"
    }
  ]
}

NAT IP 상태

  • CREATING : NAT IP 생성이 대기 중입니다. 사용할 수 없습니다.
  • RESERVED: NAT IP가 생성되었지만 사용되지 않습니다. 이렇게 하면 이 IP를 활성화하기 전에 허용 목록에 추가할 수 있습니다.
  • ACTIVE: NAT IP가 이그레스 트래픽을 전송하는 데 사용 중입니다.
  • DELETING: NAT IP를 삭제하는 중입니다.

NAT IP 삭제

다음 명령어를 사용하여 NAT IP를 삭제할 수 있습니다.

  1. IP를 삭제하고 출력을 'operation_name'에 할당합니다.
    operation_name=$(curl -H "Authorization: Bearer $TOKEN" \
      "https://apigee.googleapis.com/v1/organizations/${ORG_ID}/instances/${INSTANCE_NAME}/natAddresses/${NAT_ID}" \
      -X DELETE | jq -r '.name')
  2. done: true 상태가 표시될 때까지 장기 실행 작업을 폴링합니다.
    curl -s -H "Authorization: Bearer $TOKEN" "https://apigee.googleapis.com/v1/$operation_name"