2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【EKS】eksctlでサクッとAmazon EKSクラスタを作成してみよう!

Posted at

概要

EKSを使用している人はご存知かもしれませんが、
eksctlを使用するとクラスタの立ち上げが容易なので
まとめます!

🔧eksctlとは?

Amazon EKS クラスタを簡単に作成・管理するためのCLI ツールです!
クラスタ作成に必要な

  • IAM ロール
  • VPC
  • ノードグループ
    なども自動でセットアップしてくれる優れもの〜

Terraform や CloudFormation を使わずに、

eksctl create cluster

だけで環境構築できちゃいます!

🛠️ eksctlのインストール

Macの場合はHomebrewでサクッとインストールできます:

brew tap weaveworks/tap
brew install weaveworks/tap/eksctl

インストール確認:

eksctl version

# 結果
0.207.0

Mac OS以外を利用の方

LinuxやWindowsの方は公式ドキュメントを参照してください!
https://eksctl.io/installation/

🚀 クラスタを作成してみる

まずはプロファイルが設定されていることを確認しておきましょう:

aws configure list

次に、以下のコマンドでクラスタを作成します(名前はお好みでOK!)

eksctl create cluster \
  --name my-eks-cluster \
  --region ap-northeast-1 \
  --nodes 2 \
  --node-type t3.medium \
  --managed

※作成には10~15分ほどかかります。

クラスタ作成コマンドの解説

以下は eksctl create cluster コマンドで使用した主なオプションの説明です:

オプション 説明
--name 作成するEKSクラスタの名前を指定
--version Kubernetesのバージョンを指定(例:1.30
--region クラスタを作成するAWSリージョンを指定(例: ap-northeast-1 は東京リージョン)
--nodegroup-name ノードグループの名前(例:workers
--node-type ノードとして使用するインスタンスタイプを指定(例: t3.medium
--nodes 作成するノード(EC2インスタンス)の数を指定
--nodes-min ノード数の最小値(オートスケーリング用)
--nodes-max ノード数の最大値(オートスケーリング用)
--ssh-access ノードへのSSHアクセスを有効化
--ssh-public-key SSH接続に使用する公開鍵ファイルのパス
--managed マネージドノードグループとしてノードを作成するオプション

🔍作成された内容を確認

作成後、以下のリソースが自動で作られています:

  • EKSクラスタ
  • マネージドノードグループ
  • VPC(サブネット、ルートテーブル含む)
  • セキュリティグループ
  • IAMロール(クラスタ・ノード用)

kubectl を使って、ノードの状態も確認できます!

kubectl get nodes

参考

コンソールはこんな感じで作成が確認できます!

スクリーンショット 2025-04-09 21.08.41.png

作成物をもう少し見てみよう

作成されたクラスタとリージョンが見えます。

$ eksctl get cluster
NAME		REGION		EKSCTL CREATED
eks-from-eksctl	ap-northeast-1	True

kubectlの向き先が作成されたeksに変更されてます。
(私の環境では元々docker-desktopに向いてました)

$ kubectl config get-contexts
CURRENT   NAME                                                CLUSTER                                    AUTHINFO                                            NAMESPACE
          docker-desktop                                      docker-desktop                             docker-desktop
*         eks-demo@eks-from-eksctl.ap-northeast-1.eksctl.io   eks-from-eksctl.ap-northeast-1.eksctl.io   eks-demo@eks-from-eksctl.ap-northeast-1.eksctl.io

imageを動かすワーカーノード。

$ kubectl get nodes
NAME                                                 STATUS    ROLES     AGE       VERSION
ip-000-000-000-000.ap-northeast-1.compute.internal   Ready     <none>    14m       v1.10.11
ip-000-000-000-000.ap-northeast-1.compute.internal   Ready     <none>    14m       v1.10.11

🧹 クラスタの削除(片付け)

EKSクラスタを起動していると費用がかかります。
使い終わったら片付けも簡単なので、リソース削除しましょう。

eksctl delete cluster --name my-eks-cluster --region ap-northeast-1

※削除にも数分かかります。

✍️ まとめ

  • eksctl を使うと EKSクラスタの作成が爆速!
  • VPCやIAMも一括で作成してくれるので超便利
  • 学習用や検証用にぴったりのツール

EKSのとっかかりとしては最高なので、ぜひ触ってみてください!

2
4
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
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?