반응형

요구사항

  1. DataBricks Control Plane 은 Private link를 활용하여 내부망에서 연결을 진행해야 함
  2. VPC 내에서는 VPC Peering을 활용하셔 내부망 통신을 주로 해야 함
  3. NACL, SG를 구성하여 기본적인 네트워크 보안정책을 수립해야 함
  4. S3, STS, KinesisStream의 Endpoint를 사용해야 함

 

VPC 구성

  • VPC Peering은 크게 3 tier 형태로 구성한다 ( public, private, private link)
  • public subnet 부분은 말 그대로 외부 네트워크와 통신하는 구간이다 (NAT)
  • private subnet 부분은 databricks에 worker-node들이 구성되는 공간이다 (workspace-zone)
  • private link subnet 부분은 databricks control plane 과 연결되는 공간이다

Endpoint 구성

  • S3, STS, Kinesis Stream 3개로 구성된다
  • S3의 경우 Gateway endpoint 이기 때문에 RouteTable만 구성한다.
  • STS, Kinesis Stream은 Interface Enpoint 이기 때문에 Subnet과 SG를 지정해줘야 한다
    • Private Subnet / Private link Subnet
    • workspace-sg, private-link-sg

Workspace-sg / Private-link-sg

  • workspace-sg는 말 그대로 databrick에 worker 노드들의 통신을 맡기때문에 그에 맞게 inbound / outbound 설정을 진행하면 된다.
  • private-link-sg는 databricks control plane 내 통신을 진행할 수 있게금 설정하면 된다.
Inbound / outBound 규칙 허용 cidr / sg
Inbound 모든 TCP self (자기 자신)
Inbound 모든 UDP self (자기 자신)
outBound 모든 TCP self (자기 자신)
outBound 모든 UDP self (자기 자신)
outBound 6666 0.0.0.0/0
outBound 8431-8451 0.0.0.0/0
outBound 3306 or 5432 MYSQL or PostgreSQL

 

Private link 구성

  • private-link 부분은 databricks control plane에 통신을 내부망에서 처리해야 한다.
  • endpoint 서비스에서 2가지를 선택해서 진행한다 (데이터브릭스 홈페이지 참조)
  • workspace-vpce (private-link-subnet, private-link-sg)
  • scc-vpce (private-link-subnet, private-link-sg)외부통신 1) VPC Peering

 

후기

  • DataEngineer + DataBricks 내부 SA 분들과 같이 네트워크 구성 같이 진행
  • 역시... 네트워크 라는거는 쉽지 않다는 것을 느낌
  • Private link는 이번에 처음 사용해봤는데 확실히 직접 구현하니 확 와닿음
  • 계속 공부하면서 현재의 감을 잃지 않기위해 노력해야 할듯함...

 

참조

https://docs.databricks.com/en/security/network/classic/privatelink.html

 

Databricks documentation

 

docs.databricks.com

 

 

 

반응형

+ Recent posts