내부 범위 만들기 및 사용
이 문서에서는 내부 범위를 만들고, 사용하고, 삭제하는 방법을 설명합니다.
내부 범위를 사용하면 내부 IP 주소 블록을 할당하고 이러한 블록이 사용되는 방법을 지정하여 가상 프라이빗 클라우드(VPC) 네트워크에서 통합 IP 주소 공간을 관리할 수 있습니다.
시작하기 전에
- 이 가이드의 명령줄 예시를 사용하려면 최신 버전의 Google Cloud CLI를 설치하거나 업데이트합니다.
- 프로젝트에서 Network Connectivity API를 사용 설정해야 합니다.
필요한 역할
내부 범위를 사용하는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 Compute 네트워크 관리자(roles/compute.networkAdmin
) IAM 역할을 부여해 달라고 요청하세요.
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
내부 범위 만들기
내부 범위를 만들 때는 적어도 2가지를 지정해야 합니다. 바로 할당할 IP 주소와 주소를 할당할 네트워크입니다. 정확한 CIDR 범위로 내부 범위를 만들거나 Google Cloud에서 범위를 자동으로 선택하도록 할 수 있습니다.
특정 CIDR 블록에 대한 내부 범위 만들기
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
내부 범위 예약을 클릭합니다.
이름을 입력합니다.
선택사항: 설명을 입력합니다.
예약 메서드 섹션에서 직접 지정을 선택합니다.
IP 범위 필드에 내부 범위의 IP 주소 범위를 CIDR 표기법으로 입력합니다.
네트워크를 선택합니다.
피어링 유형을 선택합니다.
사용량 유형을 선택합니다.
예약을 클릭합니다.
gcloud
internal-ranges create
명령어를 사용합니다.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="DESCRIPTION" \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE
다음을 바꿉니다.
RANGE_NAME
: 새 내부 범위의 이름입니다.CIDR_RANGE
: 새 내부 범위에 할당할 CIDR 범위입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.DESCRIPTION
: 내부 범위에 대한 선택적 설명입니다.PEERING_TYPE
: 내부 범위의 피어링 유형입니다. 옵션은FOR_SELF
,FOR_PEER
,NOT_SHARED
입니다. 기본값은FOR_SELF
입니다.USAGE_TYPE
: 내부 범위의 사용 유형입니다. 옵션은FOR_VPC
및EXTERNAL_TO_VPC
입니다. 기본값은FOR_VPC
입니다.
API
internalRanges.create
메서드에 대해 POST
요청을 실행합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 내부 범위의 이름입니다.CIDR_RANGE
: 내부 범위에 할당할 CIDR 범위입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.DESCRIPTION
: 새 내부 범위에 대한 선택적 설명입니다.PEERING_TYPE
: 내부 범위의 피어링 유형입니다. 옵션은FOR_SELF
,FOR_PEER
,NOT_SHARED
입니다. 기본값은FOR_SELF
입니다.USAGE_TYPE
: 내부 범위의 사용 유형입니다. 옵션은FOR_VPC
및EXTERNAL_TO_VPC
입니다. 기본값은FOR_VPC
입니다.
자동 할당된 CIDR 블록으로 내부 범위 만들기
자동 할당된 CIDR 블록으로 내부 범위를 만들 때는 프리픽스 길이와 하나 이상의 타겟 CIDR 범위를 지정합니다. Google Cloud는 기존 IP 주소 할당을 고려하고 선택한 크기의 가용 IP 주소 블록을 대상 CIDR 범위 내에서 할당합니다.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
내부 범위 예약을 클릭합니다.
이름을 입력합니다.
선택사항: 설명을 입력합니다.
예약 방법 섹션에서 자동을 선택합니다.
프리픽스 길이를 선택합니다.
대상 IP 주소 범위 1 필드에 IP 주소를 할당할 IP 주소 범위를 입력합니다. 대상 IP 주소 범위 추가를 클릭하고 각 범위를 입력하여 여러 IP 주소 범위를 지정할 수 있습니다.
네트워크를 선택합니다.
피어링 유형을 선택합니다.
사용량 유형을 선택합니다.
예약을 클릭합니다.
gcloud
internal-ranges create
명령어를 사용합니다.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --network=NETWORK_NAME \ --prefix-length=PREFIX_LENGTH \ --target-cidr-range=TARGET_CIDR_RANGE \ --peering=PEERING_TYPE \ --usage=USAGE_TYPE \ --description="DESCRIPTION"
다음을 바꿉니다.
RANGE_NAME
: 내부 범위의 이름입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.PREFIX_LENGTH
: 할당된 IP 주소의 프리픽스 길이입니다.TARGET_CIDR_RANGE
: IP 주소 블록을 할당할 대상 CIDR 범위입니다. 쉼표로 구분된 목록으로 여러 CIDR 범위를 입력할 수 있습니다. 기본값은 커스텀 모드 VPC 네트워크의 경우10.0.0.0/8
이고 자동 모드 VPC 네트워크의 경우10.128.0.0/9
입니다.PEERING_TYPE
: 내부 범위의 피어링 유형입니다. 옵션은FOR_SELF
,FOR_PEER
,NOT_SHARED
입니다. 기본값은FOR_SELF
입니다.USAGE_TYPE
: 내부 범위의 사용 유형입니다. 옵션은FOR_VPC
및EXTERNAL_TO_VPC
입니다. 기본값은FOR_VPC
입니다.DESCRIPTION
: 새 내부 범위에 대한 선택적 설명입니다.
API
internalRanges.create
메서드에 대해 POST
요청을 실행합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_RANGE", "network": "NETWORK_NAME", "description": "DESCRIPTION", "peering": "PEERING_TYPE", "usage": "USAGE_TYPE" }
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 내부 범위의 이름입니다.PREFIX_LENGTH
: 범위의 IP 주소 블록의 CIDR 프리픽스 길이입니다.TARGET_RANGE
: IP 주소 블록을 할당할 대상 CIDR 범위입니다. JSON 배열로 여러 CIDR 범위를 지정할 수 있습니다. 기본값은 커스텀 모드 VPC 네트워크의 경우10.0.0.0/8
이고 자동 모드 VPC 네트워크의 경우10.128.0.0/9
입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.DESCRIPTION
: 새 내부 범위에 대한 선택적 설명입니다.PEERING_TYPE
: 내부 범위의 피어링 유형입니다. 옵션은FOR_SELF
,FOR_PEER
,NOT_SHARED
입니다. 기본값은FOR_SELF
입니다.USAGE_TYPE
: 내부 범위의 사용 유형입니다. 옵션은FOR_VPC
및EXTERNAL_TO_VPC
입니다. 기본값은FOR_VPC
입니다.
내부 범위 예약
사용 유형 및 피어링 유형이 올바르게 설정된 내부 범위를 만들면 할당된 IP 주소가 의도한 대로 사용되도록 Google Cloud에서 도울 수 있습니다. 내부 범위는 사용 유형 및 피어링 유형에 선택한 설정에 따라 사용하도록 예약됩니다.
온프레미스 네트워크의 내부 범위 예약
온프레미스 전용으로 예약된 내부 범위를 만들 수 있습니다. 온프레미스 사용을 위한 범위를 예약할 때는 새 리소스가 예약된 범위와 충돌할 경우 Google Cloud에서 상위 VPC 네트워크에 서브네트워크 또는 경로를 만들 수 없습니다.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
내부 범위 예약을 클릭합니다.
이름을 입력합니다.
선택사항: 설명을 입력합니다.
예약 메서드 섹션에서 직접 지정을 선택합니다.
IP 범위 필드에 내부 범위의 IP 주소 범위를 CIDR 표기법으로 입력합니다.
네트워크를 선택합니다.
피어링을 클릭한 다음 공유 안함을 선택합니다.
사용량을 클릭한 후 VPC 외부를 선택합니다.
예약을 클릭합니다.
gcloud
internal-ranges create
명령어를 사용합니다.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --description="reserved for on-premises" \ --usage=EXTERNAL_TO_VPC \ --peering=NOT_SHARED
다음을 바꿉니다.
RANGE_NAME
: 온프레미스 사용을 위해 예약할 내부 범위의 이름입니다.CIDR_RANGE
: 온프레미스 사용을 위해 할당할 CIDR 범위입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.
API
internalRanges.create
메서드에 대해 POST
요청을 실행합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "description": "reserved for on-premises use", "usage": "EXTERNAL_TO_VPC", "peering": "NOT_SHARED" }
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 새 내부 범위의 이름입니다.CIDR_RANGE
: 범위의 IP 주소 블록의 CIDR 프리픽스 길이입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.
피어 네트워크용 내부 범위 예약
피어 VPC 네트워크용으로 예약된 내부 범위를 만들 수 있습니다. 피어 VPC 네트워크에 범위를 예약하면 범위의 상위 VPC 네트워크에 있는 리소스는 해당 범위를 사용할 수 없습니다. 피어 및 P2P VPC 네트워크의 피어만 이 범위를 사용할 수 있습니다.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
내부 범위 예약을 클릭합니다.
이름을 입력합니다.
선택사항: 설명을 입력합니다.
예약 메서드 섹션에서 직접 지정을 선택합니다.
IP 범위 필드에 내부 범위의 IP 주소 범위를 CIDR 표기법으로 입력합니다.
네트워크를 선택합니다.
피어링을 클릭한 후 피어를 선택합니다.
사용량을 클릭한 후 VPC용을 선택합니다.
예약을 클릭합니다.
gcloud
internal-ranges create
명령어를 사용합니다.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --target-cidr-range=TARGET_CIDR_RANGE \ --prefix-length=PREFIX_LENGTH \ --network=NETWORK_NAME \ --peering=FOR_PEER \ --usage=FOR_VPC
다음을 바꿉니다.
RANGE_NAME
: 피어 네트워크 전용으로 예약할 내부 범위의 이름입니다.TARGET_CIDR_RANGE
: IP 주소 블록을 할당할 대상 CIDR 범위입니다. 쉼표로 구분된 목록으로 여러 CIDR 범위를 지정할 수 있습니다. 기본값은 커스텀 모드 VPC 네트워크의 경우10.0.0.0/8
이고 자동 모드 VPC 네트워크의 경우10.128.0.0/9
입니다.PREFIX_LENGTH
: 할당된 IP 주소의 프리픽스 길이입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.
API
internalRanges.create
메서드에 대해 POST
요청을 실행합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "prefixLength": PREFIX_LENGTH, "targetCidrRange": "TARGET_CIDR_RANGE", "network": "NETWORK_NAME", "peering": "FOR_PEER", "usage": "FOR_VPC" }
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 내부 범위의 이름입니다.PREFIX_LENGTH
: 범위의 IP 주소 블록의 CIDR 프리픽스 길이입니다.TARGET_CIDR_RANGE
: IP 주소 블록을 할당할 CIDR 범위입니다. JSON 배열로 여러 CIDR 범위를 지정할 수 있습니다. 기본값은 커스텀 모드 VPC 네트워크의 경우10.0.0.0/8
이고 자동 모드 VPC 네트워크의 경우10.128.0.0/9
입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.
로컬 VPC 네트워크에 내부 범위 예약
로컬 VPC 네트워크 전용으로 예약된 내부 범위를 만들 수 있습니다. 예약된 범위는 피어 VPC 네트워크에서 공지하지 않으며 피어 VPC 네트워크는 상위 VPC 네트워크에 표시되는 방식으로 내부 범위를 사용할 수 없습니다.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
내부 범위 예약을 클릭합니다.
이름을 입력합니다.
선택사항: 설명을 입력합니다.
예약 메서드 섹션에서 직접 지정을 선택합니다.
IP 범위 필드에 내부 범위의 IP 주소 범위를 CIDR 표기법으로 입력합니다.
네트워크를 선택합니다.
피어링을 클릭한 다음 공유 안함을 선택합니다.
사용량을 클릭한 후 VPC용을 선택합니다.
예약을 클릭합니다.
gcloud
internal-ranges create
명령어를 사용합니다.
gcloud network-connectivity internal-ranges create RANGE_NAME \ --ip-cidr-range=CIDR_RANGE \ --network=NETWORK_NAME \ --peering=NOT_SHARED \ --usage=FOR_VPC
다음을 바꿉니다.
RANGE_NAME
: 로컬 VPC 네트워크에서 사용하도록 예약할 내부 범위의 이름입니다.CIDR_RANGE
: 범위의 IP 주소 블록의 CIDR 프리픽스 길이입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.
API
internalRanges.create
메서드에 대해 POST
요청을 실행합니다.
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=RANGE_NAME { "ipCidrRange": "CIDR_RANGE", "network": "NETWORK_NAME", "peering": "NOT_SHARED", "usage": "FOR_VPC" }
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 새 내부 범위의 이름입니다.CIDR_RANGE
: 범위의 IP 주소 블록의 CIDR 프리픽스 길이입니다.NETWORK_NAME
: 내부 범위를 만들 네트워크의 이름입니다.
내부 범위가 있는 서브네트워크 만들기
서브네트워크를 만들고 내부 범위를 사용하여 서브넷의 내부 IP 주소 범위를 지정할 수 있습니다. 서브네트워크는 전체 내부 범위와 연결하거나 범위의 일부에만 연결할 수도 있습니다. 서브네트워크의 보조 범위는 내부 범위와 연결할 수도 있습니다.
내부 범위와 연결된 하위 네트워크를 만들려면 Google Cloud CLI를 사용하거나 API 요청을 보내세요.
전체 내부 범위를 사용하는 서브네트워크 만들기
내부 IP 주소 범위에 전체 내부 범위를 사용하는 서브네트워크를 만들려면 다음 단계를 따르세요.
gcloud
- 새 서브넷을 만들 네트워크의 내부 범위를 만듭니다. 이 내부 범위의 사용 유형을
FOR_VPC
로 설정하고 피어링 유형을FOR_SELF
로 설정합니다. subnets create
명령어를 사용합니다.gcloud beta compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --network=NETWORK_NAME \ --region=REGION
다음을 바꿉니다.
SUBNET_NAME
: 서브넷의 이름입니다.PROJECT_ID
: 서브넷을 만들 프로젝트의 ID입니다.RANGE_NAME
: 서브넷과 연결할 내부 범위의 이름입니다.NETWORK_NAME
: 서브네트워크를 만들 네트워크의 이름입니다.REGION
: 서브네트워크를 만들 리전입니다.
API
- 새 서브넷을 만들 네트워크의 내부 범위를 만듭니다. 이 내부 범위의 사용 유형을
FOR_VPC
로 설정하고 피어링 유형을FOR_SELF
로 설정합니다. subnetworks.insert
메서드에 대해POST
요청을 실행합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "network" : "NETWORK" }
다음을 바꿉니다.
PROJECT_ID
: 새 서브넷의 상위 프로젝트 ID입니다.REGION
: 서브넷을 만들 리전입니다.SUBNET_NAME
: 새 서브넷의 이름입니다.PROJECT_ID
: 서브넷을 만들 프로젝트의 ID입니다.RANGE_NAME
: 새 서브넷에 사용할 내부 범위의 이름입니다.NETWORK
: 서브넷을 만들 네트워크의 이름입니다.
내부 범위의 일부를 사용하는 서브네트워크 만들기
내부 IP 주소 범위에 내부 범위의 일부를 사용하는 하위 네트워크를 만들려면 다음 단계를 따르세요.
gcloud
- 새 서브넷을 만들 네트워크의 내부 범위를 만듭니다. 이 내부 범위의 사용 유형을
FOR_VPC
로 설정하고 피어링 유형을FOR_SELF
로 설정합니다. subnets create
명령어를 사용합니다.gcloud beta compute networks subnets create SUBNET_NAME \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME \ --range=IP_RANGE \ --network=NETWORK_NAME \ --region=REGION
다음을 바꿉니다.
SUBNET_NAME
: 서브넷의 이름입니다.PROJECT_ID
: 서브넷을 만들 프로젝트의 ID입니다.RANGE_NAME
: 새 서브넷에 연결할 내부 범위의 이름입니다.IP_RANGE
: 내부 범위의 하위 집합인 CIDR 범위입니다.NETWORK_NAME
: 서브네트워크를 만들 네트워크의 이름입니다.REGION
: 서브네트워크를 만들 리전입니다.
예를 들어 다음 두 명령어는 10.9.0.0/16
CIDR 블록을 예약하는 내부 범위의 10.9.1.0/24
부분에만 연결된 서브넷을 만듭니다.
gcloud network-connectivity internal-ranges create reserved-range-one \ --ip-cidr-range=10.9.0.0/16 \ --network=vpc-one
gcloud beta compute networks subnets create subnet-one \ --reserved-internal-range=networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-range-one \ --range=10.9.1.0/24 \ --network=vpc-one \ --region=us-central1
API
- 새 서브넷을 만들 네트워크의 내부 범위를 만듭니다. 이 내부 범위의 사용 유형을
FOR_VPC
로 설정하고 피어링 유형을FOR_SELF
로 설정합니다. subnetworks.insert
메서드에 대해POST
요청을 실행합니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks { "name" : "SUBNET_NAME", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME", "range" : "IP_RANGE", "network" : "NETWORK" }
다음을 바꿉니다.
PROJECT_ID
: 새 서브넷의 상위 프로젝트 ID입니다.REGION
: 서브넷을 만들 리전입니다.SUBNET_NAME
: 서브넷의 이름입니다.PROJECT_ID
: 서브넷을 만들 프로젝트의 ID입니다.RANGE_NAME
: 새 서브넷에 연결할 내부 범위의 이름입니다.IP_RANGE
: 선택한 내부 범위의 하위 집합인 CIDR 범위입니다.NETWORK
: 서브네트워크를 만들 네트워크의 이름입니다.
예를 들어 다음 두 요청은 10.9.0.0/16
CIDR 블록을 포함하는 내부 범위의 10.9.1.0/24
부분에만 연결된 서브넷을 만듭니다.
POST https://networkconnectivity.googleapis.com/v1/projects/sample-project/locations/global/internalRanges?internalRangeId=reserved-for-subnet { "targetCidrRange": "10.9.0.0/16", "network": "network-b" }
POST https://compute.googleapis.com/compute/beta/projects/11223344/regions/us-central1/subnetworks { "name" : "subnet-with-partial-range", "reservedInternalRange" : "networkconnectivity.googleapis.com/projects/project-one/locations/global/internalRanges/reserved-for-subnet", "range" : "10.9.1.0/24", "network" : "network-b" }
내부 범위가 있는 GKE 클러스터 만들기
내부 범위를 사용하여 Google Kubernetes Engine(GKE) VPC 기반 클러스터의 IP 주소를 할당할 수 있습니다.
내부 범위가 있는 VPC 기반 클러스터를 만들려면 Google Cloud CLI를 사용하거나 API 요청을 보내세요.
gcloud
internal-ranges create
명령어를 사용하여 다음 내부 범위를 만듭니다.- GKE 노드의 경우:
gcloud network-connectivity internal-ranges create gke-nodes-1 \ --prefix-length=NODE_PREFIX_LENGTH \ --network=NETWORK
- GKE 포드:
gcloud network-connectivity internal-ranges create gke-pods-1 \ --prefix-length=POD_PREFIX_LENGTH \ --network=NETWORK
- GKE 서비스:
gcloud network-connectivity internal-ranges create gke-services-1 \ --prefix-length=SERVICE_PREFIX_LENGTH \ --network=NETWORK
다음을 바꿉니다.
NODE_PREFIX_LENGTH
: GKE 노드와 연결된 내부 범위의 프리픽스 길이입니다.POD_PREFIX_LENGTH
: GKE 포드와 연결된 내부 범위의 프리픽스 길이입니다.SERVICE_PREFIX_LENGTH
: GKE 서비스와 연결된 내부 범위의 프리픽스 길이입니다.NETWORK
: 네트워크의 이름입니다.
subnets create
명령어를 사용하여 이전 단계에서 만든 내부 범위로 서브넷을 만듭니다.gcloud beta compute networks subnets create gke-subnet-1 \ --network=NETWORK \ --region=REGION \ --reserved-internal-range="//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1" \ --secondary-range-with-reserved-internal-range="pods=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1,services=//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1"
다음을 바꿉니다.
NETWORK
: 네트워크의 이름입니다.REGION
: 서브넷의 리전입니다.PROJECT_ID
: 프로젝트 ID입니다.
clusters create
명령어를 사용하여 VPC 기반 클러스터를 만듭니다.gcloud container clusters create CLUSTER_NAME \ --network=NETWORK \ --subnetwork=gke-subnet-1 \ --zone=ZONE \ --cluster-secondary-range-name=pods \ --services-secondary-range-name=services \ --enable-ip-alias
API
internalRanges.create
메서드에POST
요청을 전송하여 다음 내부 범위를 만듭니다.- GKE 노드의 경우:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-nodes-1 { "network": "NETWORK", "prefixLength": NODE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- GKE 포드:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-pods-1 { "network": "NETWORK", "prefixLength": POD_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
- GKE 서비스:
POST https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?internalRangeId=gke-services-1 { "network": "NETWORK", "prefixLength": SERVICE_PREFIX_LENGTH, "peering": "FOR_SELF", "usage": "FOR_VPC" }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.NETWORK
: 네트워크의 이름입니다.NODE_PREFIX_LENGTH
: GKE 노드와 연결된 내부 범위의 프리픽스 길이입니다.POD_PREFIX_LENGTH
: GKE 포드와 연결된 내부 범위의 프리픽스 길이입니다.SERVICE_PREFIX_LENGTH
: GKE 서비스와 연결된 내부 범위의 프리픽스 길이입니다.
subnetworks.insert
메서드에POST
요청을 전송하여 이전 단계에서 만든 내부 범위로 서브넷을 만듭니다.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/subnetworks { "name": "gke-subnet-1", "network": "https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/networks/NETWORK", "privateIpGoogleAccess": false, "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-nodes-1", "secondaryIpRanges": [ { "rangeName": "pods", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-pods-1" }, { "rangeName": "services", "reservedInternalRange": "//networkconnectivity.googleapis.com/projects/PROJECT_ID/locations/global/internalRanges/gke-services-1" } ] }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 IDREGION
: 서브넷의 리전입니다.NETWORK
: 서브넷의 네트워크입니다.
clusters.create
메서드에POST
요청을 전송하여 VPC 기반 클러스터를 만듭니다.POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/ZONE/clusters { "cluster": { "ipAllocationPolicy": { "clusterSecondaryRangeName": "pods", "createSubnetwork": false, "servicesSecondaryRangeName": "services", "useIpAliases": true }, "name": "CLUSTER_NAME", "network": "NETWORK", "nodePools": [ { "config": { "oauthScopes": [ "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/logging.write", "https://www.googleapis.com/auth/monitoring", "https://www.googleapis.com/auth/service.management.readonly", "https://www.googleapis.com/auth/servicecontrol", "https://www.googleapis.com/auth/trace.append" ] }, "initialNodeCount": 3, "management": { "autoRepair": true, "autoUpgrade": true }, "name": "default-pool", "upgradeSettings": { "maxSurge": 1 } } ], "subnetwork": "gke-subnet-1" }, "parent": "projects/PROJECT_ID/locations/ZONE" }
다음을 바꿉니다.
PROJECT_ID
: 프로젝트 ID입니다.ZONE
: 클러스터의 영역입니다.CLUSTER_NAME
: 새 클러스터의 이름NETWORK
: 클러스터의 네트워크입니다.
내부 범위 나열
내부 범위를 나열하여 현재 프로젝트 또는 특정 VPC 네트워크의 모든 내부 범위를 확인할 수 있습니다. VPC 네트워크의 프로젝트를 나열하려면 Google Cloud CLI를 사용하거나 API 요청을 보내세요.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
gcloud
현재 프로젝트의 모든 내부 범위를 보려면
internal-ranges list
명령어를 사용합니다.gcloud network-connectivity internal-ranges list
VPC 네트워크의 모든 내부 범위를 보려면
internal-ranges list
명령어를 사용하고 필터를 포함합니다.gcloud network-connectivity internal-ranges list \ --filter=network:NETWORK_NAME \ --project=PROJECT_ID
다음을 바꿉니다.
NETWORK_NAME
: 내부 범위를 나열할 VPC 네트워크의 이름입니다.PROJECT_ID
: VPC 네트워크가 포함된 프로젝트의 ID입니다.
API
프로젝트의 모든 내부 범위를 보려면
internalRanges.list
메서드에 대해GET
요청을 실행합니다.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges
PROJECT_ID
를 내부 범위를 표시할 프로젝트의 ID로 바꿉니다.VPC 네트워크의 모든 내부 범위를 보려면
internalRanges.list
메서드에GET
요청을 하고 필터를 포함합니다.GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges?filter=network=\"https://www.googleapis.com/compute/v1/projects/PROJECT_ID/global/networks/NETWORK_NAME\"
NETWORK_NAME
을 내부 범위를 나열할 VPC 네트워크의 이름으로 바꿉니다.
내부 범위 설명
내부 범위를 설명하여 내부 범위와 연결된 모든 서브네트워크를 비롯하여 선택한 범위에 관한 세부정보를 볼 수 있습니다.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
설명하려는 내부 범위의 이름을 클릭합니다.
gcloud
internal-ranges describe
명령어를 사용합니다.
gcloud network-connectivity internal-ranges describe RANGE_NAME
RANGE_NAME
을 설명할 내부 범위의 이름으로 바꿉니다.
API
internalRanges.get
메서드에 대해 GET
요청을 실행합니다.
GET https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 설명할 내부 범위의 이름입니다.
내부 범위 확장
내부 범위 리소스에 할당된 IP 주소 범위를 확장할 수는 있지만 범위를 좁힐 수는 없습니다. 업데이트된 범위에는 이전 범위가 포함되어야 합니다. 할당된 범위를 좁히거나 다른 요소를 수정하려면 내부 범위를 삭제하고 새 범위를 만듭니다.
내부 범위의 IP CIDR 범위 확장
IP CIDR 범위를 업데이트하여 내부 범위를 확장하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
업데이트할 내부 범위의 이름을 클릭합니다.
범위 펼치기를 클릭합니다.
IP 범위를 클릭합니다.
이전 범위가 포함되어야 하는 새 IP 범위를 입력합니다.
펼치기를 클릭합니다.
gcloud
internal-ranges update
명령어를 사용합니다.
gcloud network-connectivity internal-ranges update RANGE_NAME \ --ip-cidr-range=CIDR_RANGE
다음을 바꿉니다.
RANGE_NAME
: 내부 범위의 이름입니다.CIDR_RANGE
: 업데이트된 CIDR 범위로, 이전 범위를 포함해야 합니다.
API
internalRanges.patch
메서드에 대해 PATCH
요청을 실행합니다.
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=ipCidrRange { "ipCidrRange": "CIDR_RANGE" }
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 내부 범위의 이름입니다.CIDR_RANGE
: 업데이트된 CIDR 범위로, 이전 범위를 포함해야 합니다.
프리픽스 길이를 줄여 내부 범위 확장
프리픽스 길이를 줄여 내부 범위를 확장하려면 다음 단계를 따르세요.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
업데이트할 내부 범위의 이름을 클릭합니다.
범위 펼치기를 클릭합니다.
프리픽스 길이를 클릭합니다.
프리픽스 길이 목록에서 기존 프리픽스 길이보다 짧은 프리픽스 길이를 선택합니다.
펼치기를 클릭합니다.
gcloud
internal-ranges update
명령어를 사용합니다.
gcloud network-connectivity internal-ranges update RANGE_NAME \ --prefix-length=PREFIX_LENGTH
다음을 바꿉니다.
RANGE_NAME
: 내부 범위의 이름입니다.PREFIX_LENGTH
: 업데이트된 프리픽스 길이로, 이전 프리픽스 길이보다 작아야 합니다.
API
internalRanges.patch
메서드에 대해 PATCH
요청을 실행합니다.
PATCH https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME?updateMask=prefixLength { "prefixLength": PREFIX_LENGTH }
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 내부 범위의 이름입니다.PREFIX_LENGTH
: 업데이트된 프리픽스 길이로, 이전 프리픽스 길이보다 작아야 합니다.
내부 범위 삭제
서브네트워크와 같은 Google Cloud 리소스와 연결되어 있지 않은 경우 내부 범위를 삭제할 수 있습니다. Google Cloud 리소스와 연결된 내부 범위를 삭제하려면 먼저 연결된 리소스를 삭제합니다.
콘솔
Google Cloud 콘솔에서 내부 범위 페이지로 이동합니다.
삭제하려는 내부 범위의 이름을 클릭합니다.
삭제를 클릭합니다.
삭제를 클릭하여 확인합니다.
gcloud
internal-ranges delete
명령어를 사용합니다.
gcloud network-connectivity internal-ranges delete RANGE_TO_DELETE
RANGE_TO_DELETE
를 삭제할 내부 범위의 이름으로 바꿉니다.
API
internalRanges.delete
메서드에 대해 DELETE
요청을 실행합니다.
DELETE https://networkconnectivity.googleapis.com/v1/projects/PROJECT_ID/locations/global/internalRanges/RANGE_NAME
다음을 바꿉니다.
PROJECT_ID
: 내부 범위의 상위 프로젝트 ID입니다.RANGE_NAME
: 내부 범위의 이름입니다.