2021/02/12

AWSのAmazon EKSとは?特徴6つと開始する手順を解説

 
  

AWSとは

AWSとは、Amazon Web Services(アマゾン ウェブ サービス)の略称で、Amazonが提供しているクラウドサービスの総称のことです。AWSはインターネットを介して様々なサービスを提供しています。

AWSのサービスは175以上あり、代表的なものとしては、Amazon EC2などサーバー環境の構築、Amazon S3などデータの保存、Amazon RDSなどデータベースの利用、AWS Lambdaなどプログラムの実行環境があります。

他にはAmazon Personalizeなど機械学習(AI)機能の利用などもあります。

Amazon Elastic Kubernetes Service(EKS)とは?

Amazon Elastic Kubernetes Service (EKS)とは、KubernetesをAWS上で簡単に実行できるようにした、マネージド型のサービスです。

Kubernetesとは、コンテナ化されたサービスやワークロードを自動的に運用・管理するための、オープンソースシステムです。

Amazon EKSを利用することによって、自分でKubernetesのコントロールプレーンを運用・管理する必要がなくなります。また、Amazon EKSはAWSの他のサービスとも互換性があります。

料金はどれくらい?

Amazon EKSを使用する料金に関しては、最低料金や初期費用は不要であり、使用した分だけ支払う従量制となっています。

作成したそれぞれのAmazon EKSクラスタ、Kubernetesワーカーノードの実行に作成したAWSリソースに対して、1時間あたり0.10USDが課金されます。

AWSのAmazon EKSの特徴6つ

AWSのAmazon EKSは、Kubernetesを簡単に実行することができるサービスです。

Amazon EKSにはいくつか特徴があります。可用性が高いこと、セキュリティの問題に対処できること、セキュリティを強化できること、オンプレミスのコンテナ管理ができること、他のAWSのサービスとの統合が簡単であること、機械学習の動きをモデル化できることです。

その特徴について、詳しく説明をしていきます。

AWSのAmazon EKSの特徴1:可用性が高い

AWSでKubernetesを運用し高い可用性を保つには、高度な知識やノウハウが必要でした。

しかし、Amazon EKSは複数のAZ(アベイラビリティーゾーン)でKubernetes管理インフラを実行し、問題が発生した場合には、問題が発生したノードを自動的に検出し、置換を行います。またパッチを提供し、管理インフラのアップグレードも行います。

このことからも、Amazon EKSは可用性が高いと言えるでしょう。

AWSのAmazon EKSの特徴2:セキュリティ問題に対処できる

Amazon EKSは、最新のセキュリティパッチを、自動的にクラスタコントロールプレーンに適用させることができます。

また、AWSは密接にコミュニティと連携することによって、いつでも重要なセキュリティ問題へ対処できるようにしています。そこからも、Amazon EKSはセキュリティ問題に対処できると言えるでしょう。

AWSのAmazon EKSの特徴3:セキュリティを強化できる

Amazon EKSは、AWS Fargateという、ホストの管理がなくてもコンテナを動かすことができるサービスをサポートしています。そのため、サーバーがなくともコンテナにコンピューティングを提供することができます。

アプリケーションごとにリソースの指定をすることができるので、設計の時点でアプリケーションを分離させることができます。それにより、セキュリティの強化を図ることができます。

AWSのAmazon EKSの特徴4:オンプレミスのコンテナ管理が可能

Amazon EKSをAWS Outpostsで使用することによって、オンプレミスのコンテナ管理が可能となります。

オンプレミスとは、自社内で情報システムを保有し、自社の設備によって運用することを言います。クラウドサービスなどの外部サーバーの使用と区別する時に使われます。

AWS OutpostsはAWSのサービスやAPI、ツールなどをクラウドインフラと同じように、オンプレミスに構築することができます。これにより、AWS Outposts上のAmazon EKSでは、クラウド上と同様にオンプレミスでコンテナを管理することができます。

AWSのAmazon EKSの特徴5:他のAWSサービスとの統合が簡単

Amazon EKSは、ウェブアプリケーションを構築する際、AWSの規模や信頼性、可用性という利点を十分に活用することができます。

また、Application Load Balancer、ネットワーク用VPSなど、AWSのネットワークのサービスやセキュリティのサービスとすぐに統合することができます。これによりウェブアプリケーションの負荷を分散することができます。

