Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

Amazon EKS Auto Mode クラスターを作成する

フォーカスモード
Amazon EKS Auto Mode クラスターを作成する - Amazon EKS

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

このページの改善にご協力ください

このユーザーガイドに貢献するには、すべてのページの右側のペインにある「GitHub でこのページを編集する」リンクを選択してください。

このトピックでは、高度な設定オプションを使用して Amazon EKS Auto Mode クラスターを作成する詳細な手順について説明します。前提条件、ネットワーキングオプション、アドオン設定を取り上げています。このプロセスには、IAM ロールの設定、クラスター設定の構成、ネットワーキングパラメータの指定、アドオンの選択が含まれます。ユーザーは、AWS Management Consoleまたは AWS CLI のいずれかを使用してクラスターを作成でき、どちらの方法でもステップバイステップのガイダンスが付いています。

より複雑でないセットアッププロセスを求める場合は、クラスター作成手順の簡略化について以下を参照してください。

この高度な設定ガイドは、EKS Auto Mode クラスターのセットアップをより細かく制御する必要があり、Amazon EKS の概念と要件に精通しているユーザーを対象としています。高度な設定に進む前に、すべての前提条件を満たし、EKS Auto Mode クラスターのネットワーキングおよび IAM 要件を十分に理解してください。

EKS Auto Mode には、追加の IAM アクセス許可が必要です。詳細については、以下を参照してください。

注記

EKS Auto Mode を使用せずにクラスターを作成する場合は、「Amazon EKS クラスターを作成します。」を参照してください。

このトピックでは、高度な設定を取り上げています。EKS Auto Mode を使用して開始する場合は、「Amazon EKS 自動モードl クラスターを作成する」を参照してください。

