로컬 액세스 엔드포인트 게이트웨이 생성

허브 기반 DNS 공유 모델 외에도 DNS 공유 VPC 내에서 로컬 액세스 가상 사설 엔드포인트 게이트웨이를 생성할 수 있습니다. 로컬 액세스 VPE는 허브 VPC를 통해 트래픽을 라우팅하지 않고도 지원되는 IBM Cloud 서비스에 대한 사설 로컬 연결성을 제공합니다.

현재 이 기능은 에 대해서만 IBM Cloud Object Storage 지원되며, 허용 목록에 등록된 일부 고객만 이용할 수 있습니다.

시작하기 전에

  • 로컬 액세스 엔드포인트 게이트웨이는 허브 앤 스포크 아키텍처를 기반으로 하는 DNS 공유 모델을 사용합니다. 로컬 액세스 엔드포인트 게이트웨이를 생성하기 전에 DNS 공유를 구성해야 합니다. 이미 DNS 공유가 구성된 경우, 로컬 액세스 엔드포인트 게이트웨이 사용을 시작하기 위해 변경이나 마이그레이션이 필요하지 않습니다.
  • VPE 생성 전에 생성 제한, 보안 그룹, 계정 간 액세스 및 지원되는 기능을 포함한 일반적인 계획 고려 사항을 검토하십시오.
  • DNS 허브 및 공유 VPC 토폴로지 내 로컬 액세스 VPE에 특화된 전제 조건은 DNS 공유 계획 고려 사항을 참조하십시오.

콘솔에서 로컬 액세스 엔드포인트 게이트웨이 생성

콘솔에서 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 선택한 다음 메뉴에서 cloud-object-storage를 선택하십시오.

    • 서비스 지역을 선택하세요. 성능을 최적화하기 위해 지역이 미리 선택됩니다.

    • 구성 서비스 엔드포인트( config 엔드포인트 유형)를 제외한 모든 서비스 엔드포인트 유형은 리소스 바인딩을 지원하며, 이를 통해 버킷이나 Object Storage 리소스에 대한 VPE 바인딩이 가능합니다.

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

    • Primary는 VPE 게이트웨이의 서비스 엔드포인트를 이름 해상도를 위해 허브 VPC의 DNS 해결기와 공유할 수 있도록 합니다.
    • 리소스별 바인딩을 통해 VPE 게이트웨이는 클라우드 객체 저장소 버킷에 대한 리소스 바인딩을 설정하고, 이름 해상도를 위해 허브 VPC의 DNS 해결기와 서비스 리소스 엔드포인트를 공유할 수 있습니다.
    • 비활성화 상태에서는 VPE 게이트웨이의 서비스 엔드포인트가 이름 해상도를 위해 공유될 수 없습니다.

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

    리소스별 바인딩 또는 비활성화를 선택하면 선택적 리소스 바인딩을 생성할 수 있으며, 이를 통해 선택한 VPC에서 특정 Object Storage 버킷에 대한 세분화된 액세스를 활성화할 수 있습니다. 자세한 내용은 리소스 바인딩 생성을 참조하십시오.

    프로비저닝 과정에서 최대 10개의 버킷을 바인딩할 수 있으며, 추후 추가할 수 있습니다.

  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:
    JSON 형식 또는 JSON 파일( RESERVED_IP_JSON|@RESERVED_IP_JSON_FILE.json)로 새 예약된 IP 구성을 나타냅니다.
    --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 바인딩/바인딩 해제, 리소스 그룹 변경, 태그 업데이트 등 다양한 방법으로 엔드포인트 게이트웨이를 편집할 수 있습니다. 어떤 이유로 서비스 엔드포인트를 변경해야 하는 경우 엔드포인트 게이트웨이를 삭제하고 다시 작성해야 합니다.

테라폼을 사용한 로컬 액세스 엔드포인트 게이트웨이 생성

테라폼을 사용하여 엔드포인트 게이트웨이를 생성할 수 있습니다.

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

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

resource "ibm_is_virtual_endpoint_gateway" "vpe_iam" {
  name = "${var.name}-iam-vpe"
  vpc  = ibm_is_vpc.testacc_vpc.id

  target {
    resource_type = var.vpe_target_type
    crn           = var.vpe_target_crn
  }
  dns_resolution_binding_mode = "disabled"
}
resource "ibm_is_virtual_endpoint_gateway_resource_binding" "vpe_rb" {
  name = "${var.name}-rb-vpe"
  endpoint_gateway_id  = ibm_is_virtual_endpoint_gateway.vpe_iam.id

  target {
    crn           = var.vpe_rb_target
  }
}
data "ibm_is_virtual_endpoint_gateway" "vpe_iam" {
  name = ibm_is_virtual_endpoint_gateway.vpe_iam.name
}
data "ibm_is_virtual_endpoint_gateways" "vpe_iam" {
}
data ibm_is_virtual_endpoint_gateway_resource_bindings bindings {
  endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.vpe_iam.id
}
data ibm_is_virtual_endpoint_gateway_resource_binding binding {
  endpoint_gateway_id = ibm_is_virtual_endpoint_gateway.vpe_iam.id
  endpoint_gateway_resource_binding_id = ibm_is_virtual_endpoint_gateway_resource_binding.vpe_rb.endpoint_gateway_resource_binding_id
}

로컬 액세스 엔드포인트 게이트웨이를 생성한 후

VPC용 가상 사설 엔드포인트 게이트웨이 페이지로 돌아가면, 해당 엔드포인트 게이트웨이가 테이블에 표시됩니다. 서비스의 IBM Cloud 경우, 엔드포인트 게이트웨이 상태가 에서 Updating 로 변경됩니다 Stable. 작업 메뉴를 작업 메뉴작업 클릭하여 IP를 이름 변경, 예약 또는 바인딩하거나, IP를 언바인딩하거나, 엔드포인트 게이트웨이를 삭제할 수 있습니다.