- 카테고리:
시스템 함수 (시스템 제어)
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT¶
Snowflake VPC 또는 VNet에서 비공개 연결 엔드포인트를 프로비저닝하여 Snowflake가 비공개 연결을 사용하여 외부 서비스에 연결할 수 있도록 합니다. 엔드포인트는 Snowflake 계정을 호스팅하는 클라우드 플랫폼에 따라 서비스 엔드포인트 또는 리소스 엔드포인트가 될 수 있습니다.
참고
Snowflake 계정이 Azure 정부 리전에 있는 경우 공급자 리소스 ID 는 정부 구독에 있는 리소스의 ID 여야 합니다. Snowflake 고객을 위한 정부 리전에 대한 자세한 내용은 미국 SnowGov 리전 섹션을 참조하십시오.
구문¶
AWS:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_service_name>', '<host_name>' )
Azure:
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '<provider_resource_id>', '<host_name>' [, '<subresource>' ] )
인자¶
'provider_service_name'
연결할 외부 서비스 또는 리소스를 지정합니다. 예: Amazon API 게이트웨이의 경우
com.amazonaws.us-west-2.execute-api
, Amazon S3의 경우com.amazonaws.us-west-2.s3
.AWS 에서 이 값을 검색하는 방법에 대한 자세한 내용은 비공개 연결 엔드포인트 프로비저닝 섹션을 참조하십시오.
'host_name'
VPC 또는 VNet의 리소스에 액세스하기 위해 정규화된 호스트 이름을 지정합니다.
이 값에는 포트 번호가 포함되지 않으며 외부 서비스에 연결할 수 있도록 Snowflake 오브젝트에서 지정한 것과 일치해야 합니다.
AWS:
예제에는
bedrock-runtime.us-west-2.amazonaws.com
및*.s3.us-west-2.amazonaws.com
이 포함됩니다.외부 스테이지 및 외부 볼륨에 비공개 연결을 사용하는 경우,
host_name
은 특정 AWS S3 버킷을 지정하는 대신 와일드카드를 사용해야 합니다.AWS 에서 이 값을 검색하는 방법에 대한 자세한 내용은 비공개 연결 엔드포인트 프로비저닝 섹션을 참조하십시오.
Azure:
Microsoft Azure API 관리의 경우 이 값은 API 통합의
API_ALLOWED_PREFIXES
속성과 일치해야 합니다.https://
를 포함하지 마십시오.외부 함수를 위한 아웃바운드 비공개 연결의 호스트 이름 예제는 다음을 참조하십시오.
'provider_resource_id'
VPC 또는 VNet 에 있는 리소스에 대한 정규화된 식별자를 지정합니다.
'subresource'
Azure 리소스의 하위 리소스 이름을 지정합니다.
Azure Private Link Service 및 Azure API 관리 서비스에는 이 인자가 필요하지 않습니다.
지원되는 모든 값은 하위 리소스 테이블 섹션을 참조하십시오.
반환¶
엔드포인트가 성공적으로 프로비저닝되었다는 상태 메시지나 엔드포인트가 성공적으로 프로비저닝되지 않은 이유에 대한 세부 정보와 지침을 반환합니다.
사용법 노트¶
계정 관리자(ACCOUNTADMIN 역할이 있는 사용자)만 이 함수를 호출할 수 있습니다.
기존 비공개 연결 엔드포인트는 수정할 수 없으며, 엔드포인트의 프로비저닝을 해제하고 새 엔드포인트를 프로비저닝해야 합니다. 엔드포인트의 프로비저닝을 해제하려면 SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT 시스템 함수를 호출합니다.
이 함수를 실행하는 데 약 5분이 걸릴 수 있는데, (Snowflake 외부의) 클라우드 플랫폼에서 비공개 연결 엔드포인트를 프로비저닝하는 프로세스에 따라 달라지기 때문입니다.
프라이빗 엔드포인트 제한에 대한 자세한 내용은 크기 조정 고려 사항 섹션을 참조하십시오.
예¶
- AWS:
외부 S3 서비스에 대한 아웃바운드 비공개 연결을 설정합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( 'com.amazonaws.us-west-2.s3', '*.s3.us-west-2.amazonaws.com' );
자세한 AWS 예제는 다음 가이드를 참조하십시오.
- Microsoft Azure:
Microsoft Azure 의 Snowflake가 Microsoft Azure VNet 의 Microsoft Azure API 관리 서비스에 연결할 수 있도록 비공개 엔드포인트를 프로비저닝합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api', 'aztest1-external-function-api.azure.net', 'Gateway' );
Private endpoint with ID "/subscriptions/e48379a7-2fc4-473e-b071-f94858cc83f5/resourcegroups/test_rg/providers/microsoft.network/privateendpoints/32bd3122-bfbd-417d-8620-1a02fd68fcf8" to resource "/subscriptions/f4b00c5f-f6bf-41d6-806b-e1cac4f1f36f/resourceGroups/aztest1-external-function-rg/providers/Microsoft.ApiManagement/service/aztest1-external-function-api" has been provisioned successfully. Please note down the endpoint ID and approve the connection from it on the Azure portal.
외부 네트워크 액세스를 사용하여 Microsoft Azure 의 Snowflake가 외부 서비스에 연결할 수 있도록 비공개 엔드포인트를 프로비저닝합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '/subscriptions/11111111-2222-3333-4444-5555555555/resourceGroups/leorg1/providers/Microsoft.Sql/servers/myserver/databases/testdb', 'testdb.database.windows.net', 'sqlServer' );
"Resource Endpoint with id "/subscriptions/f0abb333-1b05-47c6-8c31-dd36d2512fd1/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"
Snowflake가 Microsoft Azure 를 위해 외부 스테이지에 연결할 수 있도록 비공개 엔드포인트를 프로비저닝합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT( '/subscriptions/cc2909f2-ed22-4c89-8e5d-bdc40e5eac26/resourceGroups/mystorage/providers/Microsoft.Storage/storageAccounts/storagedemo', 'storagedemo.blob.core.windows.net', 'blob' );
"Resource Endpoint with id "/subscriptions/57faea9a-20c2-4d35-b283-9c0c1e9593d8/resourceGroups/privatelink-test/providers/Microsoft.Network/privateEndpoints/external-network-access-pe" provisioned successfully"