前提条件

  • Amazon EKS の要件 を満たす既存の VPC とサブネット。本番用にクラスターをデプロイする前に、VPC とサブネットの要件を十分に理解しておくことをお勧めします。VPC とサブネットがない場合はAmazon EKS に用意されている AWS クラウドフォーメーション テンプレートを使用して作成できます。

  • デバイスまたは AWS クラウドシェル に、kubectl コマンドラインツールがインストールされていること。バージョンはご使用のクラスターの Kubernetes バージョンと同じか、1 つ前のマイナーバージョン以前、あるいはそれより新しいバージョンが使用できます。例えば、クラスターのバージョンが 1.29 である場合、kubectl のバージョン 1.281.29、または 1.30 が使用できます。kubectl をインストールまたはアップグレードする方法については「kubectl および eksctl のセットアップ」を参照してください。

  • ご使用のデバイスまたは AWS クラウドシェル で、バージョン 2.12.3 以降、または AWS コマンドラインインターフェイス (AWS CLI のバージョン 1.27.160 以降がインストールおよび設定されていること。現在のバージョンを確認するには「aws --version」を参照してください。最新バージョンをインストールするには「AWS コマンドラインインターフェイスユーザーガイド」の「インストール」および「aws configure を使用したクイック設定」を参照してください。

  • EKS および IAM リソースを作成および変更するアクセス許可を持つ IAM プリンシパル

クラスターの作成 - AWS コンソール

  1. Amazon EKS コンソールを開きます。

  2. [クラスターを追加][作成] の順にクリックします。

  3. [設定オプション][カスタム設定] を選択します。

  4. [EKS Auto Mode を使用する] が有効になっていることを確認します。

    • このトピックでは、EKS Auto Mode でのクラスターの作成を取り上げています。EKS Auto Mode を使用せずにクラスターを作成する方法の詳細については、「Amazon EKS クラスターを作成します。」を参照してください。

  5. [クラスターの設定] ページで、次のフィールドに入力します:

    • [名前] - クラスターの名前。この名前には英数字 (大文字と小文字が区別されます)、ハイフン、下線のみを使用できます。先頭の文字は英数字である必要があります。また、100 文字より長くすることはできません。名前は、クラスターを作成する AWS リージョンおよび AWS アカウント内で一意である必要があります。

    • [クラスター IAM ロール] – ユーザーに代わって AWS リソースを管理することを Kubernetes コントロールプレーンに許可するために作成した Amazon EKS クラスター IAM ロールを選択します。EKS Auto Mode 用のクラスター IAM ロールをまだ作成していない場合は、IAM コンソールで [推奨ロールを作成] ボタンを選択して、必要なアクセス許可を持つロールを作成します。

    • [Kubernetes バージョン] – クラスターで使用する Kubernetes のバージョン。以前のバージョンが必要でない限り、最新バージョンを選択することをお勧めします。

    • [アップグレードポリシー] – クラスターに対して設定する Kubernetes バージョンポリシー。クラスターを標準サポートバージョンでのみ実行したい場合は、[標準] を選択できます。バージョンの標準サポート終了時にクラスターの延長サポートに入りたい場合は、[延長] を選択できます。現在延長サポートを利用中の Kubernetes バージョンを選択した場合、オプションとして標準サポートを選択することはできません。

  6. [クラスターを設定] ページの [Auto Mode コンピューティング] セクションで、次のフィールドに入力します。

    • ノードプール – ノードプールでビルドを使用するかどうかを決定します。詳細については「組み込み NodePool を有効または無効にする」を参照してください。

    • ノード IAM ロール – 組み込みノードプールのいずれかを有効にする場合は、ノード IAM ロールを選択する必要があります。EKS Auto Mode は、このロールを新しいノードに割り当てます。クラスターの作成後はこの値を変更することはできません。EKS Auto Mode 用のノード IAM ロールをまだ作成していない場合は、[推奨ロールを作成] ボタンを選択して、必要なアクセス許可を持つロールを作成します。このロールの詳細については、「EKS Auto Mode での ID とアクセスについての説明」を参照してください。

  7. [クラスターの設定] ページの [クラスターアクセス] セクションで、次のフィールドに入力します。

    • [クラスター管理者アクセスをブートストラップ] – クラスター作成者は自動的に Kubernetes 管理者になります。これを無効にする場合は、[クラスター管理者アクセスを拒否] を選択します。

    • [クラスター認証モード] – EKS Auto Mode には、EKS アクセスエントリ、EKS API 認証モードが必要です。必要に応じて、[EKS API と ConfigMap] を選択して ConfigMap 認証モードを有効にできます。

  8. 「クラスターの設定」ページの残りのフィールドに入力します。

    • [Secret encryption] (シークレット暗号化) – (オプション) KMS キーを使用して Kubernetes シークレットのシークレット暗号化を有効にするよう選択します。クラスターを作成した後で、これを有効にすることもできます。この機能を有効にする前に、既存のクラスターで {aws} KMS を使用して Kubernetes シークレットを暗号化する の情報をよく理解していることを確認してください。

    • [ARC ゾーンシフト] – EKS Auto Mode は ARC ゾーンシフトをサポートしていません。

    • [タグ] - (オプション) クラスターにタグを追加します。詳細については「タグを使用して Amazon EKS リソースを整理する」を参照してください。

      このページを読み終えたら、[次へ] を選択してください。

  9. [ネットワーキングの指定] ページで、次のフィールドの値を選択してください:

    • [VPC]Amazon EKS VPC 要件を満たす既存の VPC を選択し、そこでクラスターを作成します。VPC を選択する前に、「VPC とサブネットの Amazon EKS ネットワーキング要件を表示する」の要件と考慮事項をすべて理解しておくことをお勧めします。クラスターの作成後は使用する VPC を変更できません。VPC が表示されていない場合はまず作成する必要があります。詳細については「Amazon EKS クラスターの Amazon VPC を作成する」を参照してください。

    • [サブネット] - デフォルトで、前のフィールドで指定した VPC 内の利用可能なすべてのサブネットがあらかじめ選択されています。少なくとも 2 つ選択する必要があります。

      選択するサブネットは Amazon EKS サブネットの要件を満たす必要があります。サブネットを選択する前に、Amazon EKS VPC およびサブネットの要件と考慮事項をすべて理解しておくことをお勧めします。

      [セキュリティグループ] - (オプション Amazon EKS が作成するネットワークインターフェイスに関連付ける 1 つまたは複数のセキュリティグループを指定します。

      セキュリティグループを選択するかどうかにかかわらず、Amazon EKS はクラスターと VPC 間の通信を可能にするセキュリティグループを作成します。Amazon EKS はこのセキュリティグループおよびユーザーが選択したセキュリティグループを、作成するネットワークインターフェイスに関連付けます。Amazon EKS が作成するクラスターセキュリティグループの詳細については「クラスターの Amazon EKS セキュリティグループ要件を表示する」を参照してください。Amazon EKS が作成するクラスターセキュリティグループのルールを変更できます。

    • クラスターの IP アドレスファミリーの選択 – IPv4 と IPv6 のどちらかを選択できます。

      デフォルトで、Kubernetes は IPv4 アドレスを Pod とサービスに割り当てます。IPv6 ファミリーの使用を決定する前に、VPC の要件と考慮事項サブネットの要件と考慮事項クラスターの Amazon EKS セキュリティグループ要件を表示する、および クラスター、Pod、サービスに対する IPv6 アドレスの説明 のトピックの考慮事項と要件をすべて理解していることを確認します。IPv6 ファミリーを選択すると、Kubernetes が IPv6 サービスアドレスを割り当てる範囲を IPv4 ファミリーで指定できるようには指定できません。Kubernetes は、一意のローカルアドレス範囲 (fc00::/7) からサービスにアドレスを割り当てます。

    • (オプション) [Kubernetes サービス IP アドレスの範囲を設定する] を選択し、[サービスの IPv4 範囲] を指定します。

      独自の範囲を指定すると、Kubernetes サービスと VPC にピアリングまたは接続されたその他のネットワークとの間の競合を防ぐことができます。CIDR 表記で範囲を入力します。例: 10.2.0.0/16

      この CIDR ブロックでは以下の要件を満たす必要があります:

      • 10.0.0.0/8172.16.0.0/12、または 192.168.0.0/16 のいずれかの範囲内にある。

      • 最小サイズが /24、最大サイズが /12

      • Amazon EKS リソースの VPC の範囲と重複しない。

    このオプションを指定できるのはIPv4 アドレスファミリーを使用してクラスターを作成するときのみです。これを指定しない場合、Kubernetes は、10.100.0.0/16 または 172.20.0.0/16 のいずれかの CIDR ブロックからサービス IP アドレスを割り当てます。

    • [クラスターエンドポイントのアクセス] で、オプションを選択してください。クラスターを作成した後で、このオプションを変更できます。デフォルト以外のオプションを選択する前に、オプションとその意味を理解しておいてください。詳細については「クラスター API サーバーエンドポイントへのネットワークアクセスを制御する」を参照してください。

      このページを読み終えたら、[次へ] を選択してください。

  10. (オプション) [オブザーバビリティの設定] ページで、有効にする [メトリクス][コントロールプレーンのロギング] オプションを選択してください。デフォルトでは、それぞれのログタイプは無効化されています。

  11. [アドオンの選択] ページで、クラスターに追加するアドオンを選択してください。[Amazon EKS アドオン][AWS マーケットプレイス アドオン] は必要な数だけ選択できます。インストールする AWS マーケットプレイス アドオンがリストされていない場合はページ番号をクリックして追加のページ結果を表示するか、または検索ボックスにテキストを入力して使用可能な AWS マーケットプレイス アドオンを検索できます。[カテゴリ][ベンダー]、または [料金モデル] でフィルタリングして、検索結果からアドオンを選択することもできます。クラスターを作成する際に、「EKS Pod Identity が Pod に AWS サービスへのアクセス権を付与する仕組みを学ぶ」で詳述されているように、EKS Pod Identity をサポートするアドオンを表示、選択、インストールできます。

    • EKS Auto Mode は、特定のアドオンの機能を自動化します。EKS Auto Mode クラスターに EKS マネージドノードグループをデプロイする場合は、[追加の Amazon EKS アドオン] を選択し、オプションを確認します。CoreDNS や kube-proxy などのアドオンをインストールすることが必要になる場合があります。EKS は、このセクションのアドオンをセルフマネージドノードとノードグループにのみインストールします。

    • このページを読み終えたら、[次へ] を選択してください。

  12. [選択したアドオン設定の構成] ページで、インストールするバージョンを選択し、[次へ] を選択してください。クラスターを作成した後はいつでも新しいバージョンに更新できます。

    EKS Pod Identity をサポートするアドオンの場合、コンソールを使用して、アドオン専用に事前入力された名前、AWS マネージドポリシー、信頼ポリシーを使用してロールを自動的に生成できます。既存のロールを再利用したり、サポートされているアドオン用の新しいロールを作成したりできます。コンソールを使用して EKS Pod Identity をサポートするアドオンのロールを作成するためのステップについては「アドオンの作成 (AWS コンソール)」を参照してください。アドオンが EKS Pod Identity をサポートしていない場合、クラスターの作成後にウィザードを使用してサービスアカウント用の IAM ロール (IRSA 作成する手順を示すメッセージが表示されます。

    クラスターの作成後に、各アドオンの設定を更新できます。アドオンの設定の詳細については「Amazon EKS アドオンを更新する」を参照してください。このページを読み終えたら、[次へ] を選択してください。

  13. [確認と作成] ページで、前のページで入力または選択した情報を確認します。変更する必要がある場合は[編集] を選択してください。そのままでよければ、[作成] を選択してください。クラスターがプロビジョニングされている間、[ステータス] フィールドに [作成中] と表示されます。

    注記

    リクエストで指定したアベイラビリティーゾーンのいずれかに、Amazon EKS クラスターの作成に十分な容量がない場合にはエラーが表示されることがあります。このエラー出力には新しいクラスターをサポートできるアベイラビリティーゾーンが表示されます。アカウント向けにサポートされているアベイラビリティーゾーンにある 2 つ以上のサブネットを使用して、クラスターを作成します。詳細については「容量不足」を参照してください。

    クラスターのプロビジョニングには数分かかります。

クラスターの作成 - AWS CLI

次の CLI の手順では、IAM リソースの作成とクラスターの作成について説明します。

EKS Auto Mode クラスター IAM ロールを作成する

ステップ 1: 信頼ポリシーを作成する

Amazon EKS サービスがロールを引き受けることを許可する信頼ポリシーを作成します。ポリシーを trust-policy.json として保存します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "eks.amazonaws.com"
      },
      "Action": [
        "sts:AssumeRole",
        "sts:TagSession"
      ]
    }
  ]
}

