엔드포인트 게이트웨이 작성

사설 VPC 네트워크에서 액세스하려는 또는 타사 IBM Cloud® 서비스나 애플리케이션을 위한 엔드포인트 게이트웨이를 생성할 수 있습니다. 콘솔, CLI, API 또는 Terraform을 사용할 수 있습니다.

로컬 액세스 가상 사설 엔드포인트 게이트웨이 생성(현재 지원되는 엔드포인트 유형: Cloud Object Storage ) 만들려면 로컬 액세스 가상 사설 엔드포인트 게이트웨이 생성 안내서의 지침을 따르십시오. 지원되는 서비스 IBM Cloud 또는 애플리케이션이나 타사 서비스 또는 애플리케이션에 액세스하기 위해 계정 간 엔드포인트 게이트웨이를 설정하려면 자세한 내용은 계정 간 엔드포인트 게이트웨이 생성을 참조하십시오.

시작하기 전에

엔드포인트 게이트웨이를 만들기 전에 가상 사설 엔드포인트 게이트웨이 계획을 검토하고 다음 사전 요구 사항을 충족했는지 확인하세요:

  • VPC

  • 엔드포인트 게이트웨이가 프로비저닝하는 동시에 IP 주소를 바인딩할 경우 최소 하나의 가용성 구역에 있는 서브넷

  • 서비스의 인스턴스

  • 엔드포인트 게이트웨이를 작성하고, 예약된 IP를 작성하거나 바인드하고, 대상 서비스를 보거나 나열하는 데 적절한 IAM 권한

  • 구성 중인 서비스가 VPE에 대해 사용으로 설정되어 있는지 확인

  • 계정 간 VPE를 생성할 계획이라면 다음 요구 사항을 충족했는지 확인하십시오:

    • 필요한 IAM 권한과 컨텍스트 기반 제한(CBR) 정책을 통해 액세스를 승인할 수 있도록 하십시오.
    • 대상 서비스가 계정 간 VPE를 지원하는지 확인하십시오. 자세한 내용은 서비스 설명서를 확인하세요.
    • 대상 서비스 인스턴스의 클라우드 리소스 이름(CRN)을 반드시 확인해야 합니다.
    • 다른 IBM Cloud 계정에 위치한 대상 서비스 인스턴스를 액세서 계정의 VPE가 사용하도록 허용하려면 다음 섹션에 설명된 대로 서비스 간 권한 부여 정책을 생성해야 합니다.

콘솔에서 엔드포인트 게이트웨이 만들기

