「AWS」「Azure」「GCP」などのクラウドサービスは、「Kubernetes」のコンテナ間通信を実現する独自のサービスを提供しています。それぞれのネットワークを用意する際に知っておくべきポイントを紹介します。
第9回「『Kubernetes』を使うなら、まず知っておきたい『Flannel』と『Calico』の通信」は、「Pod」(コンテナの集合体)同士の通信を実現する仕組みとして、オープンソースのCNI(Container Networking Interface)プラグインを紹介しました。コンテナオーケストレーター「Kubernetes」はクラウドサービスで利用することも一般的になっています。今回はクラウドサービスにおけるKubernetesのネットワークの仕組みを紹介します。
「Microsoft Azure」(以下、Azure)や「Amazon Web Services」(以下、AWS)、「Google Cloud Platform」(以下、GCP)などのクラウドサービスには、それぞれ独自のKubernetesサービスがあります。いずれもKubernetesクラスタを管理するコントロールプレーン(マスター)をサービスとして提供しています。利用者はこのコントロールプレーンに対してコンピュートサービスとして提供される仮想マシン(インスタンス)を「ノード」として登録し、Kubernetesクラスタとして利用できます。
いずれのKubernetesサービスもコントロールプレーンはリージョン(データセンターが位置する地域)内の複数のアベイラビリティゾーン(または可用性ゾーン、ゾーン)で冗長化しており、ノードも複数のアベイラビリティゾーンに分散して配置することで可用性を高めることが可能です。AWSとGCPの場合はVPC(Virtual Private Cloud)、Azureの場合はVNet(Virtual Network)といった仮想ネットワーク機能と、Kubernetesサービスを連携させることができます。仮想ネットワーク内に存在する仮想マシンが直接Podと通信する仕組みにより、パケットをカプセル化(プロトコル用のヘッダ情報の付与)することなくインスタンスやデータベースなどの仮想ネットワーク内の機能を利用でき、通信が効率的になります。
AWSのKubernetesサービス「Amazon Elastic Kubernetes Service」(Amazon EKS)は、VPCのKubernetes向けのネットワークインタフェースとなる「Amazon VPC CNI」をデフォルトで提供しています。Amazon EKSはノードに複数の「ENI」(Elastic Network Interface、VPCのネットワークインタフェース)を構成し、VPC内に作成するサブネット(ネットワークを小分けにした単位)からPodのIPアドレスを割り当てます。PodのIPアドレスはENIに対するセカンダリIPアドレス(同一ネットワークインタフェースに対する別のIPアドレス)となり、VPC内でPodのIPアドレスとして機能してパケットの転送を可能にします。Amazon EKSはCalicoをポリシーエンジンとして有効化することにより、Network Policy(Pod間通信を制御するKubernetesの機能)を利用することも可能です。
AzureのKubernetesサービス「Azure Kubernetes Service」(AKS)は、Kubernetesクラスタ作成時にネットワークとして「kubenet」と「Azure CNI」のいずれかを選択することが可能です。Azure CNIはVNet内のサブネットアドレス(サブネットのIPアドレスの範囲)からPod向けのIPアドレスを割り当て、VNet内でパケットをカプセル化することなく転送することが可能です。Amazon EKSと同じように、各ノードにPodのIPアドレスをセカンダリIPアドレスとして割り当て、VNetによるルーティングを可能にします。AKSでNetwork Policyを利用する場合は、CalicoとAzure CNIのうちどちらかを選択することができます。
GCPのKubernetesサービス「Google Kubernetes Engine」(GKE)も、Kubernetesクラスタ構成時のネットワークとしてVPCの機能を利用することが可能です。GKEで「VPCネイティブクラスタ」を作成すると、VPC内のサブネットをPodのネットワークとして利用することが可能になります。PodのIPアドレスはノードのエイリアスIPアドレス(1つのネットワークインタフェースに割り当てる複数のIPアドレス)となり、Pod間通信をVPCによってルーティングすることが可能になります(図1)。
VPCネイティブクラスタは、コンテナ単位で負荷分散するロードバランサー機能を利用することができます。第8回「Kubernetesクラスタの“Pod間通信”の基本 『3つのService』はなぜ必要か?」で紹介した「Ingress」というリソースは通常、着信したパケットを各ノードに負荷分散し、ノード内でさらにPodに対して負荷分散します。一方、コンテナ単位で負荷分散するロードバランサーを利用してIngressを構成すると、Ingressに着信したパケットを負荷分散対象のPodに直接負荷分散することが可能になり、効率良く通信を処理できます。
次回はオンプレミスインフラ向けのSDN(ソフトウェア定義ネットワーク)製品によるCNIプラグインを紹介します。
通信事業者のデータセンターにおいてネットワークやサーバの運用を経験後、ネットワンシステムズに入社。帯域制御やWAN高速化製品、仮想化関連製品を担当後、主にクラウドや仮想インフラの管理、自動化、ネットワーク仮想化の分野に注力している。
データセンターネットワークの他、マルチクラウド向けのハードウェアやソフトウェアの最先端技術に関する調査・検証、技術支援などを担当。注目分野は「Kubernetes」。放送システムのIP化に向けた技術調査・検証も担当している。
IaaS(Infrastructure as a Service)をはじめとしたクラウド基盤技術および管理製品を担当。コンテナ技術を中心とした開発・解析基盤の構築から運用、コンテナに関連した自動化技術や監視製品の技術検証などに注力している。
Copyright © ITmedia, Inc. All Rights Reserved.
IoTという言葉は知っているものの、ビジネスの場でどのように活用すればよいのか分からないという声も多い。こうした声に応えるべく、IoTの基本的な概念から、IoTデバイスの選定・導入時に押さえておきたいポイントまでを解説する。
DXやIoTという言葉は知っているものの、それが何を意味し、ビジネスの現場にどのように採り入れられているのか分からないという声は意外と多い。そこで、DXとIoTについて、基本知識から実現方法まで詳しく解説する。
インターネットVPNサービスの市場規模は増加傾向にあるが、パフォーマンスやセキュリティなどの課題が顕在化している。VPNの利用状況などのデータを基にこれらの課題を考察し、次世代インターネットVPNサービスの利点と可能性を探る。
ネットワークに関して、「環境の構築・運用管理に手間やコストがかかる」などの課題を抱える企業は多い。そこで注目されているのが、1つのプラットフォームによる管理で運用負荷低減やトラブル対応効率化を実現するソリューションだ。
現代のネットワークには組織ごとに多彩なニーズが求められる。それらに応えるためのネットワーク環境を構築するには大きな手間がかかる。本資料では仮想化技術の採用でマルチテナント型の高速ネットワーク環境を構築した事例を紹介する。
もし“キーマン”がいなくなったら? 属人化しないデータセンター運用の作り方 (2025/3/18)
多拠点ネットワークの苦悩「セキュリティ、運用負荷、コスト」をどう解消? (2025/2/20)
LANケーブルではもう限界 構内ネットワークに「光ネットワーク」という選択肢 (2025/1/14)
DX時代のIoTに起きている課題 スマホとエッジデバイスの新たな役割とは (2025/1/7)
脱VPNなんて一気には無理──忙しすぎる情シスの“起死回生の策”は? (2024/12/25)
お知らせ
米国TechTarget Inc.とInforma Techデジタル事業が業務提携したことが発表されました。TechTargetジャパンは従来どおり、アイティメディア(株)が運営を継続します。これからも日本企業のIT選定に役立つ情報を提供してまいります。
「AIエージェント」はデジタルマーケティングをどう高度化するのか
電通デジタルはAIを活用したマーケティングソリューションブランド「∞AI」の大型アップ...
「政府」「メディア」への信頼度は日本が最低 どうしてこうなった?
「信頼」に関する年次消費者意識調査の結果から、日本においても社会的な不満・憤りが大...
「Threads」が広告表示テスト開始 企業アカウント運用のポイントとは?
Metaのテキスト共有アプリ「Threads」で広告表示のテストが開始され、新たな顧客接点とし...