Webサイト制作コースのお申し込みはこちら Webサイト制作コースのお申し込みはこちら

AWSのKubernetesを使ったサービス(Amazon EKS)についてまとめています。

AWSでKubernetesを使うには、Amazon KCSを利用

AWSのAmazon EKSは、AWS上やオンプレミスでKubernetesを実行できるマネージドKubernetesサービス。AWSにはコンテナアプリを実行するサービスとして、Amazon ECSがありますが、コンテナを実行するクラスター環境(Kubernetes)の制御をおこないたいというユーザには、Amazon EKSは最適です。

【関連記事】
AWSのdocker実行はAmazon ECS コンテナアプリケーションをAWS環境で起動

Amazon EKSの使い方


関連)Amazon EKS(AWS でマネージド Kubernetes を実行)

Amazon EKSでは、AWSマネジメントコンソールからのクラスタ作成も可能ですが一部のリソースを手動作成する必要があります。

【関連記事】
AWSを集中管理したい!AWS マネジメントコンソールを使いこなそう!

ここでは、kubernetesのコマンドラインツールkubectlとEKSクラスターを操作するeksctlを使った操作方法について紹介します。kubectlとeksctlのインストール方法については、以下を参考にしてください。

関連)Installing kubectl – Amazon EKS

関連)The eksctl command line utility – Amazon EKS

ここでは、以下の3ステップについて紹介します。

「ステップ1:AmazonEKSクラスターとノードを作成する」… eksctlコマンドを使ってクラスター(my-cluster)を作成します。EC2ノードもしくはfargateノードでクラスターを構成することができますが、ここではEC2ノードでの構成を紹介します。

【関連記事】
AWSのインスタンス Amazon EC2サービスの料金と使い方

【関連記事】
AWSのFargateは、サーバーレスでコンテナを実行/EC2アプリのコンテナ化の方法

以下のコマンドで、SSHアクセスのためのキーペアを作成します。

aws ec2 create-key-pair --region us-west-2 --key-name myKeyPair

作成したキーペアを指定して、クラスター(my-cluster)をリージョンus-west-2に作成します。

eksctl create cluster \
--name my-cluster \
--region us-west-2 \
--with-oidc \
--ssh-access \
--ssh-public-key your-key

クラスターとノードが作成されると、出力の最後に以下のような行が表示されます。

...
[✓] EKS cluster "my-cluster" in "us-west-2" region is ready

「ステップ2:リソースを表示する」 … 作成したリソース(クラスタを構成するノード情報)を表示します。

kubectlコマンドで、クラスターノード情報を表示します。

kubectl get nodes -o wide

NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
ip-192-168-12-49us-west-2.compute.internal Ready  6m7s v1.18.9-eks-d1db3c 192.168.12.49 52.35.116.65 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6
ip-192-168-72-129.us-west-2.compute.internal Ready  6m4s v1.18.9-eks-d1db3c 192.168.72.129 44.242.140.21 Amazon Linux 2 4.14.209-160.335.amzn2.x86_64 docker://19.3.6

kubectlコマンドで、クラスターで実行されているワークロードを表示します。

kubectl get pods --all-namespaces -o wide

NAMESPACE NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
kube-system aws-node-6ctpm 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.us-west-2.compute.internal  
kube-system aws-node-cbntg 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal  
kube-system coredns-559b5db75d-26t47 1/1 Running 0 14m 192.168.78.81 ip-192-168-72-129.us-west-2.compute.internal  
kube-system coredns-559b5db75d-9rvnk 1/1 Running 0 14m 192.168.29.248 ip-192-168-12-49.us-west-2.compute.internal  
kube-system kube-proxy-l8pbd 1/1 Running 0 7m46s 192.168.12.49 ip-192-168-12-49.us-west-2.compute.internal  
kube-system kube-proxy-zh85h 1/1 Running 0 7m43s 192.168.72.129 ip-192-168-72-129.us-west-2.compute.internal

「ステップ3:クラスターとノードを削除する」 … 作成したクラスターとノードを、eksctlコマンドで削除します。

eksctl delete cluster --name my-cluster --region us-west-2

関連)Amazon EKS入門– eksctl – Amazon EKS

Amazon EKSの料金


関連)AWS Pricing Calculator

Amazon EKSでは、クラスターの数1つにつき、1時間あたり0.1ドルがかかります。

1 Clusters x 0.10 USD per hour x 730 hours per month = 73.00 USD
EKS 総コスト (毎月): 73.00 USD

クラスター数が1の場合、365日x24時間を12で割った平均730を掛けて、毎月73ドルのコストがかかることになります。

見積もりツールにて、料金の概算が可能です。

【関連記事】
AWSの見積もりは、AWS Pricing Calculatorで自動計算 ユースケースから流用も可能

AWSのKubernetesのまとめ

ポテパンダの一言メモ
  • AWSでKubernetesを利用するには、Amazon EKSを利用する
  • Amazon EKSは、AWS上またはオンプレミスで利用可能。AWSマネジメントコンソールまたはコマンドラインから制御可能
  • Amazon  EKSは、クラスター1つにつき、1時間あたり0.1ドルのコストがかかる

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。