ステップ 2: IAM ロールを作成する

信頼ポリシーを使用して、クラスター IAM ロールを作成します。

aws iam create-role \
    --role-name AmazonEKSAutoClusterRole \
    --assume-role-policy-document file://trust-policy.json

ステップ 3: ロール ARN をメモする

以降のステップで使用する新しいロールの ARN を取得して保存します。

aws iam get-role --role-name AmazonEKSAutoClusterRole --query "Role.Arn" --output text

ステップ 4: 必要なポリシーをアタッチする

次の AWS マネージドポリシーをクラスター IAM ロールにアタッチして、必要なアクセス許可を付与します。

AmazonEKSClusterPolicy:

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy

AmazonEKSComputePolicy:

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSComputePolicy

AmazonEKSBlockStoragePolicy:

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSBlockStoragePolicy

AmazonEKSLoadBalancingPolicy:

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSLoadBalancingPolicy

AmazonEKSNetworkingPolicy:

aws iam attach-role-policy \
    --role-name AmazonEKSAutoClusterRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSNetworkingPolicy

EKS Auto Mode ノード IAM ロールを作成する

ステップ 1: 信頼ポリシーを作成する

Amazon EKS サービスがロールを引き受けることを許可する信頼ポリシーを作成します。ポリシーを node-trust-policy.json として保存します。

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