AWSのAmazon EKSの特徴6:機械学習の動きをモデル化できる

Amazon EKSとKubeflowを合わせて使用することにより、機械学習のワークフローをモデル化することができます。また、最新の EC2 GPUを搭載しているインスタンスタイプを使用することにより、分散型トレーニングジョブを実行することもできます。

Amazon EKS上の、TensorFlowによるトレーニングと推論の実行には、AWS Deep Learning Containersを利用することもできます。

Amazon EKSを開始する手順4つ

ここでは、Amazon EKSを開始するための手順をご紹介します。

AWSマネンジメントコンソールで構築していきます。手順としては、EKSクラスタの作成、ノードの起動と設定、クラスタとの通信、アプリケーションをデブロイする、の4段階があります。

EKSを開始する手順1:EKSクラスタを作成する

Amazon EKSクラスタは、Amazon EKSコントロールプレーンと、コントロールプレーンに登録をされているAmazon EKSで構成されています。まずは、このAmazon EKSクラスタの作成を行います。

まず、https://console.aws.amazon.com/eks/home#/clusters.でAmazon EKSコンソールを開きます。Create clusterを選択し、クラスタの設定ページで、フィールドに名前、Kubernetesのバージョン、Amazon EKSクラスタのIAMロールなどを入力します。

入力後次へ進み、ネットワーキングの設定ページでVPC、Subnetsの値を選択します。

次に、ログ記録の構成ページで、デフォルトで無効になっているログタイプの中から、有効にするものをオプションで選択します。次の確認と作成ページでそれまで入力、または選択した情報を確認し、問題なければ作成を選びます。

EKSを開始する手順2:ノードを起動して設定する

ノードとは、コンピュータのネットワークにおいて、ネットワークと接続している1つ1つの機器のことを指します。ノードグループとは、デバイス種別やIPアドレスなどの条件で、ネットワーク機器をグループ化、または階層化したものです。

マネージド型ノードグループを作成するには、まずhttps://console.aws.amazon.com/eks/home#/clusters.にアクセスします。

マネージド型ノードグループを作成する、クラスタの名前を選択し、計算タブからノードグループの追加を選択します。ノードグループの設定のページで、必要に応じて、パラメータを設定し次へ行きます。

名前・ノードIAMロール名を入力、または選択し、オプションで起動テンプレートの使用やKubernetesラベル、タグなどを選択します。

Set compute and scaling configurationのページでパラメータを指定し、Nextを選択します。そしてSpecify networkingページでもパラメータを指定し次へ進みます。

確認と作成ページが出たら、設定を確認し、変更なければ作成を選択します。ノードのステータスがReadyのステータスになれば完了です。

EKSを開始する手順3:クラスタと通信する

クラスタを作成したら、kubeconfigをAmazon EKS用に作成します。

AWS CLIで作成する時は、AWS CLIのバージョンが1.16.156以降であることを確認します。必要なバージョンが用意できたら、aws eks –region update-kubeconfig –name のコマンドを使用し、kubeconfigを作成します。

get svcのコマンドで設定をテストし、作成が完了したら、新しく作ったクラスタとの通信を有効にします。

EKSを開始する手順4:アプリケーションをデプロイする

最後に、アプリケーションを使える状態にします。

マニュアルに沿って、windows-server-iis.yamlというファイルを作成します。kubectl apply -f windows-server-iis.yamlのコードで、クラスタにアプリケーションをデプロイします。

kubectl get pods -o wide –watchでポッドのステータスを取得し、ポッドがRunningの状態になるまで待ちます。

外部IP列が自動入力されるまで待機し、外部IPアドレスが使用できるようになったら、ウエブプラウザからそこのアドレスを指定し、IISホームページを表示させます。これらの作業には数分かかることがあります。

デプロイができたら、クラスタとWindowsノードをテストしましょう。

AWSのAmazon EKSを活用しよう

Amazon EKSはマネージド型のKubernetesサービスです。Amazon EKSを使うことによって、それまで複雑だったAWSでのKubernetesの実行、管理を容易にしてくれます。

また、最新のセキュリティ対策へと自動的に更新したり、オンプレミスでの実行を可能にしたりなど、Amazon EKSには様々な特徴があります。料金も使った時間分課金される従量制なので、コスト面の見直しにも繋がります。

ぜひAWSのAmazon EKSを導入し、活用しましょう。

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】