지난 글에서는 AWS PrivateLink를 통해 공용(Public) 인터넷망을 타지 않고 VPC 엔드포인트를 생성하여 Secure하게 Snowflake에 접근하는 법에 대해 알아보았다. 지난 글이 궁금하다면 아래 글을 참고하기 바란다.
AWS PrivateLink를 이용한 Secure한 Snowflake 액세스
AWS PrivateLink란?AWS PrivateLink는 Public(공용) 인터넷망을 타지 않고 AWS VPC와 Snowflake VPC 사이에서 직접 보안 연결을 할 수 있도록 비공개 VPC 엔드포인트를 생성하는 AWS 서비스이다. 따라서 AWS PrivateLink
heed159.tistory.com
이번 글에서는 Snowflake 클라이언트(SnowSQL, JDBC 드라이버)가 공용(Public) 인터넷망을 타지 않고 Snowflake의 Internal Stage (S3)에 접근하기 위해 AWS VPC 엔드포인트를 하나 더 생성하려고 한다.
AWS VPC 네트워크에서 공용 인터넷망에 액세스할 수 없는 경우 Snowflake 클라이언트에서 필요한 AWS S3 호스트 이름으로 내부 스테이지에 Secure한 연결을 구성할 수 있다.
1. AWS VPC Interface 엔드포인트 생성
위와 같이 AWS 서비스를 선택하고 S3를 검색한 다음 Interface 타입으로 선택한다. 그 다음 아래와 같이 기존에 생성한 VPC를 선택하고 Private 서브넷, 보안 그룹까지 선택하여 S3 엔드포인트를 생성한다.
2. VPC 엔드포인트 생성 확인 및 DNS 이름 기록
위처럼 S3 엔드포인트가 생성되었다. 도메인 등록을 위해 가장 상단에 있는 DNS 이름을 기록해둔다.
3. Route 53을 통한 도메인 등록
Route 53에서 Private 호스팅 영역을 생성한다.
다음으로 레코드를 추가해보자. 레코드 이름은 privatelink-internal-stage 값을 참고해서 생성한다.
2번에서 확인한 DNS 이름이 아래와 같다면
*.vpce-xxxxxxxxxxxxxx9933-ivalgylp.s3.ap-northeast-2.vpce.amazonaws.com
위 값에서 *를 privatelink-internal-stage 값에서 확인한 버킷 이름(sfc-kr-xxx-x-customer-stage)으로 변경한다. 아래와 같은 값이 되어야 한다.
sfc-kr-xxx-x-customer-stage.vpce-xxxxxxxxxxxxxx9933-ivalgylp.s3.ap-northeast-2.vpce.amazonaws.com
레코드는 CNAME으로 생성하면 아래와 같은 정보를 확인할 수 있다.
4. Snowflake Internal Stage(S3) ip 리턴 확인
Snowflake PrivateLink 연결 테스트를 진행했던 서브넷 대역대에 띄운 EC2 인스턴스에서 Private한 Connection이 가능한지 확인해보자. DNS 정보를 조회하고 진단하는 커맨드인 dig 명령어를 사용한다.
위처럼 Private IP가 리턴되는 것을 확인할 수 있다.
'Snowflake' 카테고리의 다른 글
Oracle에서 Snowflake로 CDC(변경 데이터 캡처) 데이터 처리 (0) | 2024.12.27 |
---|---|
[Snowflake] 웨어하우스 캐시 최적화 (1) | 2024.12.17 |
[1] AWS PrivateLink를 이용한 Secure한 Snowflake 액세스 (2) | 2024.10.15 |
[Snowflake] 6. Data Sharing (0) | 2023.06.09 |
[Snowflake] 5. Security & Governance (0) | 2023.06.09 |