이 페이지는 트래픽을 공유 VPC 네트워크로 전송할 때 공유 VPC 네트워크 트래픽을 서버리스 VPC 액세스 커넥터 사용에서 직접 VPC 이그레스 사용으로 마이그레이션하려는 네트워킹 전문가를 대상으로 합니다.
직접 VPC 이그레스는 커넥터 인스턴스 대신 새로운 직접 네트워크 경로를 사용하므로 지연 시간은 짧고 처리량이 많아 커넥터보다 더 빠르고 더 많은 트래픽을 처리할 수 있습니다.
마이그레이션하기 전에 직접 VPC 이그레스 기본 요건, 제한사항, IP 주소 할당, IAM 권한을 숙지하는 것이 좋습니다.
서비스를 직접 VPC 이그레스로 마이그레이션
서비스를 직접 VPC 이그레스로 점진적으로 마이그레이션
Cloud Run 서비스를 서버리스 VPC 액세스 커넥터에서 직접 VPC 이그레스로 마이그레이션할 때는 점진적으로 전환하는 것이 좋습니다.
점진적으로 전환하려면 다음 안내를 따르세요.
- 이 가이드의 안내에 따라 직접 VPC 이그레스를 사용하도록 서비스 또는 작업을 업데이트합니다.
- 소량의 트래픽을 분할하여 트래픽이 올바르게 작동하는지 테스트합니다.
- 직접 VPC 이그레스를 사용하여 모든 트래픽을 새 버전으로 전송하도록 트래픽 분할을 업데이트합니다.
서비스에 대해 직접 VPC 이그레스를 사용하여 트래픽을 마이그레이션하려면 Google Cloud 콘솔 또는 Google Cloud CLI를 사용합니다.
Console
Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.
커넥터에서 직접 VPC 이그레스로 마이그레이션할 서비스를 클릭한 다음 새 버전 수정 및 배포를 클릭합니다.
네트워킹 탭을 클릭합니다.
아웃바운드 트래픽을 위해 VPC에 연결에서 트래픽을 VPC로 직접 전송을 클릭합니다.
나와 공유된 네트워크를 선택합니다.
네트워크 필드에서 트래픽을 전송할 공유 VPC 네트워크를 선택합니다.
서브넷 필드에서 서비스가 IP 주소를 수신할 서브넷을 선택합니다. 동일한 서브넷에 여러 서비스를 배포할 수 있습니다.
(선택사항) 서비스 또는 연결할 네트워크 태그의 이름을 입력합니다. 네트워크 태그는 버전 수준에서 지정됩니다. 각 서비스 버전은
network-tag-2
와 같은 다른 네트워크 태그를 가질 수 있습니다.트래픽 라우팅에 다음 중 하나를 선택합니다.
- 공유 VPC 네트워크를 통해 내부 주소로만 트래픽을 전송하도록 비공개 IP에 대한 요청만 VPC로 라우팅합니다.
- 공유 VPC 네트워크를 통해 모든 아웃바운드 트래픽을 전송하려면 모든 트래픽을 VPC로 라우팅합니다.
배포를 클릭합니다.
서비스가 공유 VPC 네트워크에 있는지 확인하려면 서비스를 클릭한 후 네트워킹 탭을 클릭합니다. 네트워크와 서브넷은 VPC 카드에 나열됩니다.
이제 방화벽 규칙에서 허용하는 대로 Cloud Run 서비스에서 공유 VPC 네트워크의 모든 리소스로 요청을 직접 전송할 수 있습니다.
gcloud
Google Cloud CLI를 사용하여 Cloud Run 서비스를 커넥터에서 직접 VPC 이그레스로 마이그레이션하려면 다음 안내를 따르세요.
다음 명령어를 사용하여 공유 VPC 네트워크 및 서브넷에 대해 정규화된 리소스 이름을 지정하여 공유 서브넷에서 서비스를 업데이트합니다.
gcloud beta run services update SERVICE_NAME \ --clear-network \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
다음을 바꿉니다.
- SERVICE_NAME: Cloud Run 서비스의 이름
- IMAGE_URL: 서비스의 이미지 URL
- HOST_PROJECT_ID: 공유 VPC 프로젝트의 ID입니다.
- VPC_NETWORK: 공유 VPC 네트워크 이름입니다.
- REGION: Cloud Run 서비스의 리전으로, 서브넷 리전과 일치해야 합니다.
- SUBNET_NAME: 서브넷 이름입니다.
- 선택사항: NETWORK_TAG_NAMES를 서비스와 연결할 네트워크 태그의 쉼표로 구분된 이름으로 바꿉니다. 서비스의 경우 네트워크 태그가 버전 수준에서 지정됩니다. 각 서비스 버전은
network-tag-2
와 같은 다른 네트워크 태그를 가질 수 있습니다. - EGRESS_SETTING: 이그레스 설정 값
all-traffic
: 모든 아웃바운드 트래픽을 공유 VPC 네트워크를 통해 전송합니다.private-ranges-only
: 공유 VPC 네트워크를 통해 내부 주소로만 트래픽을 전송합니다.
- MAX: 공유 VPC 네트워크에 사용할 최대 인스턴스 수입니다. 서비스에 허용되는 최대 인스턴스 수는 100개입니다.
자세한 내용과 선택적 인수는
gcloud
참조를 확인하세요.서비스가 공유 VPC 네트워크에 있는지 확인하려면 다음 명령어를 실행합니다.
gcloud beta run services describe SERVICE_NAME \ --region=REGION
다음과 같이 바꿉니다.
SERVICE_NAME
을 서비스 이름으로 바꿉니다.REGION
을 이전 단계에서 지정한 서비스의 리전으로 바꿉니다.
출력에는 네트워크, 서브넷, 이그레스 설정의 이름이 포함되어야 합니다. 예를 들면 다음과 같습니다.
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
이제 방화벽 규칙에서 허용하는 대로 Cloud Run 서비스에서 공유 VPC 네트워크의 모든 리소스로 요청을 전송할 수 있습니다.
작업을 직접 VPC 이그레스로 마이그레이션
Google Cloud 콘솔 또는 Google Cloud CLI를 사용하여 작업에 대해 직접 VPC 이그레스로 트래픽을 마이그레이션할 수 있습니다.
Console
Google Cloud 콘솔에서 Cloud Run 페이지로 이동합니다.
커넥터에서 직접 VPC 이그레스로 마이그레이션할 작업을 클릭한 다음 수정을 클릭합니다.
네트워킹 탭을 클릭합니다.
컨테이너, 변수 및 보안 비밀, 연결, 보안을 클릭하여 작업 속성 페이지를 펼칩니다.
연결 탭을 클릭합니다.
아웃바운드 트래픽을 위해 VPC에 연결에서 트래픽을 VPC로 직접 전송을 클릭합니다.
나와 공유된 네트워크를 선택합니다.
네트워크 필드에서 트래픽을 전송할 공유 VPC 네트워크를 선택합니다.
서브넷 필드에서 작업이 IP 주소를 수신할 서브넷을 선택합니다. 동일한 서브넷에 여러 작업을 배포할 수 있습니다.
선택사항: 작업과 연결할 네트워크 태그의 이름을 입력합니다. 작업의 경우 네트워크 태그는 실행 수준에서 지정됩니다. 각 작업 실행에는
network-tag-2
와 같은 다른 네트워크 태그가 있을 수 있습니다.트래픽 라우팅에 다음 중 하나를 선택합니다.
- 공유 VPC 네트워크를 통해 내부 주소로만 트래픽을 전송하도록 비공개 IP에 대한 요청만 VPC로 라우팅합니다.
- 공유 VPC 네트워크를 통해 모든 아웃바운드 트래픽을 전송하려면 모든 트래픽을 VPC로 라우팅합니다.
업데이트를 클릭합니다.
작업이 공유 VPC 네트워크에 있는지 확인하려면 작업을 클릭한 후 구성 탭을 클릭합니다. 네트워크와 서브넷은 VPC 카드에 나열됩니다.
이제 방화벽 규칙에서 허용하는 대로 Cloud Run 작업을 실행하고 공유 VPC 네트워크의 모든 리소스로 작업의 요청을 전송할 수 있습니다.
gcloud
Google Cloud CLI를 사용하여 Cloud Run 작업을 커넥터에서 직접 VPC 이그레스로 마이그레이션하려면 다음 안내를 따르세요.
다음 플래그로
gcloud run jobs update
명령어를 실행하여 공유 VPC 네트워크에서 작업 연결을 해제합니다.gcloud run jobs update JOB_NAME --region=REGION \ --clear-network
다음을 바꿉니다.
- JOB_NAME: Cloud Run 작업의 이름입니다.
- REGION: Cloud Run 작업의 리전입니다.
다음 명령어를 사용하여 공유 VPC 네트워크 및 서브넷의 정규화된 리소스 이름을 지정하여 공유 서브넷에서 작업을 업데이트합니다.
gcloud beta run jobs create JOB_NAME \ --clear-network \ --image IMAGE_URL \ --network projects/HOST_PROJECT_ID/global/networks/VPC_NETWORK \ --subnet projects/HOST_PROJECT_ID/regions/REGION/subnetworks/SUBNET_NAME \ --network-tags NETWORK_TAG_NAMES \ --vpc-egress=EGRESS_SETTING \ --region REGION \ --max-instances MAX
다음을 바꿉니다.
- JOB_NAME: Cloud Run 작업의 이름입니다.
- IMAGE_URL: 작업의 이미지 URL입니다.
- HOST_PROJECT_ID: 공유 VPC 프로젝트의 ID입니다.
- VPC_NETWORK: 공유 VPC 네트워크 이름입니다.
- REGION: Cloud Run 작업의 리전으로, 서브넷 리전과 일치해야 합니다.
- SUBNET_NAME: 서브넷 이름입니다.
- 선택사항: NETWORK_TAG_NAMES를 작업에 연결할 네트워크 태그의 쉼표로 구분된 이름으로 바꿉니다. 각 작업 실행에는
network-tag-2
와 같은 다른 네트워크 태그가 있을 수 있습니다. - EGRESS_SETTING: 이그레스 설정 값
all-traffic
: 모든 아웃바운드 트래픽을 공유 VPC 네트워크를 통해 전송합니다.private-ranges-only
: 공유 VPC 네트워크를 통해 내부 주소로만 트래픽을 전송합니다.
자세한 내용과 선택적 인수는
gcloud
참조를 확인하세요.서비스가 공유 VPC 네트워크에 있는지 확인하려면 다음 명령어를 실행합니다.
gcloud beta run jobs describe JOB_NAME \ --region=REGION
다음과 같이 바꿉니다.
JOB_NAME
을 작업 이름으로 바꿉니다.REGION
을 이전 단계에서 지정한 작업의 리전으로 바꿉니다.
출력에는 네트워크, 서브넷, 이그레스 설정의 이름이 포함되어야 합니다. 예를 들면 다음과 같습니다.
VPC access: Network: default Subnet: subnet Egress: private-ranges-only
이제 방화벽 규칙에서 허용하는 대로 Cloud Run 작업에서 공유 VPC 네트워크의 모든 리소스로 요청을 전송할 수 있습니다.