Member-only story
どこでもAmazon EKSを実装する
AWS上ではKubernetesクラスタを運用するために、Amazon EKS(Elastic Kubernetes Service)が広く利用されています。マネージドサービスであるため、すべてを手動で管理する必要はありません。Amazon EKSを利用する場合、AWSがコントロールプレーンノードの作成と管理を代行してくれるので、アプリケーションに集中することができるのです。
re:Invent 2020で、AWSはAmazonのKubernetesディストリビューションをオンプレミス環境で実行できるAmazon EKSの新しいデプロイメントオプションを事前に発表しています。これが、EKS Anywhereです。このたび、一般提供を開始しました。この新しい発表により、このディストリビューションのデプロイを開始することができます。EKS Anywhere内では、通常必要なコントロールプレーンへの支払いは必要ありません。完全にオープンソースで、ダウンロードとインストールは無料で、サポートサブスクリプションのオプションがあります。EKS Anywhereを使うのにAWSのアカウントも必要ありません。この導入オプションは、AWSリージョンがない国でデータ保護法がある場合に非常に有効です。
もう一つの発表は、EKS Connectorと呼ばれるものです。これは、EC2上の自己管理クラスタ、インフラ上で動作するEKS Anywhereクラスタ、または自己管理する他のクラスタなど、KubernetesクラスタをAmazon EKSコンソールに接続することができます。EKS Connectorを使用すると、EKS Console上のすべてのKubernetesクラスタを一元的に可視化することができます。この機能は、Amazon EKSが利用可能なすべてのリージョンで public tech preview として利用可能です。
EKS Anywhereは、すでに利用可能であったオープンソースのEKS Distroを使用しています。本リリースでは、現時点では、Dockerによるローカルでの開発クラスタ作成と、VMware vSphere環境での本番クラスタ作成のみに対応しています。将来的にはベアメタルのインストールなど、他の選択肢も用意される予定です。
クラスタ作成ワークフローには、コンフィギュレーションパラメータを含むcluster specification fileが含まれます。この方法を用いると、宣言的にクラスタを作成することができます。
vSphere仮想マシンで本番クラスタを作成する場合、高可用性を考慮する必要があります。そのため、コントロールプレーンに3つのノード、ワーカーノードに最低3VMを用意することが、よいでしょう。
開発用クラスタでは、Dockerを使用してローカルコンピュータを使用することも可能です。本番環境で使用する前に、ローカルマシンでEKS Anywhereを試用することができます。