コンテンツに移動
Containers & Kubernetes

コンテナネイティブの Cloud DNS のご紹介: Kubernetes のグローバル DNS

2021年6月24日
https://storage.googleapis.com/gweb-cloudblog-publish/images/Google_Cloud_x_GKE.max-2600x2600.jpg
Google Cloud Japan Team

※この投稿は米国時間 2021 年 6 月 9 日に、Google Cloud blog に投稿されたものの抄訳です。

Kubernetes ネットワーキングはほとんどの場合 DNS リクエストから始まります。DNS は、アプリケーションやクラスタのパフォーマンス、スケーラビリティ、耐障害性に大きな影響を与えます。こうした状況を踏まえて、このたびコンテナネイティブの Cloud DNS をリリースいたしました。これは、Cloud DNS と Google Kubernetes Engine(GKE)をネイティブに統合したものであり、Google のスケーラブルで多彩な機能を持つ DNS サービスである Cloud DNS を使って、クラスタ内でサービス DNS 解決を行えます。

Cloud DNS をクラスタ DNS プロバイダとして使用すると、いくつかの新しい機能を使用できます。

  • マネージド DNS で、クラスタ内の DNS Pod が不要に

  • それぞれの GKE ノードに対しローカルな DNS 解決を提供して、高スループットかつ水平スケーリングに対応した DNS パフォーマンスを実現

  • GKE サービス向けにマルチリージョンのクラスタ間サービス ディスカバリを提供

  • Google Cloud のオペレーション スイートとの統合により、DNS のモニタリングとロギングが可能

コンテナネイティブの Cloud DNS では、クラスタで DNS 管理用にリソースを割り当てる必要がなくなるため、クラスタ管理者の運用上の負担が軽減されます。また、透過的にスケールできるので、名前解決の要求が増加してもボトルネックを心配する必要がありません。

クラスタ外部の GKE アプリケーションに対して、パブリックとプライベートの DNS 解決機能を提供します。この柔軟性により、クラスタ境界での摩擦を軽減する多くのサービス ディスカバリのユースケースが実現可能になります。

最後に、Cloud DNS の既存のツール、モニタリング、ロギングは、コンテナや VM 向けに別のモニタリング システムがない場合でも、GKE 内のすべての DNS 解決に拡張できます。つまり Cloud DNS は、Google が完全に管理する、高可用性かつグローバルな分散 DNS インフラストラクチャを提供します。

Cloud DNS を使うことで、新しいサービスごとに DNS レコードが作成され、GKE ノードで Cloud DNS のデータプレーンを使用してローカルに解決できるようになります。Cloud DNS のローカル キャッシュと解決により、DNS リクエストはネットワークを経由する必要がなくなり、パフォーマンスが飛躍的に向上します。

クラスタスコープ DNS

クラスタスコープ DNSと呼ばれる新しい運用モードでは、それぞれの GKE クラスタに固有のプライベート DNS ゾーンが割り振られます。サービス解決はこの DNS ゾーンの範囲内でのみ行うことができ、クラスタ外部の VM や Pod には、そのクラスタの DNS レコードに対する可視性が付与されません。これにより、kube-dns を使用する GKE クラスタは、アプリケーションを変更することなく透過的に Cloud DNS に移行できます。レコードは、サービスの種類に応じて ClusterIP または Pod IP を使用して Cloud DNS 間で自動的に同期されます。

VPC スコープ DNS

Cloud DNS はグローバルかつマルチリージョンにスケールできるので、VPC スコープ DNS と呼ばれる GKE の新しい運用モードを使用できます。このモードを使うと GKE の DNS レコードを VPC 全体で解決でき、真にグローバルなマルチクラスタ サービス ディスカバリが可能になります。

今回新しくクラスタの DNS ドメインをカスタマイズできるようになったことで、GKE は各クラスタに固有のドメインを提供でき、別のリージョンの GKE クラスタや GKE に含まれていない VM、あるいは VPN 経由でアクセスするオンプレミスのクライアントからでさえ、それぞれ解決できます。

VPC スコープ DNS は、ネットワークのすべての GKE クラスタとクライアントに対して 1 つのサービス ディスカバリ ドメインを作成します。このシームレスなサービス ディスカバリは完全に自動化されており、クラスタごとに容易く有効にすることができます。

グローバルなサービス ディスカバリ間、各ノードでの DNS のローカル解決、Google Cloud のオペレーション スイートやオブザーバビリティ機能との統合により、コンテナネイティブの Cloud DNS は、アプリケーションのパフォーマンスを大幅に向上させるとともに、運用環境を大きく改善します。早速お試しいただき、 チームにどれほどのメリットがあるか実感してみてください。

-GKE プロダクト マネージャー Mark Church

-Cloud DNS プロダクト マネージャー Karthik Balakrishnan

投稿先