IBM Cloud 콘솔에서 엔드포인트 게이트웨이를 만들려면 다음 단계를 따르세요:

  1. IBM Cloud 콘솔에서 탐색 메뉴 탐색 메뉴 아이콘을 선택한 다음 인프라 VPC 아이콘 > 네트워크 > 가상 사설 엔드포인트 게이트웨이를 클릭합니다. VPC용 가상 사설 엔드포인트 게이트웨이 페이지가 열립니다.

  2. 작성을 클릭하여 프로비저닝 페이지로 이동하십시오.

  3. 세부사항 섹션에서 다음 필드에 대한 값을 입력하십시오.

    • 이름 - 엔드포인트 게이트웨이의 고유 이름을 입력합니다.
    • 리소스 그룹 - 엔드포인트 게이트웨이의 리소스 그룹을 선택하십시오. 이 엔드포인트 게이트웨이에 대한 기본 그룹을 사용하거나 목록에서 선택할 수 있습니다. 자세한 정보는 리소스를 리소스 그룹으로 구성하는 데 대한 우수 사례를 참조하십시오.
    • 태그- 선택 사항으로 태그를 추가하여 리소스를 정리하고, 사용 비용을 추적하거나, 리소스에 대한 액세스를 관리할 수 있습니다.
    • 액세스 관리 태그-선택적으로 자원에 액세스 관리 태그를 추가하여 액세스 제어 관계를 구성할 수도 있습니다. 액세스 관리 태그의 유일한 지원 형식은 key:value입니다. 자세한 정보는 태그를 사용하여 리소스에 대한 액세스 제어를 참조하십시오.
    • 가상 사설 클라우드- VPE IP 주소가 필요한 VPC를 선택합니다. 선택한 VPC의 지역에 따라 시스템은 엔드포인트 게이트웨이와 연관시키기 위해 액세스할 수 있는 IBM 서비스 목록을 제공합니다. 선택한 VPC의 지역에서 대상 서비스가 제공되지 않는 경우 다른 지역에서 서비스를 선택하도록 지역을 변경할 수 있습니다.

    의도된 서비스 또는 서비스 인스턴스가 표시되지 않으면 IAM 권한을 다시 유효성 검증하십시오. 예약된 IP 주소를 할당하여 게이트웨이에 바인드하거나 예약된 IP 주소를 할당하여 게이트웨이에 바인드할 VPC 서브넷을 지정하도록 선택할 수도 있습니다.

  4. 보안 그룹 섹션에서 보안 그룹 테이블로부터 연결할 보안 그룹의 선택란을 선택하십시오. 그런 다음 이러한 보안 그룹을 관리하고 엔드포인트 게이트웨이로 향하는 인바운드 트래픽에 대한 보안 규칙을 강화할 수 있습니다.

    보안 그룹을 지정하지 않고 엔드포인트 게이트웨이를 작성하는 경우 VPC 기본 보안 그룹이 엔드포인트 게이트웨이에 연결됩니다. 자세한 정보는 엔드포인트 게이트웨이에서 사용할 ACL 및 보안 그룹 구성을 참조하십시오.

    보안 그룹이 지원되기 전에 생성된 엔드포인트 게이트웨이에는 보안 그룹이 연결되어 있지 않습니다. 또한 모든 인바운드 트래픽을 허용합니다. 연결된 보안 그룹이 없는 VPE에 보안 그룹을 연결한 경우 해당 VPE를 보안 그룹이 없는 상태로 되돌릴 수 없습니다. 모든 인바운드 트래픽을 허용하는 규칙이 있는 보안 그룹을 연결하여 이전의 "모든 인바운드 트래픽 허용" 동작으로 되돌릴 수 있습니다. 그러나 이 규칙은 더 제한적인 보안 그룹을 사용하는 것보다 본질적으로 보안성이 떨어지므로 권장하지 않습니다.

  5. 서비스에 연결 요청 섹션에서 이 엔드포인트 게이트웨이를 사용하여 액세스할 IBM Cloud 또는 IBM Cloud 서비스를 선택합니다.

    • IBM Cloud 서비스의 경우 메뉴에서 사용 가능한 IBM Cloud 서비스 오퍼링을 선택한 후 해당 지역을 선택하십시오. 성능을 최적화하기 위해 지역이 미리 선택됩니다.

    • 비 IBMIBM Cloud 서비스의 경우, 서비스 제공업체에서 얻은 비공개 경로 서비스의 클라우드 리소스 이름(CRN)을 입력합니다.

      연결 요청이 검토를 위해 서비스 제공자에게 전송됩니다.

      검토는 제공업체가 선택한 계정 정책에 따라 자동으로 이루어질 수도 있고, 제공업체가 요청을 수동으로 검토하기로 선택한 경우 며칠이 걸릴 수도 있습니다. 요청이 허용되면 알림을 수신한 후 서비스에 액세스할 수 있습니다. 요청이 거부되면 서비스 제공자에게 문의하십시오.

  6. DNS 공유 섹션에서 다음 DNS 확인 바인딩 모드 중 하나를 선택하십시오:

    • 기본을 사용하면 DNS 공유 VPC의 VPE 게이트웨이의 서비스 엔드포인트가 이름 확인을 위해 DNS 허브 VPC와 공유될 수 있습니다.
    • 비활성화 상태에서는 VPE 게이트웨이의 서비스 엔드포인트가 이름 해상도를 위해 공유될 수 없습니다.

    VPC가 DNS 허브인 경우 DNS 공유는 항상 기본 값으로 설정되며 모드를 변경할 수 없습니다.

  7. 예약 IP 섹션에서 예약 IP 주소를 선택합니다. 다음 항목을 선택할 수 있습니다.

    • 나를 위해 하나 선택- IP 주소의 이름 접두사를 입력하거나 자동으로 선택됩니다. 하나 이상의 서브넷을 선택하고(존당 하나의 서브넷을 권장함), 엔드포인트 게이트웨이가 삭제될 경우 이 예약된 IP가 자동으로 삭제되도록 하려면 자동 해제 토글을 활성화하십시오.

    • 기존 IP에서 선택- 기존 IP 주소 목록에서 선택합니다. IP 주소가 존재하지 않는 경우, 'IP 예약'을 클릭하여 하나를 예약하십시오.

      VPC의 AZ당 하나의 예약 IP만 VPE 게이트웨이에 바인딩할 수 있습니다. VPC 내 모든 서브넷에서 동일한 가용 영역(AZ)에 다른 바인딩이 존재하지 않도록 하십시오.

    • 나중에 선택- 엔드포인트 게이트웨이 생성 후 적절한 시점에 IP 주소를 선택하십시오.

  8. 주문 요약를 검토한 다음 가상 사설 엔드포인트 게이트웨이 만들기를 클릭합니다. 엔드포인트 게이트웨이를 사용하도록 요청되었습니다.

