MEGAZONEブログ
Demystifying Amazon EKS networking
Amazon EKS ネットワーキングを解明する
Pulisher : Strategic Tech Center チャン・セジョン
Description : Amaon EKS環境でのネットワーク構築
はじめに
Amazon EKSを構築や 運営しながら、単純なクラスタ構築だけでなく、ネットワーク設計部分まで業務スキル領域を広げたいと思い、既存のVM環境ではなく、EKS環境でのネットワーキングはやや不慣れであり、やや難しい領域でもあるので、このセッションを申し込みました。
セッションの概要紹介
このセッションでは、Kubernetesネットワークの考え方とモデル、EKSによるIP消費の最適化、ネットワーク遮断の最適化、ネットワーク分離戦略について説明します。
このセッションはChalk Talkセッションとして、ホワイトボードに絵や文章を書いて説明し、人々と質疑応答を交わす時間を持ちました。 ネットワークの深い内容なので、人々の質問がたくさんありました。
Kubernetesのネットワーキングの考え方を説明します。
NATがなくても全てのコンテナが他のコンテナと通信をし、ノードも同様に他のコンテナと通信することができなければならないし、PodのIPは自分自身はもちろん、他のPodにも同じIPでアドレスが見えるようにしなければならないという原則があります。当たり前の話のようでいて、難しい内容でした。
EKSの重要なアドオンの一つであるVPC CNIについて説明します。
EKSはVPC CNIインターフェースを通じてPodの起動時にIPを割り当てるし、Podが削除される時にそのIPを回収します。
私たちはこれからEKSでPodが使うIPを効果的に扱う方法を説明します。
AWS VPC CNIを使う時よりもっと強力でもっと簡単な方法でEKSネットワークを構築及び運営することができます。
VPC CNIプラグインを使う時取ることができる利点とそれがどのように動作するかを説明しています。
EKSはKubernetesとAWSを融合させたので、AWSのリソースであるVPCネットワーキングを使用してKubernetesだけを使う時より複雑性を減らします。 そして、Podには補助IPを割り当てて、足りなくなったらENIを追加する方式で動作します。
しかし、Podが増えるとIPがもっと必要なのに、IPが足りない状況が発生したらどうしたらいいですか?
はい、そのような状況を防止する方法を説明します。
ちなみに、Chalk Talkということで、ホワイトボードに質問の答えを細かく絵を描きながら説明してくれます。
セッション参加者は、こうしてすぐに疑問を解消できることに満足度が高そうでした。
IPv6モードを使用して数百万個のPodがあるクラスターもIP不足なしで使用することができ、Custom Networkという技術を使用してEKSクラスタが使うサブネットだけでなく、Pod専用Subnetを別途に割り当てることでIP不足現象を防止及び解消することができます。
このように私たちはIP不足現象を防ぐことができるようになりますが、もちろん、Pod専用Subnetを使うとセキュリティーも強化されるのはおまけです。
さらにcni metric helperをインストールすると、AWS CloudWatchで使われているENIの数、
割り当てられて使ってるIPの数、Maxの数値、余分な数値などをモニタリングすることができます。
この他にもSecurity Group For Podという技術を使ってPod別Security Groupを指定して使うことができる技術も簡単に説明しました。
セッションを終えて
今までEKSを運営しながらIPアドレスの不足を準備してなかったら、Custom NetworkやIPv6モードを適用してIP不足現象を事前に準備することができる良いセッションでした。
IPの使用量や可用量などについて今までモニタリングしていなかったら、後日大きな障害が発生しないように事前にモニタリングダッシュボードやAlertなどを作成して障害が発生しないように準備しなければならないと思い、お客様にもこの部分について先に準備しなければならないと話し、主導的かつ能動的に準備すれば、メガゾンクラウドの顧客満足度がより向上することができると思ったとても良いセッションでした。