Keyboard shortcuts

Press ← or → to navigate between chapters

Press ? to show this help

Press Esc to hide this help

AWS PrivateLink egress와 Snowflake 연결

AWS 호스팅 Foundry에서는 AWS PrivateLink로 AWS 서비스, 고객이 운영하는 AWS 리소스 또는 AWS에 있는 외부 API에 연결할 수 있습니다. Control Panel의 Network egress > Private links에서 관리합니다.

Endpoint service 준비

AWS 서비스가 PrivateLink를 기본 지원하면 AWS가 제공하는 endpoint service name을 사용하며 별도 서비스를 만들 필요가 없습니다. Bedrock이 그 예입니다.

이 Foundry PrivateLink 경로의 S3 연결은 지원하지 않습니다. S3에는 Bucket endpoint 및 같은 리전 S3 정책을 사용합니다. AWS 전체에서 S3의 어떤 프라이빗 연결도 불가능하다는 의미는 아닙니다.

고객이 운영하는 데이터베이스나 API는 AWS에서 대상의 endpoint service를 구성합니다. 다른 회사가 운영하는 API는 그 제공자에게 VPC endpoint service name을 요청합니다.

외부 서비스의 TLS 인증서가 AWS가 만든 기본 도메인에 유효하지 않다면 실제 private domain도 받아야 합니다. 설명용 Snowflake 이름의 형태는 abc.us-east-1.privatelink.snowflakecomputing.com입니다.

Palantir AWS 계정 허용

Control Panel에 표시된 Palantir 플랫폼의 AWS account ID를 확인하고 고객 endpoint service의 allowed principal 목록에 해당 계정을 추가합니다. 형식은 다음과 같습니다.

arn:aws:iam::<palantir_platform_aws_account_id>:root

이는 계정 principal의 ARN이며 고객이 임의의 다른 계정 ID를 넣어서는 안 됩니다.

Foundry 연결 생성

  1. Control Panel > Network egress > Private links > New private link를 선택합니다.
  2. 대상의 Endpoint service name을 입력합니다.

  1. Advanced settings에서 필요한 Private domains와 TCP ports를 지정합니다. Private domains는 실제 TLS 호스트 이름이며 Foundry가 이를 연결 반대편으로 매핑하는 CNAME을 만듭니다. 기본 포트는 443입니다.

  1. Create를 선택하고 상태를 확인합니다.
상태의미
Creating생성을 시작했습니다.
Creating cloud resources클라우드 리소스를 준비합니다.
Managing DNSDNS 레코드를 관리합니다.
Waiting for cloud resourcesAWS가 리소스를 만들기를 기다립니다.
Pending acceptance서비스 제공자의 연결 승인을 기다립니다.
Ready프라이빗 연결 생성이 완료되었습니다.

실패 원인

Failed 상태에는 다음 원인이 표시될 수 있습니다.

원인대응
FailedAWS endpoint service의 권한을 확인하고 연결을 다시 만듭니다.
Rejected서비스 소유자가 요청을 거부했습니다. 소유자에게 확인합니다.
Expired소유자가 제때 승인하지 않았습니다. 연결을 다시 만듭니다.
Timeout생성 시간이 초과되었습니다. 일시적 문제이면 삭제 후 다시 만들고 해결되지 않으면 Palantir Support에 문의합니다.
Validation failedPalantir 관리자에게 유효성 검증 실패를 문의합니다.
Cloud provider error클라우드 리소스 생성 실패를 Palantir 관리자에게 문의합니다.
DNS management failedDNS 관리 실패를 Palantir 관리자에게 문의합니다.

도메인별 egress 정책

연결이 Ready가 되면 Actions > Create network egress policy에서 Private link 유형의 정책을 만들고 대상 포트를 지정합니다. 만든 정책은 Actions > View network egress policy에서 확인합니다.

  • 기본 AWS 생성 도메인으로 접속한다면 그 도메인의 정책이 필요합니다. 외부 API의 실제 private domain만 사용하고 기본 도메인을 쓰지 않는다면 사용하지 않는 기본 도메인의 정책은 필요하지 않습니다.

  • Zonal 도메인을 사용하면 해당 도메인의 정책도 만듭니다. 고객 VPC와 Foundry가 같은 AWS 가용 영역에 있을 때 같은 영역의 도메인이 더 효율적일 수 있습니다.

  • 설정한 private domain을 사용할 때에는 각 도메인의 정책을 만듭니다.

