LoginSignup
1
1

More than 3 years have passed since last update.

Amazon EKS Starter: Docker on AWS EKS with Kubernetes 受けてみた①

Posted at

はじめに

本記事では、Udemy にて Stephane Maarek 氏 が提供している「Amazon EKS Starter: Docker on AWS EKS with Kubernetes」 について紹介したいと思います。

※注意
本コースでは、様々な AWS サービスを利用することになるので、請求金額には気をつけておく必要があります(コース内で Stephan 氏自身も、請求金額には気をつけるようにと述べております)。そのため、使わなくなったサービスやインスタンスの停止や削除、サービスの稼働時間をなるべく短くするなどして、本コースに取り組んで頂けたらと思います。

Introduction

Amazon EKS はマネージド型のサービスで、AWS 内で Kubernetes を実行することが可能となるサービスです。
Amazon EKS のユースケースとしては、以下が考えられます。
image.png

  • ユースケース毎にクラスターを作成
  • コンテナ内にマイクロサービスを用意
  • オンプレクラスターからクラウド Kubernetes クラスターへ移行
  • ML クラスターの用意

Set Up

それでは、 AWS EKS を利用する環境の準備をしていきたいと思います。
image.png
環境自体は、図のように3つの AZ を準備し、それぞれの AZ に対して Master Node、Etcd、K8s worker node を用意します。
また、それ以外にも IAM ユーザなども用意する必要があります。

IAM User

本コース用の IAM ユーザを作成します。基本的には root アカウントではなく、個別に作成した IAM ユーザを利用しましょう。
image.png
作成するIAMユーザには「AdministratorAccess」というポリシーをアタッチすることで、AWS 環境の全サービスを利用することができます。

作成が完了したら、作成した IAM User の「Security Credentials」を選択すると、「Create access key」という項目が表示されるので、そちらをクリックします。
image.png

image.png
「Create access key」をクリックしたら、csvファイルをダウンロードします。csvファイルはくれぐれも無くさないようにお願いします。

IAM Role

次に IAM Role を作成します。K8s がAWS リソースを作成できるようにするためです。
image.png
「Roles」を選択したら、「Create role」をクリックして作成に移りましょう。

image.png
「EKS」を選択します。
image.png
「Role name」「Role description」を入力したら、「Create role」を選択します。
これで IAM Role の作成完了です。

SSH

次に、SSH キーペアの作成を行います。
コンソール画面より EC2 の画面に移動して、「Key Pairs」を選択します。
image.png

「Create Key Pair」を選択して、キーペアの作成を行います。
image.png
作成が完了すると、pem ファイルがダウンロードされるので、ちゃんと保管しましょう。

VPC

次は、VPCを作成したいと思います。図は、今回作成する AWS の全体構成図です。
image.png

  • VPC:リージョンは us-east-1 を指定
  • Subnet:3つ用意し、全て同じ VPC 内に用意
  • Security Group:共通の内容で、IGW への接続が可能

CloudFormation

今回は、 CloudFormation を利用して上記の AWS 構成図を用意します。
image.png
コンソール画面より CloudFormation を選択し、「Create Stack」から作成します。

image.png
テンプレートは、本コースを受講することでダウンロードが可能となるファイルの中に用意されているので、そちらを利用します。ファイル名は「eks-course-vpc.yaml」です。

ここでは、作成したスタックの名前を決めます。
image.png
スタック名を入力したら、Option は飛ばしていただき、Review で作成するスタックの内容を最終確認して、「Create」を選択します。これで、作成完了です。

EKS Control Plane

次は、EKS 制御 Plane を作成します。
image.png

AWS コンソール画面より「EKS」を選択します。EKS の画面に飛んだら、「クラスター」を選択し、「クラスターの作成」を行います。
image.png
クラスター作成時には、以下の項目を埋めていきます。

  • クラスター名:任意
  • Kubernetes のバージョン:最新バージョンを使用
  • VPC(サブネットも自動的に選択されます):CloudFormation で作成した VPC を選択
  • ロール名:先程作成したものを選択
  • セキュリティグループ:先程作成したものを選択

項目を全部埋めたら、「Create」を選択して作成完了です。

Command line Cli tools の準備

次は Kubectl のセットアップを行います。
kubectl のインストールを行う際には、MobaXterm を利用するのがオススメですので、ぜひ利用してみて下さい。
image.png
インストールする項目は以下となります。それぞれ、AWS 公式より OS 毎に手順が用意されておりますので、そちらをご参照ください。

Worker node の準備

Amazon EKS ワーカーノードはスタンダードな Amazon EC2 インスタンスです。

EKS ワーカーノードを CloudFormation で作成します。
マネジメントコンソールから、CloudFormation を検索し、「Create Stack 」を選択します。
image.png
本コースでダウンロードしたコードファイルから、「eks-course-nodegroup.yaml」を選択して、アップロードします。

image.png
後は、インスタンスタイプなどを選択し、確認画面で内容を確認したら「Create」を選択して作成完了です。

image.png
EC2画面に移ると、3台のワーカーノードが作成されたのが確認できます。

おわりに

これで、無事に環境を用意することができました。
次回は、EKS のより詳しい内容についてお話しして行きたいと思います。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1