MEGAZONEブログ
Accelerate your Kubernetes journey with Amazon EKS
Amazon EKSでクバネティスを加速する
Pulisher : Cloud Technology Center キョン・ギョンソン
Description:Kubernetesを実行するマネージドKubernetesサービスであるAmazon EKSの紹介セッション
はじめに
CON203-R1 The future of Amazon EKSセッションと合わせてEKS全般的な内容を扱った今回のセッションでは、Kubernetesを管理してスケーリングなどの問題を解決する方法としてAmazon EKSを使うメリットと様々なツールを紹介してくれました。
国内と同様、世界中の顧客は技術的な革新を夢見てコンテナへの転換を検討しているそうです。 私も最近EKSに興味を持つ顧客が多く、EKSをもっと深く知りたいと思い、今回のセッションに参加しました。
セッションの概要紹介
Kubernetesを実行するマネージドKubernetesサービスであるAmazon EKSに興味を持っている方が多いようなので、主な内容を紹介します。
EKSのManagedノードグループは、オートスケーリンググループを利用してEC2インスタンスを構成します。Managedノードグループは顧客の代わりにノードの数を管理するのに役立ちます。しかし、オートスケーリンググループはEC2インスタンスだけを構成するのに役立つだけで、クラスタ単位までは考慮しないのですが、今回のセッションでホットなツールであるEKSサービスチームが作った高性能なKarpenterを案内してくれました。
KarpenterはEC2 fleet APIを直接使って、パッドの仕様に基づいてCPUの代わりにGPUを使うなどの最適化されたノードを選択して管理し、アプリケーションによってpodやnodeのスケールを管理してくれる機能を提供しています。このような機能でアプリケーションを最適化し、コスト削減に役立つKarpenterを多くの顧客が利用しているそうです。
コンピューティングリソースを管理するのが面倒な方は、皆さんご存知のサーバーレスFargateもEKSで使用することができます。Fargateを使用すると、ノードの構成やサイズを調整したり、最適化する必要がありません。 また、Fargateで実行される各Podは、他のPodとリソースを共有しないため、セキュリティ的に隔離されるというメリットもあります。
今年更新された内容の中で、EKSでNetwork Policyをサポートするようになった部分がありました。 以前は、ネットワークポリシーのためにサードパーティCNIを追加で使用しなければなりませんでしたが、今は基本的に内蔵されているVPC CNIだけを使用して、パッド間のトラフィックのルールを定義し、そのポリシーを適用することができるようになりました。
また、Amazon EKSはAWS上のセキュリティサービスであるGuardDutyだけでなく、KMS、IAMなど様々なサービスと統合して効率的に管理・運営することができます。
Kubecostを聞いたことがありますか?
Kubernetes Clusterを運営する上で多くの課題があると思いますが、その中でコスト問題を外すことはできないと思います。リソースの使用量と内部構成をよく把握してコストを管理する必要がありますが、コストの可視化を提供するKubecostというツールがあります。OpenSourceバージョンのKubecostを使ったり、企業ライセンス費用を払ってkubecostを使ってる方もいると思いますが、Amazon EKSはオープンソース版より多くの機能を入れたEKS-Optimized Kubecostバンドルを提供してるそうです。費用はAWSで手数料を払うので追加費用なしで使うことができるそうです。Helmチャートや、Add-onやマーケットプレイスで配布して使うことができます。
EKSで運営する場合、Observability(管制)の部分も考慮しないわけにはいきません。 Control PlaneからData Plane、ネットワークのメトリック情報からログ情報まで多くの部分を効率的に管制できるように管理する必要があります。AWSではCloudwatchを利用してモニタリングすることができ、追加構成を通じてControl PlaneのAPIサーバー、ノードやPodまでCloudwatchを利用してメトリック情報とログを収集してモニタリングすることができる機能を提供しています。
EKSはAWS VPCを使用して基本的なネットワーク構成がされており、VPC Flow logsなどのツールを使用してネットワークを管理することができます。 また、CNI metric helperツールを使用してクラスターレベルでメトリックを収集し、Cloudwatchで収集することができます。
セッションを終えて
今回のre:inventでEKSの特徴や様々なツール、AWSの他のサービスと統合されて使われるEKSについて深く確認することができました。AWSを使っていて、まだKubernetesを導入してない場合や、導入を考えている場合は、後日でもこのセッションのリビューを参考にすると、運用や管理に大きな助けになると思います。