게시된 서비스 관리
이 페이지에서는 게시된 서비스에 대한 액세스 요청을 관리하는 방법과 게시된 서비스의 연결 환경설정을 변경하는 방법을 설명합니다.
서비스를 게시할 때 서비스의 연결 환경설정을 구성하여 서비스에 연결할 수 있는 소비자를 제어할 수 있습니다. 연결 환경설정은 다음 중 하나일 수 있습니다.
모든 프로젝트의 연결 자동 허용(
ACCEPT_AUTOMATIC
): 모든 소비자가 서비스에 연결할 수 있습니다.선택한 프로젝트의 연결 허용(
ACCEPT_MANUAL
): 서비스에 연결할 수 있는 소비자를 제어합니다.
서비스 게시에 대한 자세한 내용은 Private Service Connect를 사용하여 관리형 서비스 게시를 참조하세요.
역할
다음 IAM 역할은 이 가이드의 작업을 수행하는 데 필요한 권한을 제공합니다.
- Compute 네트워크 관리자(
roles/compute.networkAdmin
)
게시된 서비스에 대한 액세스 요청 관리
명시적 프로젝트 승인을 사용해 서비스를 게시한 경우 소비자 프로젝트의 연결 요청을 허용하거나 거부할 수 있습니다.
프로젝트를 허용 목록과 거부 목록에 모두 추가하면 해당 프로젝트의 연결 요청이 거부됩니다.
서비스에서 소비자 엔드포인트 연결이 허용되면 서비스 연결이 삭제될 때까지 엔드포인트를 서비스에 연결할 수 있습니다. 이는 프로젝트가 명시적으로 허용되었더라도 적용됩니다. 연결 환경설정이 연결을 자동으로 허용하도록 설정되었을 때 소비자 엔드포인트가 연결되었기 때문입니다.
허용 목록에서 프로젝트를 삭제하면 프로젝트에서 이전에 허용된 모든 소비자 엔드포인트를 서비스에 연결할 수 있습니다. 엔드포인트에 연결하려면 해당 프로젝트에 포함된 새 소비자 엔드포인트의 연결이 허용되어야 합니다.
프로젝트를 거부 목록에 추가하면 프로젝트에서 이전에 허용된 모든 소비자 엔드포인트를 서비스에 연결할 수 있습니다 해당 프로젝트에 포함된 새 소비자 엔드포인트의 연결이 서비스에 연결하지 못하도록 거부됩니다.
Console
Google Cloud 콘솔에서 Private Service Connect 페이지로 이동합니다.
게시된 서비스 탭을 클릭합니다.
관리할 서비스를 클릭합니다.
연결된 프로젝트 섹션에 이 서비스에 연결을 시도한 프로젝트가 나열됩니다. 하나 이상의 프로젝트 옆에 있는 체크박스를 선택하고 수락 또는 거부를 클릭합니다.
gcloud
수정할 서비스 연결을 설명합니다.
gcloud compute service-attachments describe \ ATTACHMENT_NAME --region=REGION
출력은 다음 예시와 비슷합니다. 대기 중인 소비자 연결이 있으면 상태가
PENDING
으로 나열됩니다.이 출력 예시에서
CONSUMER_PROJECT_1
프로젝트는 허용 목록에 있으므로ENDPOINT_1
이 수락되고 서비스에 연결할 수 있습니다.CONSUMER_PROJECT_2
프로젝트는 수락 목록에 없으므로ENDPOINT_2
는 대기 중입니다.CONSUMER_PROJECT_2
가 허용 목록에 추가되면ENDPOINT_2
의 상태가ACCEPTED
로 변경되고 엔드포인트가 서비스에 연결될 수 있습니다.connectedEndpoints: - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_1/regions/REGION_1/forwardingRules/ENDPOINT_1 pscConnectionId: 'ENDPOINT_1_ID' status: ACCEPTED - endpoint: https://www.googleapis.com/compute/v1/projects/CONSUMER_PROJECT_2/regions/REGION_2/forwardingRules/ENDPOINT_2 pscConnectionId: 'ENDPOINT_2_ID' status: PENDING connectionPreference: ACCEPT_MANUAL consumerAcceptLists: - connectionLimit: LIMIT_1 projectIdOrNum: CONSUMER_PROJECT_1 creationTimestamp: 'TIMESTAMP' description: 'DESCRIPTION' enableProxyProtocol: false fingerprint: FINGERPRINT id: 'ID' kind: compute#serviceAttachment name: NAME natSubnets: - https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/subnetworks/PSC_SUBNET pscServiceAttachmentId: high: 'PSC_ATTACH_ID_HIGH' low: 'PSC_ATTACH_ID_LOW' region: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION selfLink: https://www.googleapis.com/compute/v1/projects/projects/PRODUCER_PROJECT/regions/REGION/serviceAttachments/ATTACHMENT_NAME targetService: https://www.googleapis.com/compute/v1/projects/PRODUCER_PROJECT/regions/REGION/forwardingRules/PRODUCER_FWD_RULE
소비자 프로젝트를 허용 또는 거부합니다.
--consumer-accept-list
,--consumer-reject-list
또는 둘 다를 지정할 수 있습니다.--consumer-accept-list
및--consumer-reject-list
에 값을 여러 개 지정할 수 있습니다.gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2 \ --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2
다음을 바꿉니다.
ATTACHMENT_NAME
: 서비스 연결에 할당할 이름REGION
: 서비스 연결이 있는 리전ACCEPTED_PROJECT_1
및ACCEPTED_PROJECT_2
: 허용할 프로젝트.consumerAcceptList
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.LIMIT_1
및LIMIT_2
: 프로젝트의 연결 한도. 연결 한도는 이 서비스에 연결할 수 있는 Private Service Connect 엔드포인트의 수입니다. 허용되는 각 프로젝트에는 연결 한도가 구성되어 있어야 합니다.REJECTED_PROJECT_1
및REJECTED_PROJECT_2
: 거부할 프로젝트.--consumer-reject-list
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.
API
수정할 서비스 연결을 설명합니다.
대기 중인 소비자 연결이 있으면 상태가
PENDING
으로 나열됩니다.GET https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
소비자 프로젝트를 허용하거나 거부합니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "consumerAcceptLists": [ { "projectIdOrNum": "ACCEPTED_PROJECT_1" "connectionLimit": "LIMIT_1", }, { "projectIdOrNum": "ACCEPTED_PROJECT_2" "connectionLimit": "LIMIT_2", } ], "consumerRejectLists": [ "REJECTED_PROJECT_1", "REJECTED_PROJECT_2", ], ... }
다음을 바꿉니다.
PROJECT_ID
: 서비스 연결의 프로젝트REGION
: 서비스 연결의 리전ATTACHMENT_NAME
: 서비스 연결에 할당할 이름REJECTED_PROJECT_1
및REJECTED_PROJECT_2
: 거부할 프로젝트.consumerRejectList
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.ACCEPTED_PROJECT_1
및ACCEPTED_PROJECT_2
: 허용할 프로젝트.consumerAcceptList
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.LIMIT_1
및LIMIT_2
: 프로젝트의 연결 한도. 연결 한도는 이 서비스에 연결할 수 있는 Private Service Connect 엔드포인트의 수입니다. 허용되는 각 프로젝트에는 연결 한도가 구성되어 있어야 합니다.
게시된 서비스의 연결 환경설정 변경
게시된 서비스의 자동 및 명시적인 프로젝트 허용 간에 전환할 수 있습니다.
자동 수락에서 명시적 수락으로 변경해도 변경 전에 서비스에 연결된 소비자 엔드포인트는 영향을 받지 않습니다. 기존 소비자 엔드포인트는 서비스 연결이 삭제될 때까지 게시된 서비스에 연결할 수 있습니다. 새 소비자 엔드포인트는 서비스에 연결하기 전에 수락되어야 합니다. 자세한 내용은 게시된 서비스에 대한 액세스 요청 관리를 참조하세요.
Console
Google Cloud 콘솔에서 Private Service Connect 페이지로 이동합니다.
게시된 서비스 탭을 클릭합니다.
업데이트할 서비스를 클릭하고 수정을 클릭합니다.
원하는 연결 환경설정을 선택합니다.
- 선택한 프로젝트의 연결 허용
- 모든 프로젝트의 연결 자동 허용
선택한 프로젝트의 연결 허용으로 전환하는 경우 허용할 프로젝트의 세부정보를 제공하거나 나중에 추가할 수 있습니다.
- 허용되는 프로젝트 추가를 클릭합니다.
- 프로젝트 및 연결 한도를 입력합니다.
저장을 클릭합니다.
gcloud
서비스 연결의 연결 환경설정을
ACCEPT_AUTOMATIC
에서ACCEPT_MANUAL
으로 변경합니다.--consumer-accept-list
및--consumer-reject-list
를 사용하여 서비스에 연결할 수 있는 프로젝트를 제어합니다. 연결 환경설정을 변경할 때 허용 및 거부 목록을 구성하거나 나중에 목록을 업데이트할 수 있습니다.gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --connection-preference=ACCEPT_MANUAL \ [ --consumer-accept-list=ACCEPTED_PROJECT_1=LIMIT_1,ACCEPTED_PROJECT_2=LIMIT_2] \ [ --consumer-reject-list=REJECTED_PROJECT_1,REJECTED_PROJECT_2 ]
다음을 바꿉니다.
ATTACHMENT_NAME
: 서비스 연결의 이름REGION
: 서비스 연결이 있는 리전ACCEPTED_PROJECT_1
및ACCEPTED_PROJECT_2
: 허용할 프로젝트.--consumer-accept-list
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.LIMIT_1
및LIMIT_2
: 프로젝트의 연결 한도. 연결 한도는 이 서비스에 연결할 수 있는 Private Service Connect 엔드포인트의 수입니다. 허용되는 각 프로젝트에는 연결 한도가 구성되어 있어야 합니다.REJECTED_PROJECT_1
및REJECTED_PROJECT_2
: 거부할 프로젝트.--consumer-reject-list
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.
서비스 연결의 연결 환경설정을
ACCEPT_MANUAL
에서ACCEPT_AUTOMATIC
으로 변경합니다.허용 목록 또는 거부 목록에 값이 있으면 연결 환경설정을 변경할 때 값을 빈 값으로 설정합니다(
""
참조).gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --connection-preference=ACCEPT_AUTOMATIC \ --consumer-accept-list="" \ --consumer-reject-list=""
다음을 바꿉니다.
ATTACHMENT_NAME
: 서비스 연결의 이름REGION
: 서비스 연결이 있는 리전
API
서비스 연결의 연결 환경설정을
ACCEPT_AUTOMATIC
에서ACCEPT_MANUAL
으로 변경합니다.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "connectionPreference": "ACCEPT_MANUAL", "consumerAcceptLists": [ { "projectIdOrNum": "ACCEPTED_PROJECT_1" "connectionLimit": "LIMIT_1", }, { "projectIdOrNum": "ACCEPTED_PROJECT_2" "connectionLimit": "LIMIT_2", } ], "consumerRejectLists": [ "REJECTED_PROJECT_1", "REJECTED_PROJECT_2", ], ... }
다음을 바꿉니다.
PROJECT_ID
: 서비스 연결의 프로젝트REGION
: 서비스 연결의 리전ATTACHMENT_NAME
: 서비스 연결에 할당할 이름REJECTED_PROJECT_1
및REJECTED_PROJECT_2
: 거부할 프로젝트.consumerRejectList
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.ACCEPTED_PROJECT_1
및ACCEPTED_PROJECT_2
: 허용할 프로젝트.consumerAcceptList
는 선택사항이며 하나 이상의 프로젝트를 포함할 수 있습니다.LIMIT_1
및LIMIT_2
: 프로젝트의 연결 한도. 연결 한도는 이 서비스에 연결할 수 있는 Private Service Connect 엔드포인트의 수입니다. 허용되는 각 프로젝트에는 연결 한도가 구성되어 있어야 합니다.
서비스 연결의 연결 환경설정을
ACCEPT_MANUAL
에서ACCEPT_AUTOMATIC
으로 변경합니다.consumerAcceptLists
또는consumerRejectLists
필드에서 프로젝트를 지정하는 경우 연결 환경설정을ACCEPT_AUTOMATIC
으로 변경할 때 값을 빈 값으로 설정합니다.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{ ... "connectionPreference": "ACCEPT_AUTOMATIC", "consumerAcceptLists": [ ], "consumerRejectLists": [ ], ... }
다음을 바꿉니다.
PROJECT_ID
: 서비스 연결의 프로젝트REGION
: 서비스 연결의 리전ATTACHMENT_NAME
: 서비스 연결의 이름
게시된 서비스에서 서브넷 추가 또는 삭제
게시된 서비스를 수정하여 구성에서 Private Service Connect 서브넷을 추가하거나 삭제할 수 있습니다.
예를 들어 기존 서비스에 더 많은 IP 주소를 사용할 수 있도록 해야 할 수 있습니다. 주소를 더 추가하려면 다음 중 하나를 수행합니다.
다른 Private Service Connect 서브넷을 만들고 서비스 연결을 수정하여 새 서브넷을 추가합니다.
서브넷을 수정하여 IPv4 범위를 확장합니다.
게시된 서비스에서 Private Service Connect 서브넷을 삭제하면 서브넷의 IP 주소가 해제되지 않습니다. IP 주소는 소비자 Private Service Connect 엔드포인트가 삭제되거나 Private Service Connect 엔드포인트에 액세스하는 클라이언트 VM이 삭제될 때만 해제됩니다.
서브넷 구성을 변경하는 경우 새 서브넷의 요청이 백엔드 VM에 도달할 수 있도록 방화벽 규칙을 업데이트합니다.
Console
Google Cloud 콘솔에서 Private Service Connect 페이지로 이동합니다.
게시된 서비스 탭을 클릭합니다.
업데이트할 서비스를 클릭하고 수정을 클릭합니다.
이 서비스에 사용되는 서브넷을 수정합니다.
새 서브넷을 추가하려면 다음과 같이 서브넷을 만듭니다.
- 새 서브넷 예약을 클릭합니다.
- 서브넷의 이름과 설명(선택사항)을 입력합니다.
- 서브넷의 리전을 선택합니다.
- 서브넷에 사용할 IP 범위를 입력하고 추가를 클릭합니다.
저장을 클릭합니다.
gcloud
이 서비스 연결에 사용되는 Private Service Connect 서브넷을 업데이트합니다.
gcloud compute service-attachments update ATTACHMENT_NAME \ --region=REGION \ --nat-subnets=PSC_SUBNET_LIST
다음을 바꿉니다.
ATTACHMENT_NAME
: 서비스 연결의 이름REGION
: 서비스 연결이 있는 리전PSC_SUBNET_LIST
: 이 서비스 연결에서 사용할 하나 이상의 서브넷의 쉼표로 구분된 목록
API
이 서비스 연결에 사용되는 Private Service Connect 서브넷을 업데이트합니다.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/serviceAttachments/ATTACHMENT_NAME
{
...
"natSubnets": [
"PSC_SUBNET1_URI",
"PSC_SUBNET2_URI",
],
...
}
다음을 바꿉니다.
PROJECT_ID
: 서비스 연결의 프로젝트REGION
: 서비스 연결의 리전ATTACHMENT_NAME
: 서비스 연결에 할당할 이름PSC_SUBNET1_URI
및PSC_SUBNET2_URI
: 이 서비스 연결과 함께 사용할 서브넷의 URI. 하나 이상의 서브넷을 지정할 수 있습니다.