CLI에서 엔드포인트 게이트웨이 만들기

시작하기 전에 CLI 환경을 설정 하십시오.

CLI에서 엔드포인트 게이트웨이를 만들려면 다음 단계를 따르세요:

  1. 엔드포인트 게이트웨이 대상으로 설정하는 데 적합한 IBM Cloud 서비스 인스턴스를 나열하십시오.

    ibmcloud is endpoint-gateway-targets
    
  2. 다음 명령을 실행하여 엔드포인트 게이트웨이를 작성하십시오.

    ibmcloud is endpoint-gateway-create --target TARGET [--target-type private_path_service_gateway | provider_cloud_service | provider_infrastructure_service] [--vpc VPC] [--name NAME] [--rip RIP --subnet SUBNET | (--new-reserved-ip NEW_RESERVED_IP1 --new-reserved-ip NEW_RESERVED_IP2 ...)] [--allow-dns-resolution-binding false | true] [--sg SG] [--resource-group-id RESOURCE_GROUP_ID | --resource-group-name RESOURCE_GROUP_NAME] [--output JSON] [-q, --quiet]
    

    여기서:

    --target-type:
    이 엔드포인트 게이트웨이의 대상 유형과 다음 중 하나를 나타냅니다: private_path_service_gateway, provider_cloud_service 또는 provider_infrastructure_service.
    --vpc:
    VPC의 ID 또는 이름을 나타냅니다.
    --target:
    공급자 인프라 서비스의 이름 또는 공급자 클라우드 서비스 인스턴스의 CRN을 나타냅니다. ibmcloud is endpoint-gateway-targets 명령을 사용하여 엔드포인트 게이트웨이 대상으로 설정할 자격이 있는 공급자 클라우드 및 인프라 서비스를 나열할 수 있습니다.
    --name:
    엔드포인트 게이트웨이의 새 이름을 나타냅니다.
    --rip:
    엔드포인트 게이트웨이에 바인딩할 예약된 IP의 ID를 나타냅니다.
    --subnet:
    서브넷의 ID 또는 이름입니다. 이 이름은 제공된 예약된 IP가 이름 형식일 때만 필요합니다.
    --new-reserved-ip:
    새 예약 IP 구성을 JSON 형식 또는 JSON 파일(RESERVED_IP_JSON|@RESERVED_IP_JSON_FILE)로 표시합니다.
    --sg:
    보안 그룹의 ID를 나타냅니다.

    -sg 을 지정하지 않으면 VPC 기본 보안 그룹이 엔드포인트 게이트웨이에 바인딩됩니다.

    --resource-group-id:
    리소스 그룹의 ID를 나타냅니다. 이 옵션은 --resource-group-name 와 상호 배타적입니다.
    --resource-group-name:
    리소스 그룹의 이름을 나타냅니다. 이 옵션은 --resource-group-id 와 상호 배타적입니다.
    --output:
    출력 형식을 나타냅니다. JSON만 지원됩니다.
    -q, --quiet:
    자세한 정보 출력을 억제합니다.

    자세한 정보와 명령어 예제는 VPC CLI 참조를 참조하세요.

