멀티 클라우드 환경에 딱 맞는 👉 프라이빗 DNS 👈
최근 멀티 클라우드 환경을 쓰는 것이 점점 보편화되고 있는 것 같습니다. 🙂
멀티 클라우드를 쓰는 이유는 크게 3가지 정도로 손꼽을 수 있는데요.
✔️ 특정 클라우드 서비스에 종속되지 않아서 좋다.
✔️ 가성비 최고의 서비스를 선택할 자유가 생긴다.
✔️ 안정성과 성능 개선에도 도움이 된다.
모든 장점을 한 줄로 줄이면 ‘특정 사용 사례에 가장 적합한 서비스를 각 공급업체에서 선택하여 인프라의 효율성과 비용을 최적화할 수 있다’로 표현할 수 있을 것 같습니다.
이번 포스팅에서는 멀티 클라우드 환경을 이용할 때 한 번쯤 고민하는 프라이빗 DNS(Private DNS) 설정을 하는 이유에 대해 알려드리고, 관련된 데모 영상을 소개합니다. 🙂
😃 프라이빗 DNS
일단 개념부터 짚고 넘어가겠습니다. 프라이빗 DNS는 기업 네트워크 또는 클라우드 환경의 VPC와 같은 사설 네트워크 내에서 사설 도메인 이름을 IP 주소로 확인해 주는 서비스를 뜻합니다. 프라이빗 DNS를 쓰는 주된 이유는 보안 때문입니다. 프라이빗 DNS는 DNS 쿼리와 레코드를 비공개 네트워크의 범위 내에 유지합니다. 따라서 민감한 리소스를 공용 인터넷을 통한 무단 액세스로부터 보호하는 데 도움이 됩니다. 이런 특성으로 인해, 내부 리소스에 대한 엄격한 보안 제어를 유지해야 하는 기업 및 조직에서 프라이빗 DNS를 이용합니다. 더불어 성능 향상도 기대할 수 있는데요 프라이빗 DNS 쿼리는 비공개 네트워크 내에서 확인되므로 일반적으로 공용 DNS 서비스를 사용할 때보다 지연 시간이 더 짧습니다.
😃 멀티 클라우드와 프라이빗 DNS는 무슨 관계?
멀티 클라우드에서 프라이빗 DNS를 쓰는 이유도 크게 다르지 않습니다. 가정을 하나 해보겠습니다. 구글 클라우드에서 애플리케이션을 올려 운영하고 이 애플리케이션이 접근하는 자원은 AWS에 있다고 가정해 보겠습니다. 두 클라우드 서비스 간에 프라이빗 DNS로 연결을 하면 어떤 이점을 기대할 수 있을까요? 보안 강화는 당연한 것입니다. DNS 기반 공격, 데이터 유출 또는 타사 가로채기로부터 리소스를 보호하기 훨씬 수월합니다.
성능도 기대만큼 나옵니다. 멀티클라우드 환경에서 프라이빗 DNS를 사용하면 쿼리가 클라우드 제공 업체의 네트워크 내에 유지되고 공용 인터넷을 거칠 필요가 없으므로 DNS 쿼리의 지연 시간이 상대적으로 짧습니다. 여기에 관리 편의성과 운영 안정성을 더할 수 있습니다. 아무래도 여러 클라우드 제공 업체에 걸쳐 있는 모든 DNS 레코드를 중앙 집중식 단일 위치에서 관리하면 편할 수밖에 없습니다. 또한, 각 클라우드 제공 업체에 대해 별도의 DNS 영역을 보유하면 한 제공 업체의 DNS 서비스에 장애가 발생해도 다른 제공 업체의 DNS 확인에 영향을 미치지 않도록 할 수 있어 운영 안정성 확보 측면에서도 나쁠 것 없습니다.
😃 DNS 피어링
멀티 클라우드 환경을 위한 프라이빗 DNS 구성의 핵심은 ‘DNS 피어링’입니다. 클라우드 서비스마다 개념 풀이 어감이 살짝 다르긴 하지만 내용은 차이가 없습니다. DNS 피어링은 서로 다른 네트워크 또는 클라우드 환경에서 사설 DNS 레코드를 확인할 수 있도록 하는 네트워킹 구성이라 이해하면 됩니다. 조금 더 구체적으로 이야기하자면 VPC 네트워크 간에 DNS 쿼리를 라우팅할 수 있도록 연결을 구성하는 것입니다.
😃 프라이빗 DNS 구성 시 어떤 고민을 할까?
멀티 클라우드 이용이 늘면서 자연스럽게 프라이빗 DNS 구성에 대한 관심도 높아지고 있습니다. 그렇다면 A라는 애플리케이션의 인스턴스와 자원을 멀티 클라우드 환경에 분산해 운영할 경우 프라이빗 DNS 설정 관련해 어떤 고민들을 할까요? 보통 다음 네 가지가 주요 검토 사항입니다.
- 주요 클라우드 서비스 사업자 간 프라이빗 DNS 연결은 어떻게 하나?
- 고가용성 보장은 어떻게 하나?
- 관리가 부담으로 다가오지는 않을까?
- 비용은?
조금만 알아보면 다 알 수 있는데요, 주요 클라우드 서비스 간에 프라이빗 DNS 연결은 설정 과정이 복잡하지 않습니다. 그리고 아무래도 멀티 클라우드 환경에서 프라이빗 DNS 구성을 하면 고가용성 보장에 유리합니다. 관리의 편의성과 비용도 막상 시작하면 기우라 여길 정도입니다.
😃 데모 보기
이제 데모를 좀 살펴보겠습니다. 데모는 다음과 그림과 같은 네트워크 인프라를 예로 설정을 진행해 보았습니다.
구글 클라우드와 AWS 환경을 연계해 운영하는 멀티 클라우드 시나리오입니다.
<가정 설정 기준>
✔️ 구글 클라우드 : 애플리케이션
✔️ AWS : 애플리케이션이 접근하는 리소스가 위치
▶ 두 클라우드 서비스는 사이트 간 VPN 연결을 합니다.
구글 클라우드와 AWS 간에 프라이빗 DNS를 사용할 수 있도록 설정하는 과정은 다음 데모 영상을 참조 바랍니다. 큰 줄기만 말하자면 구글 클라우드에서는 콘솔에 접속해 Cloud DNA 페이지로 이동한 다음 프라이빗 존을 만든 다음 필요한 설정을 하면 됩니다. 그리고 AWS에서는 VPC 및 Route53 리졸버를 구성하면 됩니다. 이렇게 하면 AWS의 리소스가 GCP의 Cloud DNS에서 호스팅되는 프라이빗 DNS 레코드를 확인할 수 있으며, 그 반대의 경우도 가능하므로 두 클라우드 환경 간에 원활한 통신이 이루어집니다.
이상으로 『 구글 클라우드 IAM을 활용해 사용자에게 역할을 부여한 뒤 Allow, Deny 설정을 통해 최소한의 권한을 부여하는 방법 』 에 대해 알아보았습니다. 😎🤗🤗
더 자세한 내용은 메가존소프트로 문의 바랍니다. 👉 메가존소프트 문의 바로가기