DNS 설정으로 google api 및 colab-notebook 사용 하기
Last updated
Last updated
private 환경의 방화벽 정책은 기본적으로 egress 0.0.0.0/0 으로 외부로 나가는 트래픽이 제한 되어 있을 것이다.
이 경우 public 한 외부 도메인을 호출을 하기 위해서는
api 에 대한 ip 대역을 해줘야 하거나 fqdn 으로 도메인 기반 방화벽으로 예외 처리를 해야 한다.
일단 egress를 전부 다 막고(egress 0.0.0.0/0 거부 ) 노트북 런타임을 생성 해봤다.
에러 메세지가 발생하며 생성이 되지 않는다.
colab을 호출하는 URL은 도메인 기반으로 되어 있다 따라서 *.aiplatform.googleapis.com 도메인만 방화벽에 등록을 해주면 되긴 하는데 아쉽게도 GCP의 방화벽은 fqdn 규칙만 허용 하고(astrik) 도메인을 지원하지 않는다.
/
위의 공식 문서를 보면 DNS 작업을 진행 해야 한다고 나와 있다. 이것을 조금 더 풀이해보자면 아래와 같은 그림으로 표현 할 수 있을 것이다.
DNS 작업을 진행 하면 아래 ping test와 같은 결과가 나온다.
DNS 작업 이전 ping test
DNS 작업 이후 ping test
핵심은 다음과 같다. DNS 작업전에는 142.250.206.238 처럼 다양한 IP대역으로 호출을 하여 방화벽 등록 IP를 특정 짓기 어려웠다면
작업 이후에는 아래의 3개 endpoint(URL)의 IP를
아래의 4개의 IP로만 제한 하는 것이다.
이제 IP가 특정 되었으니 해당 IP를 방화벽에 등록 하면 된다.
[참고]a - z 까지 문자를 순차로 대입하는 스크립트
이 글은 멀티도메인(*astrik도메인) 등록이 안되는 방화벽의 문제를 DNS로 해소 하는 방법이다. 기초 지식으로 방화벽과 dns는 OSI7 layer에서 어디에 위치 하였는지 아는 것이 중요하며 방화벽과 DNS의 작동 방식 설정방법(cname , a record )등에 대한 사전 지식이 요구 된다.