ステップ 2: ノード IAM ロールを作成する

前のステップの node-trust-policy.json ファイルを使用して、ロールを引き受けることができるエンティティを定義します。次のコマンドを実行してノード IAM ロールを作成します。

aws iam create-role \
    --role-name AmazonEKSAutoNodeRole \
    --assume-role-policy-document file://node-trust-policy.json

ステップ 3: ロール ARN をメモする

ロールを作成したら、ノード IAM ロールの ARN を取得して保存します。以降のステップでこの ARN が必要になります。次のコマンドを使用して ARN を取得します。

aws iam get-role --role-name AmazonEKSAutoNodeRole --query "Role.Arn" --output text

ステップ 4: 必要なポリシーをアタッチする

次の AWS マネージドポリシーをノード IAM ロールにアタッチして、必要なアクセス許可を付与します。

AmazonEKSWorkerNodeMinimalPolicy:

aws iam attach-role-policy \
    --role-name AmazonEKSAutoNodeRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy

AmazonEC2ContainerRegistryPullOnly:

aws iam attach-role-policy \
    --role-name AmazonEKSAutoNodeRole \
    --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryPullOnly

クラスターを作成する

  1. 下記のコマンドを使用して、クラスターを作成します。コマンドを実行する前に、次の置き換えを行います:

    • 地域コード はクラスターを作成する AWS リージョンに置き換えます。

    • マイクラスター の部分は自分のクラスター名に置き換えます。この名前には英数字 (大文字と小文字が区別されます)、ハイフン、下線のみを使用できます。先頭の文字は英数字である必要があります。また、100 文字より長くすることはできません。名前はクラスターを作成する AWS リージョンおよび AWS アカウント内で一意である必要があります。

    • 1.30Amazon EKS がサポートする任意のバージョンに置き換えます。

    • 111122223333 は、自分のアカウント ID に置き換えます。

    • クラスターロールとノードロールに異なる名前の IAM ロールを作成した場合は、ARN を置き換えます。

    • subnetIds の値を独自の値に置き換えます。さらに ID を追加することもできます。少なくとも 2 つのサブネット ID を指定する必要があります。

      選択するサブネットは Amazon EKS サブネットの要件を満たす必要があります。サブネットを選択する前に、Amazon EKS VPC およびサブネットの要件と考慮事項をすべて理解しておくことをお勧めします。

    • セキュリティグループ ID を指定しない場合はコマンドから ,securityGroupIds=sg-<ExampleID1> を削除します。1 つまたは複数のセキュリティグループ ID を指定する場合はsecurityGroupIds の値を独自の値に置き換えます。さらに ID を追加することもできます。

      セキュリティグループを選択するかどうかにかかわらず、Amazon EKS はクラスターと VPC 間の通信を可能にするセキュリティグループを作成します。Amazon EKS はこのセキュリティグループおよびユーザーが選択したセキュリティグループを、作成するネットワークインターフェイスに関連付けます。Amazon EKS が作成するクラスターセキュリティグループの詳細については「クラスターの Amazon EKS セキュリティグループ要件を表示する」を参照してください。Amazon EKS が作成するクラスターセキュリティグループのルールを変更できます。

      aws eks create-cluster \ --region region-code \ --name my-cluster \ --kubernetes-version 1.30 \ --role-arn arn:aws:iam::111122223333:role/AmazonEKSAutoClusterRole \ --resources-vpc-config '{"subnetIds": ["subnet-ExampleID1","subnet-ExampleID2"], "securityGroupIds": ["sg-ExampleID1"], "endpointPublicAccess": true, "endpointPrivateAccess": true}' \ --compute-config '{"enabled": true, "nodeRoleArn": "arn:aws:iam::111122223333:role/AmazonEKSAutoNodeRole", "nodePools": ["general-purpose", "system"]}' \ --kubernetes-network-config '{"elasticLoadBalancing": {"enabled": true}}' \ --storage-config '{"blockStorage": {"enabled": true}}' \ --access-config '{"authenticationMode": "API"}'
      注記

      リクエストで指定したアベイラビリティーゾーンのいずれかに、Amazon EKS クラスターの作成に十分な容量がない場合にはエラーが表示されることがあります。このエラー出力には新しいクラスターをサポートできるアベイラビリティーゾーンが表示されます。アカウント向けにサポートされているアベイラビリティーゾーンにある 2 つ以上のサブネットを使用して、クラスターを作成します。詳細については「容量不足」を参照してください。

      必要に応じて前のコマンドに追加する必要があるオプションの設定を次に示します。これらのオプションは、クラスターの作成時にのみ有効にすることができ、作成後は有効にできません。

    • どの IPv4 Classless Inter-domain Routing (CIDR) ブロックから Kubernetes がサービス IP アドレスを割り当てるかを指定する場合、--kubernetes-network-config serviceIpv4Cidr=<cidr-block> を次のコマンドに追加することによって指定する必要があります。

      独自の範囲を指定すると、Kubernetes サービスと VPC にピアリングまたは接続されたその他のネットワークとの間の競合を防ぐことができます。CIDR 表記で範囲を入力します。例: 10.2.0.0/16

      この CIDR ブロックでは以下の要件を満たす必要があります:

      • 10.0.0.0/8172.16.0.0/12、または 192.168.0.0/16 のいずれかの範囲内にある。

      • 最小サイズが /24、最大サイズが /12

      • Amazon EKS リソースの VPC の範囲と重複しない。

        このオプションを指定できるのはIPv4 アドレスファミリーを使用してクラスターを作成するときのみです。これを指定しない場合、Kubernetes は、10.100.0.0/16 または 172.20.0.0/16 のいずれかの CIDR ブロックからサービス IP アドレスを割り当てます。

    • クラスターを作成していて、そのクラスターで IPv4 アドレスではなく IPv6 アドレスを Pod とサービスに割り当てるようにする場合は、次のコマンドに --kubernetes-network-config ipFamily=ipv6 を追加します。

      デフォルトで、Kubernetes は IPv4 アドレスを Pod とサービスに割り当てます。IPv6 ファミリーの使用を決定する前に、VPC の要件と考慮事項サブネットの要件と考慮事項クラスターの Amazon EKS セキュリティグループ要件を表示する、および クラスター、Pod、サービスに対する IPv6 アドレスの説明 のトピックの考慮事項と要件をすべて理解していることを確認します。IPv6 ファミリーを選択すると、Kubernetes が IPv6 サービスアドレスを割り当てる範囲を IPv4 ファミリーで指定できるようには指定できません。Kubernetes は、一意のローカルアドレス範囲 (fc00::/7) からサービスにアドレスを割り当てます。

  2. クラスターがプロビジョニングされるまでに数分かかります。クラスターのステータスのクエリを実行するには次のコマンドを使用します。

    aws eks describe-cluster --region region-code --name my-cluster --query "cluster.status"

次のステップ

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.