IPv4 / IPv6 デュアルスタック Kubernetes クラスタの運用上のメリット
Google Cloud Japan Team
※この投稿は米国時間 2023 年 7 月 13 日に、Google Cloud blog に投稿されたものの抄訳です。
IPv6 の利用を始める準備はできていますか?あなたのクラウド プロバイダは、IPv6 への対応を進めていますか?Google Kubernetes Engine(GKE)はデュアルスタック Kubernetes クラスタをサポートしており、IPv6 への移行を支援するとともに、お使いのアプリケーションの v6 対応を確かなものにしています。また、IPv6 ワークロードの運用上の需要に対処するために、Google は GKE ネットワーキングにいくつかの機能を追加して、送受信双方の IPv6 トラフィックの保護を拡張し、その可用性、安全性、オブザーバビリティを向上させています。
デュアルスタック GKE クラスタの以下の機能が IPv6 対応になり、v6 Pod と v4 Pod の両方を使用するソリューションで v6 ワークロードを有効にすることが容易になりました。
ロードバランサ Service
FQDN ネットワーク ポリシー
Dataplane V2 のオブザーバビリティ
これらの新機能により、IPv4 と同じレベルで IPv6 をサポートするべく Google が GKE に対して行ってきた広範な作業が補完されます。以下に例を示します。
デュアルスタック クラスタ - Google は一定の期間、Ingress で IPv4 フロントエンドと IPv6 フロントエンドをサポートしてきました。また、マネージド Gateway API がそのリリース以来、それらをサポートしてきました。2022 年 12 月 22 日以降は、Google Cloud VPC ネットワーク上のグローバル ユニキャスト アドレス(GUA)とユニーク ローカル アドレス(ULA)でデュアルスタック GKE クラスタが利用できるようになりました。GKE のデュアルスタック クラスタを使用すると、ノードと Pod の両方が IPv4 アドレスと IPv6 アドレスを取得して、両方の IP アドレス ファミリーとの通信が可能になります。
DNS のサポート - GKE は、複数の DNS ソリューションを使用して両方の IP アドレス ファミリーをサポートしています。kube-dns は当初から、A レコードと AAAA レコードの両方によるデュアルスタックをサポートしています。また、GKE は、Cloud DNS を通じて、より堅牢でスケーラブルな高パフォーマンスの DNS サービスも提供しています。この Google Cloud ネイティブな DNS 統合には、IPv4 レコードと IPv6 レコードをフルサポートするクラスタ内名前解決が含まれています。
デュアルスタック Kubernetes Service - Service には、シングルスタック IPv4、シングルスタック IPv6、デュアルスタック アドレスのいずれかを割り当てることができます。Google Cloud がデュアルスタック クラスタをリリースした際、
ClusterIP
Service とNodePort
Service をサポートしていましたが、こうした基本的な構造により、IPv6 対応の Kubernetes ワークロードをクラスタ内で接続することが可能になっています。IPv6 を世界中に提供 - GKE クラスタでは長きにわたり、Google Cloud 上の Kubernetes Ingress サービスを通じて、高可用性が保たれた状態でのワークロードの公開を可能にしてきました。Gateway サービスと Ingress サービスを GKE にデプロイすれば、Google ネットワーキングのメリットがエッジで得られ、IPv6 を使用したサービスの提供と保護を実現できます。GKE 上の Kubernetes Gateway API と Ingress はともに、実証済みの Google Cloud ロードバランサを使用しており、実績あるインフラストラクチャが保証されます。さらに、IPv6 を世界中に提供する一方で、Google Cloud Cloud Armor セキュリティ ポリシーでアプリケーションを保護する体制も整えています。たとえば、Gateway または Ingress のバックエンド構成 CRD で Cloud Armor セキュリティ ポリシーを参照することで、IPv6 アドレスを使用した許可リストと拒否リストを定義できます。
次に、GKE 用に開発された最新の IPv6 機能を見てみましょう。
GKE ロードバランサ Service
Service タイプ LoadBalancer
がデュアルスタック機能で利用可能になりましたのでお知らせします。これは、Kubernetes LoadBalancer
Service を作成し、その IP ファミリーを指定できることを意味しています。GKE を実行するメリットとして、これらを Google Cloud ネットワーク ロードバランサとしてデプロイし、選択した IP アドレス ファミリー(IPv4 のみ、IPv6 のみ、またはその両方)を使用してパブリックまたはプライベートにアドレスを指定できるという点が挙げられます。
以下は、Google Cloud ネットワーク ロードバランサとして公開される GKE 上でデュアルスタック Kubernetes LoadBalancer
Service を作成するために使用できる YAML の例です。
デュアルスタック Kubernetes LoadBalancer
Service を作成したら、IPv4 アドレスと IPv6 アドレスの両方が Service に割り当てられていることを確認できます。
標準の Kubernetes API を使用すれば、デュアルスタック ロードバランサを作成し、必要に応じて GKE アノテーションを適用できます。
GKE FQDN ネットワーク ポリシー
Google Cloud は、完全修飾ドメイン名(FQDN)ネットワーク ポリシーのデュアルスタック サポートを使用して、GKE 向けの機能を進化させています。この魅力的な機能により、IPv6 対応アプリケーションを考慮して GKE にデプロイされたワークロードのネットワーク セキュリティ体制が強化されます。
FQDN ネットワーク ポリシーは、A レコードと AAAA レコードの両方を活用することで、IPv4 と IPv6 の両方のアドレス ファミリーに高度なネットワーク セキュリティをシームレスに提供します。FQDN ネットワーク ポリシーは、IPv4 アドレスまたは IPv6 アドレスとして解決される GKE クラスタ外にある特定の宛先にワークロードが到達するときに、外向きトラフィック ポリシーを適用します。FQDN は、外向きネットワーク ポリシーによって許可されている既存のエンドポイントに追加されます。FQDN ネットワーク ポリシーが作成され、外向きポリシーとして適用されると、許可リストに登録された宛先として指定されていないすべてのエンドポイントに暗黙的な DENY
が適用されます。
こうした機能により、IPv6 対応ワークロードを GKE に導入する際に、IPv4 と IPv6 の両方でネットワーク セキュリティの整合性が確保されます。
GKE Dataplane V2 のオブザーバビリティ
指標の世界を開く - GKE Dataplane V2 のオブザーバビリティのリリースにより、IP4 / IPv6 ワークロードに可視性がもたらされました。この機能には、デュアルスタック GKE クラスタを運用可能な状態にするための指標とトラブルシューティング ツールが含まれています。GKE Dataplane V2 のオブザーバビリティ スタックを使用すると、関心のあるネットワーク情報についてデュアルスタックの Pod トラフィック指標を取得できます。Cloud Monitoring Metrics Explorer を使用して、IPv6 ワークロードの Dataplane V2 指標をモニタリングできる一方、GKE 上の IPv6 Kubernetes ワークロードの Managed Hubble ソリューションを使用すれば、環境のトラブルシューティングを行うことができます。オープンソースの Hubble プロジェクトは、Cilium と eBPF に基づいて構築されたオブザーバビリティ プラットフォームです。GKE の Dataplane V2 用に構築された Managed Hubble UI では、サービスマップとネットワーク ポリシー判定テーブルの形式で、接続情報とネットワーク ポリシーの適用を可視化できます。また、インタラクティブなライブ トラブルシューティング用の CLI を使用すれば、デュアルスタック Kubernetes ワークロードをより深く理解できるようになります。
デュアルスタック GKE クラスタの利用を開始する
ユーザーの皆様からは、デュアルスタック クラスタが IPv6 に一本化された世界への足がかりになるという声をいただいています。この一連の機能を組み合わせることで、IPv6 に向けた Kubernetes ワークロードの運用の準備が改善されます。IPv6 を使用して本番環境に移行するということは、高可用性、安全性、オブザーバビリティの点で運用の準備が整っていることを暗に意味します。以上のリリースにより、GKE でデュアルスタック ワークロードを実行する際のユーザーの自信が高まることでしょう。
詳細については、現在のデュアルスタック機能に関する以下のリソースをご参照ください。
関連情報
- GKE、プロダクト マネージャー Cynthia Thomas