실제 소스에는 승인된 Active 정책을 붙여야 합니다. 생성한 연결의 Ready와 정책 승인 상태는 별개입니다.

변경, 삭제와 공유

연결 상세 또는 목록의 Actions 메뉴를 사용합니다.

Actions > Update에서는 Private domains와 TCP ports를 바꿀 수 있습니다. Actions > Delete는 프라이빗 연결을 삭제합니다. 이 연결 리소스의 변경 및 삭제와, 목적지를 수정하거나 삭제할 수 없는 개별 egress 정책은 다른 대상입니다.

사용자가 연결을 사용하게 하려면 해당 도메인의 View network egress policy로 이동해 Actions > Manage sharing에서 사용자나 그룹에게 필요한 정책 접근을 부여합니다.

Data Connection 소스를 만들 때 기본 도메인 또는 외부 API 도메인을 사용하고 정책을 붙입니다. 설정한 뒤 소스 미리보기나 탐색으로 연결 및 반환 데이터가 올바른지 확인하는 운영 절차가 필요합니다.

Snowflake 연결

플랫폼 계정 허용 요청

Control Panel의 Private links에 표시된 플랫폼 클라우드 account ID를 확인합니다. Snowflake 지원 요청에는 클라우드 종류와 이 account ID, Snowflake account URL, Palantir와의 private connectivity 허용 요청임을 포함합니다.

이 경로에서는 SYSTEM$AUTHORIZE_PRIVATELINK를 직접 사용할 수 없습니다. Foundry 사용자는 기반 클라우드에 직접 접근하거나 필요한 federated_token을 받지 않으므로 Snowflake 지원을 통해 계정을 허용합니다.

연결 정보 가져오기

Snowflake의 ACCOUNTADMIN 역할로 다음 조회를 실행해 구성을 가져옵니다.

SELECT SYSTEM$GET_PRIVATELINK_CONFIG();

Foundry의 New private link에 Endpoint service name으로 privatelink-vpce-id를 입력합니다.

Advanced settings의 Private domains에는 계정에서 반환한 다음 관련 값을 반영합니다. OCSP 주소도 포함해 인증서 상태 확인 경로를 유지해야 합니다.

  • privatelink-account-url
  • privatelink-connection-ocsp-urls
  • privatelink-connection-urls
  • privatelink-ocsp-url
  • regionless-privatelink-account-url
  • regionless-snowsight-privatelink-url
  • snowsight-privatelink-url

여러 값을 반환하는 항목은 필요한 각 호스트를 확인합니다. TCP ports에는 443과 80을 지정합니다. Create 후 Ready 상태를 기다립니다.

Data Connection 소스

Data Connection > New Source > Snowflake에서 소스를 만듭니다. Connection details의 Account identifier에 해당 Snowflake 계정 ID를 입력하고 Private link 토글을 켭니다.

다음 조회는 해당 클라이언트 연결에 검토할 host 및 port 목록을 반환합니다.

SELECT SYSTEM$ALLOWLIST_PRIVATELINK();

반환값은 type, host와 port를 가진 항목의 배열이며 같은 type의 항목이 여러 개 있을 수 있습니다. 목록을 검토해 사용하는 클라이언트와 필요한 endpoint의 정책을 빠짐없이 구성합니다. STAGE 항목에는 S3 저장소 경로의 추가 허용도 필요합니다. 이전 구성은 S3 bucket policy를 사용하며 새 방식의 적용은 클라우드 저장소 egress와 구분합니다.

Private link 정책은 wildcard를 지원하지 않으므로 반환된 패턴을 검토 없이 그대로 private 정책에 넣지 않습니다. 실제로 필요한 구체적인 목적지와 클라이언트 기능을 확인합니다. 계정, 연결 및 저장소 인증과 권한은 네트워크 허용과 별도로 유지합니다.