API로 엔드포인트 게이트웨이 만들기

API를 사용하여 엔드포인트 게이트웨이를 만들려면 다음 단계를 따르세요:

  1. API 환경을 설정하십시오.

  2. API 명령에 사용할 변수에 다음 값을 저장하십시오.

    • ResourceGroupId- 먼저 리소스 그룹을 가져온 다음 변수를 채웁니다:

      export ResourceGroupId=<your_resourcegroup_id>
      
    • VpcId- list vpc 명령(앞의 변수와 함께)을 사용한 다음 제공된 ID에 따라 변수를 채웁니다:

      export VpcId=<your_VPC_id>
      
    • TargetCrn- 엔드포인트 게이트웨이를 설정하려는 IBM Cloud 서비스 인스턴스의 이름 또는 CRN입니다. ibmcloud is endpoint-gateway-targets 명령을 사용하여 엔드포인트 게이트웨이 대상으로 설정할 자격이 있는 IBM Cloud 서비스 인스턴스를 나열할 수 있습니다.

      export TargetCrn=<CRN of a target service>
      
    • SubnetID(선택사항) - 서브넷 ID입니다.

      export SubnetID=<your_subnet_id>
      
  3. 모든 변수가 시작되면 다음 작업 중 하나를 선택합니다:

    • 특정 VPC에 대한 엔드포인트 게이트웨이를 만듭니다:

      curl -X POST -sH "Authorization:${iam_token}" \
      "$vpc_api_endpoint/v1/endpoint_gateways?version=$api_version&generation=2" \
      -d {
      "name": endpoint-gateway-1",
      "vpc": {"id":"'$VpcId'"},
      "target": {
      "crn": "$TargetCrn",
      "resource_type": "provider_cloud_service"
      },
      "security_groups": [
      {"id": "'$sg'"}
      ]
      }'
      

      개인 경로 서비스에 연결하기 위해 엔드포인트 게이트웨이를 작성할 때 '"resource type" = "private_path_service_gateway"' 를 확인하십시오.

      서비스 인스턴스에 대한 엔드포인트 게이트웨이를 작성하고 예약된 IP 주소를 지정한 후 VPC 네트워크에서 엔드포인트 게이트웨이로 IP 주소를 바인드해야 합니다. 자세한 내용은 예약된 IP 주소 바인드 및 바인드 해제를 참조하십시오. 이러한 바인드된 IP 주소는 엔드포인트 게이트웨이에 맵핑된 서비스에 액세스하는 VPE가 됩니다.

    • 연결된 예약 IP 주소로 엔드포인트 게이트웨이를 만듭니다:

      curl -X POST -sH "Authorization:${iam_token}" \
      "$vpc_api_endpoint/v1/endpoint_gateways?version=$api_version&generation=2" \
      -d {
      "name": endpoint-gateway-1",
      "vpc": {"id":"'$VpcId'"},
      "target": {
      "crn": "$TargetCrn",
      "resource_type": "provider_cloud_service"
      },
      "security_groups": [
      {"id": "'$sg'"}
      ],
      "ips": [
      {"subnet": { "id": "$SubnetId" } }
      ],
      }'
      

      비공개 경로 서비스에 연결하기 위한 엔드포인트 게이트웨이를 만들 때 '"리소스 유형"이 private_path_service_gateway 로 설정되어 있는지 확인하세요.

