비공개 연결 엔드포인트(AWS)를 관리하십시오.¶
이 항목에서는 AWS 에 대한 아웃바운드 비공개 연결에 사용할 비공개 연결 엔드포인트를 관리하는 방법에 대한 정보를 제공합니다.
비공개 연결 엔드포인트 프로비저닝¶
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 시스템 함수를 사용하여 서비스 또는 리소스, 호스트 이름을 지정하여 비공개 연결 엔드포인트를 만들 수 있습니다. 이 시스템 함수를 사용할 때는 ACCOUNTADMIN 역할을 사용해야 합니다.
참고
외부 스테이지 또는 외부 볼륨에 비공개 연결을 사용하는 경우 호스트 이름을 지정할 때 와일드카드 문자(*
)를 사용해야 합니다. 와일드카드를 사용한다고 해서 모든 S3 버킷이 비공개 연결을 통해 액세스되는 것은 아닙니다. 비공개 연결(즉, 외부 스테이지 또는 외부 볼륨)이 활성화된 Snowflake 오브젝트가 참조하는 버킷만 VPC 엔드포인트를 통해 액세스할 수 있습니다.
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 함수는 공급자 서비스 이름과 호스트 이름을 인자로 받습니다. AWS 명령줄에서 describe-vpc-endpoint-services
하위 명령을 사용하여 이러한 값을 얻을 수 있습니다. AWS 설명서 의 설명과 같이, 이 AWS 하위 명령은 ServiceName
필드와 PrivateDnsName
필드가 있는 JSON 오브젝트를 반환합니다. 다음 표를 사용하여 SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 함수에 사용할 값을 결정합니다.
SYSTEM$PROVISION_PRIVATELINK_ENDPOINT 인자 |
|
---|---|
|
|
|
외부 스테이지 또는 외부 볼륨에 비공개 연결을 사용하는 경우 와일드카드와 함께 값을 사용해야 합니다. |
예를 들어, Amazon S3에 대한 외부 액세스 권한이 있는 PrivateLink 를 생성하려면 다음 SQL 문을 실행하여 us-west-2
에 대한 엔드포인트를 구성합니다.
SELECT SYSTEM$PROVISION_PRIVATELINK_ENDPOINT(
'com.amazonaws.us-west-2.s3',
'*.s3.us-west-2.amazonaws.com'
);
엔드포인트를 생성한 후에는 엔드포인트를 사용할 수 있기까지 지연 시간이 있습니다. 생성된 엔드포인트의 상태를 확인하는 방법에 대한 자세한 내용은 SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 섹션을 참조하십시오.
서비스에 대한 비공개 연결 엔드포인트 제거하기¶
SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT 시스템 함수를 사용하여 서비스 또는 리소스를 지정하여 비공개 연결 엔드포인트를 제거할 수 있습니다.
엔드포인트가 제거되면 해당 엔드포인트는 7일 후에 삭제될 큐에 등록됩니다.
이 시스템 함수를 사용할 때는 ACCOUNTADMIN 역할을 사용해야 합니다.
예를 들어, Amazon S3에 대한 외부 액세스 권한이 있는 PrivateLink 를 제거하려면 다음 SQL 문을 실행합니다.
SELECT SYSTEM$DEPROVISION_PRIVATELINK_ENDPOINT('com.amazonaws.us-west-2.s3');
비공개 연결 엔드포인트를 서비스에 복원하기¶
SYSTEM$RESTORE_PRIVATELINK_ENDPOINT 시스템 함수를 사용하여 서비스 또는 리소스를 지정하여 삭제 큐에 남아 있는 제거된 비공개 연결 엔드포인트를 복원할 수 있습니다. 삭제 큐에서 엔드포인트를 찾을 수 없는 경우에는 엔드포인트를 복원할 수 없습니다.
이 시스템 함수를 사용할 때는 ACCOUNTADMIN 역할을 사용해야 합니다.
예를 들어, Amazon S3에 대한 외부 액세스 권한이 있는 PrivateLink 를 복원하려면 다음 SQL 문을 실행합니다.
SELECT SYSTEM$RESTORE_PRIVATELINK_ENDPOINT('com.amazonaws.us-west-2.s3');
서비스에 대한 모든 비공개 연결 엔드포인트 목록 보기¶
SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO 시스템 함수를 사용하여 계정의 모든 비공개 연결 엔드포인트와 엔드포인트에 대한 정보를 목록으로 만들 수 있습니다.
이 시스템 함수를 사용할 때는 ACCOUNTADMIN 역할을 사용해야 합니다.
예를 들어, AWS 서비스가 있는 모든 AWS PrivateLink 엔드포인트를 나열하려면 다음 SQL 문을 실행합니다.
SELECT SYSTEM$GET_PRIVATELINK_ENDPOINTS_INFO();
[
{
"provider_service_name": "com.amazonaws.us-west-2.s3",
"snowflake_endpoint_name": "vpce-123456789012abcdea",
"endpoint_state": "CREATED",
"host": "*.s3.us-west-2.amazonaws.com",
"status": "Available"
},
...
]
함수가 반환하는 JSON 오브젝트의 필드에 대한 설명은 반환 섹션을 참조하십시오.
참고
ACCOUNT_USAGE 스키마에서 OUTBOUND_PRIVATELINK_ENDPOINTS 뷰를 쿼리하여 계정의 비공개 엔드포인트를 목록으로 볼 수도 있습니다.