Private Service Connect 인터페이스 만들기 및 관리
이 페이지에서는 프로듀서 네트워크 관리자가 Private Service Connect 인터페이스를 만들고 관리하는 방법을 설명합니다. Private Service Connect 인터페이스를 사용하면 서비스 프로듀서 가상 프라이빗 클라우드(VPC) 네트워크에서 소비자 VPC 네트워크에 대한 연결을 시작할 수 있습니다.
시작하기 전에
- 프로젝트에서 Compute Engine API를 사용 설정해야 합니다.
- 연결할 네트워크 연결의 URL을 찾습니다.
- 네트워크 연결이 수동으로 연결을 수락하도록 구성된 경우 네트워크 관리자가 네트워크 연결의 허용 목록에 프로젝트를 추가했는지 확인합니다.
역할
Private Service Connect 인터페이스를 만드는 데 필요한 권한을 얻으려면 관리자에게 프로젝트에 대한 다음 IAM 역할을 부여해 달라고 요청하세요.
-
Compute 인스턴스 관리자(v1)(
roles/compute.instanceAdmin.v1
) -
Compute 네트워크 관리자(
roles/compute.networkAdmin
)
역할 부여에 대한 자세한 내용은 프로젝트, 폴더, 조직에 대한 액세스 관리를 참조하세요.
커스텀 역할이나 다른 사전 정의된 역할을 통해 필요한 권한을 얻을 수도 있습니다.
Compute 인스턴스 관리자(v1) 역할에는 Private Service Connect 인터페이스를 만드는 데 필요한 compute.instances.pscInterfaceCreate
권한이 포함되어 있습니다.
Private Service Connect 인터페이스로 VM 만들기
Private Service Connect 인터페이스 연결을 만들려면 네트워크 인터페이스가 2개 이상 있는 가상 머신(VM) 인스턴스가 필요합니다. 첫 번째 인터페이스는 프로듀서 서브넷에 연결됩니다. 다른 인터페이스는 서로 다른 소비자 VPC 네트워크의 네트워크 연결에 대한 연결을 요청하는 Private Service Connect 인터페이스일 수 있습니다.
연결이 허용되면 Google Cloud 는 Private Service Connect 인터페이스에 네트워크 연결에 지정된 서브넷의 내부 IP 주소를 할당합니다.
Private Service Connect 인터페이스가 여러 개인 VM을 만들 때 각 Private Service Connect 인터페이스는 다른 VPC 네트워크에 있는 다른 네트워크 연결에 연결되어야 합니다.
수동으로 연결을 수락하도록 구성된 네트워크 연결을 참조하는 Private Service Connect 인터페이스를 만드는 경우 인터페이스의 프로젝트가 네트워크 연결의 허용 목록에 없으면 Private Service Connect 인터페이스의 VM 생성이 실패합니다. 이 경우 소비자 조직과 협력하여 프로젝트를 허용 목록에 추가한 다음 Private Service Connect 인터페이스를 만듭니다.
Private Service Connect 인터페이스를 만들 때 원하는 경우 내부 별칭 IP 범위를 하나 이상 할당할 수 있습니다. 별칭 IP 범위를 할당하려는 경우 소비자 조직에 문의하여 적절한 IP 주소 범위를 확인하세요.
별칭 IP 범위를 할당하려면 CIDR 표기법으로 범위의 접두사 길이를 지정합니다. Private Service Connect 인터페이스에 별칭 IP 범위를 한 개 이상 할당하면Google Cloud 가 네트워크 연결과 연결된 서브넷의 기본 IP 주소 범위에서 별칭 IP 범위를 할당합니다. Private Service Connect 인터페이스의 기본 IP 주소는 별칭 IP 범위 외부에서 할당됩니다. 네트워크 연결의 서브넷에 기본 IP 주소 및 별칭 IP 범위를 할당할 IP 주소가 충분하지 않으면 Private Service Connect 인터페이스의 VM 생성이 실패합니다. 인터페이스의 VM을 설명하여 할당된 특정 IP 주소를 찾을 수 있습니다.
동적 Private Service Connect 인터페이스(미리보기)를 만들려면 gcloud CLI를 사용하거나 API 요청을 전송합니다.
콘솔
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
인스턴스 만들기를 클릭합니다.
이름을 입력합니다.
연결할 네트워크 연결의 리전과 일치하는 리전을 선택합니다.
영역을 선택합니다.
고급 옵션을 클릭합니다.
네트워킹을 클릭합니다.
네트워크 인터페이스 섹션에서 기본 네트워크 인터페이스인 첫 번째 네트워크 인터페이스를 클릭하고 다음 작업을 수행합니다.
- 기본 네트워크 인터페이스의 네트워크를 선택합니다.
- 기본 네트워크 인터페이스의 서브넷을 선택합니다. 이 서브넷은 Private Service Connect 인터페이스의 네트워크 연결과 동일한 리전에 있어야 합니다.
네트워크 인터페이스 추가를 클릭합니다.
인터페이스 유형에서 Private Service Connect를 선택합니다.
네트워크 연결 URL을 입력합니다.
IP 스택 유형을 선택합니다. 이중 스택 Private Service Connect 인터페이스를 만들려면 네트워크 연결의 서브넷이 이중 스택이어야 합니다.
선택사항: 별칭 IP 범위를 추가하려면 접두사 길이 상자에 접두사 길이를 입력합니다(예:
/30
). IP 범위 추가를 클릭한 후 추가하려는 각 별칭 IP 범위의 접두사 길이를 입력하여 여러 개의 별칭 IP 범위를 추가할 수 있습니다.완료를 클릭합니다.
만들기를 클릭합니다.
gcloud
가상 Private Service Connect 인터페이스로 VM을 만들려면
gcloud compute instances create
명령어를 사용합니다.gcloud compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,stack-type=STACK_TYPE
다음을 바꿉니다.
INSTANCE_NAME
: 새 인스턴스의 이름ZONE
: 새 인스턴스의 영역MACHINE_TYPE
: 인스턴스의 머신 유형(사전 정의 또는 커스텀)(예:n1-standard-1
)IMAGE_PROJECT
: 이미지 계열의 프로젝트예를 들어
debian-12
을 이미지 계열로 지정하면debian-cloud
를 이미지 프로젝트로 지정합니다.gcloud compute images list
명령어를 사용하여 사용 가능한 이미지, 이미지 프로젝트, 이미지 계열의 목록을 볼 수 있습니다.IMAGE_FAMILY
: 인스턴스의 이미지 계열이렇게 하면 이미지 계열에서 지원 중단되지 않은 최신 OS 이미지로 VM이 생성됩니다. 예를 들어
debian-12
를 지정하면 Compute Engine에서 Debian 12 이미지 계열에 포함된 최신 버전의 OS 이미지를 사용합니다.PRODUCER_SUBNET
: VM의 기본 네트워크 인터페이스의 서브넷이 서브넷은 Private Service Connect 인터페이스의 네트워크 연결과 동일한 리전에 있어야 합니다.
ATTACHMENT_URI
: 네트워크 첨부 파일의 URI(예:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
)STACK_TYPE
: 동적 Private Service Connect 인터페이스의 스택 유형입니다.IPv4 주소로 인터페이스를 만들려면
IPV4_ONLY
(기본값)를 지정합니다. IPv4 주소와 IPv6 주소를 모두 사용하는 인터페이스 (이중 스택)를 만들려면IPV4_IPV6
를 지정합니다. 인터페이스의 네트워크 연결이 이중 스택 서브넷과 연결된 경우에만 이중 스택 인터페이스를 만들 수 있습니다.
동적 Private Service Connect 인터페이스(미리보기)로 VM을 만들려면
gcloud beta compute instances create
명령어를 사용합니다. 동적 Private Service Connect 인터페이스 생성을 지정하려면 VLAN ID를 포함하세요.gcloud beta compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,vlan=VLAN_ID,stack-type=STACK_TYPE'
VLAN_ID
를 동적 Private Service Connect 인터페이스의 VLAN ID로 바꿉니다. VLAN ID는 2~255 사이의 정수여야 합니다.VLAN ID는 상위 vNIC를 공유하는 각 동적 인터페이스에 대해 고유해야 합니다. 다른 vNIC와 연결된 다른 동적 인터페이스에 동일한 ID를 재사용할 수 있습니다.
Private Service Connect 인터페이스에 별칭 IP 범위를 할당하려면 다음 요청을 보냅니다.
gcloud beta compute instances create INSTANCE_NAME \ --zone=ZONE \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,vlan=VLAN_ID,stack-type=STACK_TYPE,aliases=ALIAS_IP_RANGES'
ALIAS_IP_RANGES
를 인터페이스에 할당할 하나 이상의 별칭 IP 범위로 바꿉니다. 특정 범위(192.168.100.0/24
), 특정 IP 주소(192.168.100.1
) 또는 CIDR 형식의 접두사 길이(/24
)를 입력할 수 있습니다. 세미콜론으로 구분된 목록에 여러 값을 입력할 수 있습니다. 서로 다른 유형의 값을 여러 개 입력할 수 없습니다. 예를 들어192.168.100.0/24;/28
은 지원되지 않습니다.Private Service Connect 인터페이스가 여러 개인 VM을 만들려면 각 인터페이스에 대해 별도의
--network-interface
플래그를 포함하세요. 각 플래그는 서로 다른 네트워크 연결을 참조합니다.동적 Private Service Connect 인터페이스의 경우 상위 vNIC는 명령어의 플래그 순서에 따라 결정됩니다. 상위 vNIC는 동적 인터페이스 전에 지정한 첫 번째 vNIC입니다.
동일한 VM에서 공존하는 동적 및 가상 Private Service Connect 인터페이스를 만들 수 있습니다. 예를 들어 다음 명령어는 가상 Private Service Connect 인터페이스와 동적 Private Service Connect 인터페이스를 모두 사용하여 VM을 만듭니다.
VLAN ID가
2
및3
인 동적 Private Service Connect 인터페이스의 상위는producer-subnet
에 연결되는 첫 번째 vNIC입니다. VLAN ID가4
인 동적 인터페이스의 상위 항목은producer-subnet-2
에 연결되는 vNIC입니다. 마지막 인터페이스는 가상 Private Service Connect 인터페이스입니다.gcloud beta compute instances create producer-vm \ --zone=us-west-1a \ --network-interface='subnet=producer-subnet,no-address' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-1-network-attachment,vlan=2' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-2-network-attachment,vlan=3' \ --network-interface='network=producer-vpc-2,subnet=producer-subnet-2' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-3-network-attachment,vlan=4' \ --network-interface='network-attachment=projects/consumer-project/regions/us-west-1/networkAttachments/consumer-4-network-attachment'
API
가상 Private Service Connect 인터페이스로 VM을 만들려면
instances.insert
메서드에 요청을 보냅니다.HTTP 메서드 및 URL:
POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
JSON 요청 본문:
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "stackType": "STACK_TYPE" } ] }
다음을 바꿉니다.
PRODUCER_PROJECT_ID
: VM 프로젝트의 IDINSTANCE_ZONE
: 새 인스턴스의 영역MACHINE_TYPE_ZONE
: 머신 유형의 영역MACHINE_TYPE
: 인스턴스의 머신 유형(사전 정의 또는 커스텀)(예:n1-standard-1
)VM_NAME
: VM 인스턴스의 이름IMAGE_PROJECT
: 이미지 계열의 프로젝트예를 들어
debian-12
을 이미지 계열로 지정하면debian-cloud
를 이미지 프로젝트로 지정합니다.gcloud compute images list
명령어를 사용하여 사용 가능한 이미지, 이미지 프로젝트, 이미지 계열의 목록을 볼 수 있습니다.IMAGE_FAMILY
: 인스턴스의 이미지 계열이렇게 하면 이미지 계열에서 지원 중단되지 않은 최신 OS 이미지로 VM이 생성됩니다. 예를 들어
debian-12
를 지정하면 Compute Engine에서 Debian 12 이미지 계열에 포함된 최신 버전의 OS 이미지를 사용합니다.PRODUCER_NETWORK
: VM의 기본 네트워크 인터페이스의 서브넷SUBNET_REGION
: VM의 기본 네트워크 인터페이스 서브넷의 리전PRODUCER_SUBNET
: VM의 기본 네트워크 인터페이스의 서브넷이 서브넷은 Private Service Connect 인터페이스의 네트워크 연결과 동일한 리전에 있어야 합니다.
ATTACHMENT_URI
: 네트워크 첨부 파일의 URI(예:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
)STACK_TYPE
: 동적 Private Service Connect 인터페이스의 스택 유형입니다.IPv4 주소로 인터페이스를 만들려면
IPV4_ONLY
(기본값)를 지정합니다. IPv4 주소와 IPv6 주소를 모두 사용하는 인터페이스 (이중 스택)를 만들려면IPV4_IPV6
를 지정합니다. 인터페이스의 네트워크 연결이 이중 스택 서브넷과 연결된 경우에만 이중 스택 인터페이스를 만들 수 있습니다.
동적 Private Service Connect 인터페이스(미리보기)로 VM을 만들려면
instances.insert
메서드의 베타 버전에 요청을 보냅니다. 네트워크 인터페이스 객체에 VLAN ID를 포함하여 동적 Private Service Connect 인터페이스 생성을 지정합니다.HTTP 메서드 및 URL:
POST https://compute.googleapis.com/compute/beta/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
JSON 요청 본문:
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/beta/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/beta/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "vlan": VLAN_ID, "stackType": "IPV4_IPV6" } ] }
VLAN_ID
를 동적 Private Service Connect 인터페이스의 VLAN ID로 바꿉니다. VLAN ID는 2~255 사이의 정수여야 합니다.VLAN ID는 상위 vNIC를 공유하는 각 동적 인터페이스에 대해 고유해야 합니다. 다른 vNIC와 연결된 다른 동적 인터페이스에 동일한 ID를 재사용할 수 있습니다.
Private Service Connect 인터페이스에 별칭 IP 범위를 할당하려면
aliasesIpRanges
필드를 포함합니다.HTTP 메서드 및 URL:
POST https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/zones/INSTANCE_ZONE/instances
JSON 요청 본문:
{ "machineType": "zones/MACHINE_TYPE_ZONE/machineTypes/MACHINE_TYPE", "name": "VM_NAME", "disks": [ { "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/IMAGE" }, "boot": true } ], "networkInterfaces": [ { "network": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/global/networks/PRODUCER_NETWORK", "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PRODUCER_PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "aliasIpRanges": [ { "ipCidrRange": "ALIAS_IP_RANGE" } ], "networkAttachment": "ATTACHMENT_URI" } ] }
ALIAS_IP_RANGE
를 인터페이스에 할당할 별칭 IP 범위로 바꿉니다. 특정 범위(192.168.100.0/24
), 특정 IP 주소(192.168.100.1
) 또는 CIDR 형식의 접두사 길이(/24
)를 입력할 수 있습니다.aliasIpRanges
배열에 여러 개의 별칭 IP 범위를 지정할 수 있습니다. 각 범위는 동일한 형식으로 지정해야 합니다."aliasIpRanges": [ { "ipCidrRange": "/28" }, { "ipCidrRange": "/30" } ]
Private Service Connect 인터페이스가 여러 개인 VM을 만들려면 각 인터페이스의
networkInterfaces
배열에 별도의 객체를 포함합니다. 각 인터페이스 객체는 서로 다른 네트워크 연결을 참조합니다.동적 Private Service Connect 인터페이스의 경우 상위 vNIC는 배열의 객체 순서에 따라 결정됩니다. 상위 vNIC는 동적 인터페이스 전에 지정한 첫 번째 vNIC입니다.
동일한 VM에서 공존하는 동적 및 가상 Private Service Connect 인터페이스를 만들 수 있습니다. 예를 들어 다음 요청은 가상 및 동적 Private Service Connect 인터페이스가 모두 있는 VM을 만듭니다.
VLAN ID가
2
및3
인 동적 Private Service Connect 인터페이스의 상위는producer-subnet
에 연결되는 첫 번째 vNIC입니다. VLAN ID가4
인 동적 인터페이스의 상위 항목은producer-subnet-2
에 연결되는 vNIC입니다. 마지막 인터페이스는 가상 Private Service Connect 인터페이스입니다.{ "machineType": "zones/us-west-1a/machineTypes/e2-medium", "name": "producer-vm", "disks": [ { "initializeParams": { "sourceImage": "projects/debian-cloud/global/images/family/debian-11" }, "boot": true } ], "networkInterfaces": [ { "network": "https://www.googleapis.com/compute/beta/projects/producer-project-id/global/networks/producer-vpc-1", "subnetwork": "https://www.googleapis.com/compute/beta/projects/producer-project-id/regions/us-west-1/subnetworks/producer-subnet" }, { "networkAttachment": "projects/consumer-project1/regions/us-west-1/networkAttachments/consumer-1-network-attachment", "vlan": 2 }, { "networkAttachment": "projects/consumer-project2/regions/us-west-1/networkAttachments/consumer-2-network-attachment", "vlan": 3 }, { "network": "https://www.googleapis.com/compute/beta/projects/producer-project-id/global/networks/producer-vpc-2", "subnetwork": "https://www.googleapis.com/compute/beta/projects/producer-project-id/regions/us-west-1/subnetworks/producer-subnet-2" }, { "networkAttachment": "projects/consumer-project3/regions/us-west-1/networkAttachments/consumer-3-network-attachment", "vlan": 4 }, { "networkAttachment": "projects/consumer-project4/regions/us-west-1/networkAttachments/consumer-4-network-attachment" } ] } ```
VM 인스턴스 만들기에 대한 자세한 내용은 VM 인스턴스 만들기 및 시작을 참조하세요.
기존 VM에 동적 Private Service Connect 인터페이스 추가
VM을 다시 시작하지 않고 기존 VM에 동적 Private Service Connect 인터페이스를 추가할 수 있습니다.
새 Private Service Connect 인터페이스를 통해 트래픽이 흐르기 전에 라우팅을 구성해야 합니다.
gcloud
기존 VM에 단일 동적 Private Service Connect 인터페이스를 추가하려면 gcloud beta compute instances network-interfaces add
명령어를 사용합니다.
동적 Private Service Connect 인터페이스를 여러 개 추가하려면 추가하려는 각 인터페이스에 대해 명령어를 반복합니다.
gcloud beta compute instances network-interfaces add INSTANCE_NAME \ --zone=ZONE \ --vlan=VLAN_ID \ --parent-nic-name=PARENT_NIC_NAME \ --network-attachment=ATTACHMENT_URI
다음을 바꿉니다.
INSTANCE_NAME
: 업데이트할 인스턴스의 이름ZONE
: 업데이트할 인스턴스의 영역VLAN_ID
: 동적 Private Service Connect 인터페이스의 ID(2~4094의 정수)VLAN ID는 상위 vNIC를 공유하는 각 동적 인터페이스에 대해 고유해야 합니다. 다른 vNIC와 연결된 다른 동적 인터페이스에 동일한 ID를 재사용할 수 있습니다.
PARENT_NIC_NAME
: 새 VLAN NIC의 상위 네트워크 인터페이스 이름(예:nic0
)ATTACHMENT_URI
: 네트워크 첨부 파일의 URI(예:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
)
API
기존 VM에 단일 동적 Private Service Connect 인터페이스를 추가하려면 instances.addNetworkInterface
메서드의 베타 버전에 요청을 보냅니다.
동적 Private Service Connect 인터페이스를 여러 개 추가하려면 추가하려는 각 인터페이스에 대한 요청을 반복합니다.
HTTP 메서드 및 URL:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/addNetworkInterface
JSON 요청 본문:
{ "networkAttachment": "ATTACHMENT_URI", "parentNicName": "PARENT_NIC_NAME", "vlan": VLAN_ID }
다음을 바꿉니다.
PROJECT_ID
: VM 프로젝트의 IDZONE
: VM의 영역INSTANCE_NAME
: 업데이트할 VM의 이름ATTACHMENT_URI
: 네트워크 첨부 파일의 URI(예:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
)PARENT_NIC_NAME
: 새 VLAN NIC의 상위 네트워크 인터페이스 이름(예:nic0
)VLAN_ID
: VLAN NIC Private Service Connect 인터페이스의 ID(2~4094의 정수)VLAN NIC 인터페이스 ID는 상위 네트워크 인터페이스 아래의 각 VLAN NIC에 대해 고유해야 하지만, 서로 다른 상위 네트워크 인터페이스와 연결된 다른 VLAN NIC에 대해서는 동일한 ID를 재사용할 수 있습니다.
가상 Private Service Connect 인터페이스에서 동적 Private Service Connect 인터페이스로 마이그레이션
가상 Private Service Connect 인터페이스 대신 동적 Private Service Connect 인터페이스를 사용하도록 서비스를 구성하려면 다음 단계를 따르세요.
- 동적 Private Service Connect 인터페이스를 사용하는 VM을 만듭니다.
- 새 VM의 라우팅을 구성합니다.
- 새 VM을 사용하도록 서비스를 업데이트합니다.
- 가상 Private Service Connect 인터페이스를 사용하는 VM을 삭제합니다.
인스턴스 템플릿을 사용하여 Private Service Connect 인터페이스 만들기 및 관리
인스턴스 템플릿을 사용하여 Private Service Connect 인터페이스를 만들고 관리할 수 있습니다.
인스턴스 템플릿을 만든 후 이를 사용하여 다음 작업을 수행할 수 있습니다.
- Private Service Connect 인터페이스를 사용하는 리전 관리형 인스턴스 그룹(MIG) 만들기
Private Service Connect 인터페이스 추가 또는 삭제를 비롯하여 기존 MIG에 새 구성 적용
기존 MIG에 새 구성을 적용할 때 자동 또는 선택적 업데이트 방법의 최소 및 최대 중단 수준을 지정할 수 있습니다. Private Service Connect 인터페이스를 사용하는 MIG는 최대 중단 값
RESTART
및REPLACE
만 지원합니다. 최대 중단 수준이REFRESH
인 MIG를 업데이트하는 작업이 실패합니다.
동적 Private Service Connect 인터페이스(미리보기)를 사용하여 인스턴스 템플릿을 만들려면 Google Cloud CLI를 사용하거나 API 요청을 전송합니다.
별칭 IP 범위 또는 여러 Private Service Connect 인터페이스를 사용하는 인스턴스 템플릿을 만들려면 Private Service Connect 인터페이스로 VM 만들기와 동일한 문법을 사용하세요. 인스턴스 템플릿은 접두사 길이로 별칭 IP 범위 지정만 지원합니다.
콘솔
Google Cloud 콘솔에서 인스턴스 템플릿 페이지로 이동합니다.
인스턴스 템플릿 만들기를 클릭합니다.
인스턴스 템플릿의 이름을 입력합니다.
고급 옵션을 클릭합니다.
네트워킹을 클릭합니다.
네트워크 인터페이스 섹션에서
펼치기 화살표를 클릭합니다.인스턴스 템플릿의 기본 네트워크 인터페이스의 네트워크 및 서브네트워크를 선택합니다.
완료를 클릭합니다.
네트워크 인터페이스 추가를 클릭합니다.
Private Service Connect를 클릭합니다.
이 인터페이스가 연결되는 네트워크 연결의 URL을 입력합니다.
IP 스택 유형을 선택합니다.
완료를 클릭합니다.
만들기를 클릭합니다.
gcloud
가상 Private Service Connect 인터페이스로 인스턴스 템플릿을 만들려면
gcloud compute instance-templates create
명령어를 사용합니다.gcloud compute instance-templates create NAME \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --region=REGION \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,stack-type=STACK_TYPE'
다음을 바꿉니다.
NAME
: 새 인스턴스 템플릿의 이름MACHINE_TYPE
: 인스턴스의 머신 유형(사전 정의 또는 커스텀)(예:n1-standard-1
)IMAGE_PROJECT
: 이미지 계열의 프로젝트예를 들어
debian-12
을 이미지 계열로 지정하면debian-cloud
를 이미지 프로젝트로 지정합니다.gcloud compute images list
명령어를 사용하여 사용 가능한 이미지, 이미지 프로젝트, 이미지 계열의 목록을 볼 수 있습니다.IMAGE_FAMILY
: 인스턴스의 이미지 계열이렇게 하면 이미지 계열에서 지원 중단되지 않은 최신 OS 이미지로 VM이 생성됩니다. 예를 들어
debian-12
를 지정하면 Compute Engine에서 Debian 12 이미지 계열에 포함된 최신 버전의 OS 이미지를 사용합니다.REGION
: 인스턴스 템플릿의 서브넷 리전PRODUCER_SUBNET
: 인스턴스 템플릿의 서브넷이 인스턴스 템플릿을 사용하여 VM을 만들 때 VM의 기본 네트워크 인터페이스에 이 서브넷의 내부 IP 주소가 할당됩니다. 이 서브넷은 Private Service Connect 인터페이스의 네트워크 연결과 동일한 리전에 있어야 합니다.
ATTACHMENT_URI
: 네트워크 첨부 파일의 URI(예:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
)STACK_TYPE
: 인스턴스 템플릿의 동적 Private Service Connect 인터페이스의 스택 유형입니다.IPv4 주소가 포함된 인터페이스를 추가하려면
IPV4_ONLY
(기본값)를 지정합니다. IPv4 및 IPv6 주소를 모두 사용하는 인터페이스(이중 스택)를 추가하려면IPV4_IPV6
을 지정합니다. 인터페이스의 네트워크 연결이 이중 스택 서브넷과 연결된 경우에만 이중 스택 인터페이스를 만들 수 있습니다.
동적 Private Service Connect 인터페이스로 인스턴스 템플릿을 만들려면
gcloud beta compute instance-templates create
명령어를 사용합니다.gcloud beta compute instance-templates create NAME \ --machine-type=MACHINE_TYPE \ --image-project=IMAGE_PROJECT \ --image-family=IMAGE_FAMILY \ --region=REGION \ --network-interface='subnet=PRODUCER_SUBNET,no-address' \ --network-interface='network-attachment=ATTACHMENT_URI,vlan=VLAN_ID,stack-type=STACK_TYPE'
VLAN_ID
를 동적 Private Service Connect 인터페이스의 VLAN ID로 바꿉니다. VLAN ID는 2~255 사이의 정수여야 합니다.VLAN ID는 상위 vNIC를 공유하는 각 동적 인터페이스에 대해 고유해야 합니다. 다른 vNIC와 연결된 다른 동적 인터페이스에 동일한 ID를 재사용할 수 있습니다.
API
가상 Private Service Connect 인터페이스로 인스턴스 템플릿을 만들려면
instanceTemplates.insert
메서드에 요청을 보냅니다.HTTP 메서드 및 URL:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates
JSON 요청 본문:
{ "name": "NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "subnetwork": "https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "stackType": "STACK_TYPE" } ] } }
다음을 바꿉니다.
PROJECT_ID
: 인스턴스 템플릿의 프로젝트 IDNAME
: 새 인스턴스 템플릿의 이름IMAGE_PROJECT
: 이미지 계열의 프로젝트예를 들어
debian-12
을 이미지 계열로 지정하면debian-cloud
를 이미지 프로젝트로 지정합니다.gcloud compute images list
명령어를 사용하여 사용 가능한 이미지, 이미지 프로젝트, 이미지 계열의 목록을 볼 수 있습니다.IMAGE_FAMILY
: 인스턴스의 이미지 계열이렇게 하면 이미지 계열에서 지원 중단되지 않은 최신 OS 이미지로 VM이 생성됩니다. 예를 들어
debian-12
를 지정하면 Compute Engine에서 Debian 12 이미지 계열에 포함된 최신 버전의 OS 이미지를 사용합니다.SUBNET_REGION
: 인스턴스 템플릿의 서브넷 리전PRODUCER_SUBNET
: 인스턴스 템플릿의 서브넷이 인스턴스 템플릿을 사용하여 VM을 만들 때 VM의 기본 네트워크 인터페이스에 이 서브넷의 내부 IP 주소가 할당됩니다. 이 서브넷은 Private Service Connect 인터페이스의 네트워크 연결과 동일한 리전에 있어야 합니다.
ATTACHMENT_URI
: 네트워크 첨부 파일의 URI(예:projects/CONSUMER_PROJECT_ID/regions/REGION/networkAttachments/ATTACHMENT_NAME
)STACK_TYPE
: 인스턴스 템플릿의 동적 Private Service Connect 인터페이스의 스택 유형입니다.IPv4 주소가 포함된 인터페이스를 추가하려면
IPV4_ONLY
(기본값)를 지정합니다. IPv4 및 IPv6 주소를 모두 사용하는 인터페이스(이중 스택)를 추가하려면IPV4_IPV6
을 지정합니다. 인터페이스의 네트워크 연결이 이중 스택 서브넷과 연결된 경우에만 이중 스택 인터페이스를 만들 수 있습니다.
동적 Private Service Connect 인터페이스로 인스턴스 템플릿을 만들려면
instanceTemplates.insert
메서드의 베타 버전에 요청을 보냅니다.HTTP 메서드 및 URL:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/global/instanceTemplates
JSON 요청 본문:
{ "name": "NAME", "properties": { "disks": [ { "boot": true, "initializeParams": { "sourceImage": "projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" } } ], "machineType": "MACHINE_TYPE", "networkInterfaces": [ { "subnetwork": "https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/SUBNET_REGION/subnetworks/PRODUCER_SUBNET" }, { "networkAttachment": "ATTACHMENT_URI", "vlan": VLAN_ID, "stackType": "STACK_TYPE" } ] } }
VLAN_ID
를 동적 Private Service Connect 인터페이스의 VLAN ID로 바꿉니다. VLAN ID는 2~255 사이의 정수여야 합니다.VLAN ID는 상위 vNIC를 공유하는 각 동적 인터페이스에 대해 고유해야 합니다. 다른 vNIC와 연결된 다른 동적 인터페이스에 동일한 ID를 재사용할 수 있습니다.
인스턴스 템플릿 만들기에 대한 자세한 내용은 인스턴스 템플릿 만들기를 참조하세요.
Private Service Connect 인터페이스 설명
VM을 설명하여 Private Service Connect 인터페이스의 세부정보를 볼 수 있습니다. VM 설명의 네트워크 인터페이스 섹션에 각 인터페이스의 이름, IP 주소, 별칭 IP 범위, 네트워크 연결, 소비자 서브넷이 나열됩니다.
동적 Private Service Connect 인터페이스를 설명하려면 gcloud CLI를 사용하거나 API 요청을 전송합니다.
콘솔
Google Cloud 콘솔에서 VM 인스턴스 페이지로 이동합니다.
Private Service Connect 인터페이스가 있는 VM을 클릭합니다.
네트워크 인터페이스 섹션에서 Private Service Connect 인터페이스의 세부정보를 확인합니다.
gcloud
gcloud beta compute instances describe VM_NAME --zone=ZONE
다음을 바꿉니다.
VM_NAME
: 인터페이스의 VM 이름ZONE
: VM의 영역
API
GET https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME
다음을 바꿉니다.
PROJECT_ID
: VM의 프로젝트 IDZONE
: VM의 영역VM_NAME
: VM의 이름
Private Service Connect 인터페이스 연결 종료
가상 Private Service Connect 인터페이스와 네트워크 연결 간의 연결을 종료하려면 인터페이스의 VM을 삭제하세요.
동적 Private Service Connect 인터페이스와 네트워크 연결 간의 연결을 종료하려면 다음 중 하나를 실행하세요.
- 동적 Private Service Connect 인터페이스를 삭제합니다.
- 동적 Private Service Connect 인터페이스의 VM을 삭제합니다.
동적 Private Service Connect 인터페이스 삭제
연결된 VM을 다시 시작하지 않고도 동적 Private Service Connect 인터페이스를 삭제할 수 있습니다.
gcloud
gcloud beta compute instances network-interfaces delete
명령어를 사용합니다.
gcloud beta compute instances network-interfaces delete INSTANCE_NAME \ --zone=ZONE \ --network-interface=INTERFACE_NAME
다음을 바꿉니다.
INSTANCE_NAME
: 인터페이스의 VM 인스턴스 이름ZONE
: 인터페이스의 VM 인스턴스 영역INTERFACE_NAME
: 삭제할 동적 Private Service Connect 인터페이스의 Google Cloud 이름예를 들어
nic0.10
은 동적 Private Service Connect 인터페이스의 이름이며, 여기서nic0
은 상위 항목이고10
은 VLAN ID입니다.
API
instances.deleteNetworkInterface
메서드의 베타 버전에 요청을 전송합니다.
HTTP 메서드 및 URL:
POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/deleteNetworkInterface?networkInterfaceName=INTERFACE_NAME
다음을 바꿉니다.
PROJECT_ID
: 인터페이스의 VM 프로젝트 IDZONE
: 인터페이스의 VM 영역INSTANCE_NAME
: 인터페이스의 VM 이름INTERFACE_NAME
: 삭제할 동적 Private Service Connect 인터페이스의 Google Cloud 이름예를 들어
nic0.10
은 동적 Private Service Connect 인터페이스의 이름입니다. 여기서nic0
은 상위 vNIC 이름이고10
은 VLAN ID입니다.
Private Service Connect 인터페이스로 VM 삭제
VM을 삭제하면 모든 Private Service Connect 인터페이스 연결이 종료됩니다.
VM 삭제에 대한 자세한 내용은 인스턴스 삭제를 참조하세요.
다음 단계
- Private Service Connect 인터페이스의 라우팅 구성하기
- Private Service Connect 인터페이스 연결이 있는 네트워크의 보안 구성하기
- Private Service Connect 인터페이스 연결이 있는 네트워크에서 대상 중복을 관리하기