엔드포인트 게이트웨이가 IBM Cloud 서비스에 대해 작성된 후에는 서비스와 연관된 엔드포인트를 제공합니다. IP 바인딩/바인딩 해제, 리소스 그룹 변경, 태그 업데이트 등 다양한 방법으로 엔드포인트 게이트웨이를 편집할 수 있습니다. 어떤 이유로 서비스 엔드포인트를 변경해야 하는 경우 엔드포인트 게이트웨이를 삭제하고 다시 작성해야 합니다.

Terraform을 사용하여 엔드포인트 게이트웨이 작성

Terraform을 사용하여 엔드포인트 게이트웨이를 작성할 수 있습니다.

테라폼을 사용하려면 테라폼 CLI를 다운로드하고 제공자 IBM Cloud 플러그인을 구성하십시오. 자세한 정보는 Terraform 시작하기 를 참조하십시오.

다음 예제에서는 VPE 게이트웨이를 만듭니다:

resource "ibm_is_virtual_endpoint_gateway" "example" {

  name = "example-endpoint-gateway"
  target {
    name          = "ibm-ntp-server"
    resource_type = "provider_infrastructure_service"
  }
  vpc            = ibm_is_vpc.example.id
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

resource "ibm_is_virtual_endpoint_gateway" "example1" {
  name = "example-endpoint-gateway-1"
  target {
    name          = "ibm-ntp-server"
    resource_type = "provider_infrastructure_service"
  }
  vpc = ibm_is_vpc.example.id
  ips {
    subnet = ibm_is_subnet.example.id
    name   = "example-reserved-ip"
  }
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

resource "ibm_is_virtual_endpoint_gateway" "example3" {
  name = "example-endpoint-gateway-2"
  target {
    name          = "ibm-ntp-server"
    resource_type = "provider_infrastructure_service"
  }
  vpc = ibm_is_vpc.example.id
  ips {
    subnet = ibm_is_subnet.example.id
    name   = "example-reserved-ip"
  }
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

resource "ibm_is_virtual_endpoint_gateway" "example4" {
  name = "example-endpoint-gateway-3"
  target {
    crn           = "crn:v1:bluemix:public:cloud-object-storage:global:::endpoint:s3.direct.mil01.cloud-object-storage.appdomain.cloud"
    resource_type = "provider_cloud_service"
  }
  vpc            = ibm_is_vpc.example.id
  resource_group = data.ibm_resource_group.example.id
  security_groups = [ibm_is_security_group.example.id]
}

VPE 게이트웨이 작성 후

VPC용 가상 사설 엔드포인트 게이트웨이 페이지로 돌아가면 엔드포인트 게이트웨이가 표에 표시됩니다.

  • IBM Cloud 서비스의 경우 엔드포인트 게이트웨이의 상태가 Updating 에서 Stable 로 변경됩니다. 동작 메뉴 동작 메뉴 클릭하여 IP 이름 변경, 예약 또는 바인딩, IP 바인딩 해제 또는 엔드포인트 게이트웨이를 삭제할 수 있습니다.
  • 비IBM Cloud (써드파티) 서비스의 경우 서비스 제공자가 연결 요청을 허용하거나 거부할 때까지 엔드포인트 게이트웨이 상태는 Pending 입니다. 연결이 설정되면 상태가 Stable 으로 변경됩니다. 추적 을 클릭하거나 엔드포인트 게이트웨이의 테이블 행을 펼쳐서 요청의 진행상태를 볼 수 있습니다.
  • 선택적으로, 이 엔드포인트 게이트웨이에 대한 DNS 공유를 사용 또는 사용 안함으로 설정할 수 있도록 하는 VPE 게이트웨이의 테이블 행에 DNS 분석 바인딩 스위치가 있습니다. 자세한 정보는 VPE 게이트웨이의 DNS 공유 정보 를 참조하십시오.