

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

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

# Amazon EKS の使用を開始する
<a name="getting-started"></a>

入門ガイドを読む前に、Amazon EKS を使用するように設定されていることを確認してください。詳細については、「[Amazon EKS を使用するようにセットアップする](setting-up.md)」を参照してください。

Amazon EKS で、ノード付の新しい Kubernetes クラスターを作成して使用を開始する方法については、以下の 2 つの入門ガイドで解説しています。
+  [Amazon EKS – eksctl の使用開始](getting-started-eksctl.md) – この入門ガイドは、`eksctl` (Amazon EKS 上に Kubernetes クラスターを作成および管理するためのシンプルなコマンドラインユーティリティ) を使用して、Amazon EKS の開始に必要なすべてのリソースをインストールする方法を解説しています。チュートリアルを完了すると、アプリケーションのデプロイが可能な Amazon EKS クラスターが実行状態になります。このガイドの利用が、Amazon EKS の使用を開始するための最も迅速かつシンプルな手段です。
+  [Amazon EKS の使用を開始する – AWS マネジメントコンソール と AWS CLI](getting-started-console.md) – この入門ガイドは、AWS マネジメントコンソール と AWS CLI を使用して Amazon EKS を開始するために必要なすべてのリソースの作成に役立ちます。チュートリアルを完了すると、アプリケーションのデプロイが可能な Amazon EKS クラスターが実行状態になります。このガイドでは、Amazon EKS クラスターに必要なリソースを手動で個別に作成していきます。ここでの手順に従うことで、各リソースがどのように作成されたか、および、リソース間のやり取りがどのように行われているかなどを、把握できるようになります。

また、以下のリファレンスも提供しています。
+ 実践的なチュートリアルのコレクションについては、AWS コミュニティにある [EKS クラスターのセットアップ](https://community.aws/tags/eks-cluster-setup)に関する記事を参照してください。
+ コード例については、「[Code examples for Amazon EKS using AWS SDKs](https://docs.aws.amazon.com/code-library/latest/ug/eks_code_examples.html)」を参照してください。

# Amazon EKS – EKS Auto Mode の使用開始
<a name="getting-started-automode"></a>

他の EKS の開始方法エクスペリエンスと同様に、EKS Auto Mode で最初のクラスターを作成すると、クラスター自体の管理は AWS に委任されます。ただし、EKS Auto Mode は、ワークロードインフラストラクチャ (ノード、ネットワーク、およびさまざまなサービス) の設定に必要な多くの重要なサービスに責任を持たせることで EKS オートメーションを拡張するため、ノードの管理とワークロードの需要に合わせたスケールアップが容易になります。

EKS Auto Mode でクラスターを作成するには、次のいずれかの方法を選択します。
+  [AWS CLI を使用して EKS Auto Mode クラスターを作成する](automode-get-started-cli.md): `aws` コマンドラインインターフェイスを使用してクラスターを作成します。
+  [AWS マネジメントコンソール を使用して EKS Auto Mode クラスターを作成する](automode-get-started-console.md):AWS マネジメントコンソール を使用してクラスターを作成します。
+  [eksctl CLI を使用して EKS Auto Mode クラスターを作成する](automode-get-started-eksctl.md): `eksctl` コマンドラインインターフェイスを使用してクラスターを作成します。

最初の EKS クラスターを作成するために異なるアプローチを比較する場合、EKS Auto Mode は、コンポーネントのセットアップを含むクラスター管理の責任を AWS に引き継がせる必要があることを知っておく必要があります。
+ ワークロードの需要の増減に応じて、ノードを起動およびスケーリングすること。
+ クラスター自体 (コントロールプレーン)、ノードのオペレーティングシステム、ノードで実行されているサービスを定期的にアップグレードすること。
+ ノードのストレージのサイズや速度、ポッドネットワーク設定などを決定するデフォルト設定を選択すること。

EKS Auto Mode クラスターが提供する機能の詳細については、「[EKS Auto Mode を使用してクラスターインフラストラクチャを自動化する](automode.md)」を参照してください。

# Amazon EKS – `eksctl` の使用を開始する
<a name="getting-started-eksctl"></a>

**注記**  
このトピックでは、EKS Auto Mode を**使用せずに**開始する方法について説明します。  
EKS Auto Mode は、クラスターコンピューティング、ストレージ、ネットワーキングのルーチンタスクを自動化します。[アマゾン EKS 自動モードl の使用を開始する方法について説明します。](getting-started-automode.md)

この入門ガイドでは、`eksctl` (Amazon EKS 上に Kubernetes クラスターを作成し管理するためのシンプルなコマンドラインユーティリティ) を使用して、Amazon Elastic Kubernetes Service (Amazon EKS) の開始に必要なすべてのリソースをインストールする方法を解説していきます。このチュートリアルの終わりには、アプリケーションのデプロイが可能な、実行状態の Amazon EKS クラスターが完成します。

AWS マネジメントコンソール からクラスターを作成する場合には手動で作成する必要のあるリソースのいくつかが、このガイドの手順に従うことで自動的に作成されます。リソース間での連携方法について良く理解するために、大半のリソースを手動で作成する場合には、クラスターと計算機能の作成に AWS マネジメントコンソール を使用します。詳細については、「[Amazon EKS の使用を開始する – AWS マネジメントコンソール と AWS CLI](getting-started-console.md)」を参照してください。

## 前提条件
<a name="eksctl-prereqs"></a>

このチュートリアルを開始する前に、「[Amazon EKS を使用するようにセットアップする](setting-up.md)」の説明に従って、AWS CLI、kubectl、および eksctl ツールをインストールして設定する必要があります。

## ステップ 1: Amazon EKS クラスターとノードを作成する
<a name="create-cluster-gs-eksctl"></a>

**重要**  
可能な限りシンプルかつ迅速に使用を開始するため、このトピックでは、クラスターとノードをデフォルト設定で作成する手順について説明します。実稼働で使用するクラスターとノードを作成する際には、すべての設定内容に習熟した上で、ご自身の要件を満たす設定でクラスターとノードをデプロイし直すことをお勧めします。詳細については、[Amazon EKS クラスターを作成します。](create-cluster.md)および[ノードを使用してコンピューティングリソースを管理する](eks-compute.md)を参照してください。一部の設定は、クラスターとノードの作成時にのみ有効にできます。

クラスターの作成には、次のいずれかのノードタイプが使用できます。各タイプの詳細については、「[ノードを使用してコンピューティングリソースを管理する](eks-compute.md)」を参照してください。クラスターをデプロイした後に、他のノードタイプを追加できます。
+  **Fargate – Linux** – [AWS Fargate を使用してコンピューティング管理を簡素化する](fargate.md) で Linux アプリケーションを実行する場合は、このタイプのノードを選択します。Fargate は、Amazon EC2 インスタンスを管理せずに Kubernetes ポッドをデプロイできるサーバーレスコンピューティングエンジンです。
+  **マネージド型ノード – Linux** – Amazon EC2 インスタンスで Amazon Linux アプリケーションを実行する場合は、このタイプのノードを選択します。このガイドでは説明していませんが、[Windows セルフマネージド型](launch-windows-workers.md)および [Bottlerocket](launch-node-bottlerocket.md) ノードを、クラスターに追加することもできます。

次のコマンドを使用して、Amazon EKS クラスターを作成します。*my-cluster* を独自の値に置き換えることができます。この名前には英数字 (大文字と小文字が区別されます) とハイフンのみを使用できます。先頭の文字は英数字である必要があります。また、100 文字より長くすることはできません。名前は、クラスターを作成する AWS リージョンおよび AWS アカウント内で一意である必要があります。*region-code* は、Amazon EKS がサポートする任意の AWS リージョンに置き換えます。AWS リージョンの一覧についてはAWS の全般的なリファレンスガイドの「[アマゾン EKS エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/eks.html)」を参照してください。

**Example**  

```
eksctl create cluster --name my-cluster --region region-code --fargate
```

```
eksctl create cluster --name my-cluster --region region-code
```

クラスターの作成には数分かかります。作成中に、数行の出力が表示されます。出力の最後の行は次のサンプル行のようになります。

```
[...]
[✓]  EKS cluster "my-cluster" in "region-code" region is ready
```

 `eksctl` により、`~/.kube/config` で `kubectl` config ファイルが作成されるか、コンピュータ上の `~/.kube/config` にある既存の config ファイル内に新規クラスター設定が追加されました。

クラスターの作成が完了したら、AWS CloudFormation [コンソール](https://console.aws.amazon.com/cloudformation/)で、`eksctl-my-cluster-cluster` という名前の AWS CloudFormation スタックを表示して、作成されたすべてのリソースを確認します。

## ステップ 2: Kubernetes リソースを表示する
<a name="gs-eksctl-view-resources"></a>

1. クラスターノードを表示します。

   ```
   kubectl get nodes -o wide
   ```

   出力例は次のとおりです。  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAME                                                STATUS   ROLES    AGE     VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   fargate-ip-192-0-2-0.region-code.compute.internal   Ready    <none>   8m3s    v1.2.3-eks-1234567   192.0.2.0     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   fargate-ip-192-0-2-1.region-code.compute.internal   Ready    <none>   7m30s   v1.2.3-eks-1234567   192-0-2-1     <none>        Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAME                                        STATUS   ROLES    AGE    VERSION              INTERNAL-IP   EXTERNAL-IP   OS-IMAGE         KERNEL-VERSION                  CONTAINER-RUNTIME
   ip-192-0-2-0.region-code.compute.internal   Ready    <none>   6m7s   v1.2.3-eks-1234567   192.0.2.0     192.0.2.2     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ip-192-0-2-1.region-code.compute.internal   Ready    <none>   6m4s   v1.2.3-eks-1234567   192.0.2.1     192.0.2.3     Amazon Linux 2   1.23.456-789.012.amzn2.x86_64   containerd://1.2.3
   ```

------

   出力に表示される内容の詳細については、「[AWS マネジメントコンソール に Kubernetes リソースを表示する](view-kubernetes-resources.md)」を参照してください。

1. クラスターで実行されているワークロードを表示します。

   ```
   kubectl get pods -A -o wide
   ```

   出力例は次のとおりです。  
**Example**  

------
#### [ Fargate - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE   IP          NODE                                                NOMINATED NODE   READINESS GATES
   kube-system   coredns-1234567890-abcde   1/1     Running   0          18m   192.0.2.0   fargate-ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          18m   192.0.2.1   fargate-ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------
#### [ Managed nodes - Linux ]

   ```
   NAMESPACE     NAME                       READY   STATUS    RESTARTS   AGE     IP          NODE                                        NOMINATED NODE   READINESS GATES
   kube-system   aws-node-12345             1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   kube-system   aws-node-67890             1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-abcde   1/1     Running   0          14m     192.0.2.3   ip-192-0-2-3.region-code.compute.internal   <none>           <none>
   kube-system   coredns-1234567890-12345   1/1     Running   0          14m     192.0.2.4   ip-192-0-2-4.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-12345           1/1     Running   0          7m46s   192.0.2.0   ip-192-0-2-0.region-code.compute.internal   <none>           <none>
   kube-system   kube-proxy-67890           1/1     Running   0          7m43s   192.0.2.1   ip-192-0-2-1.region-code.compute.internal   <none>           <none>
   ```

------

   出力に表示される内容の詳細については、「[AWS マネジメントコンソール に Kubernetes リソースを表示する](view-kubernetes-resources.md)」を参照してください。

## ステップ 3: クラスターとノードを削除する
<a name="gs-eksctl-clean-up"></a>

このチュートリアルのために作成したクラスターとノードの使用が終了したら、クリーンアップのために、次のコマンドを使用してそれらのクラスターとノードを削除する必要があります。クリーンアップせずに、他の目的でこのクラスターを使用する場合は、「[次のステップ](#gs-eksctl-next-steps)」を参照してください。

```
eksctl delete cluster --name my-cluster --region region-code
```

## 次のステップ
<a name="gs-eksctl-next-steps"></a>

以下のトピックはクラスターの機能を拡張するのに役立ちます。
+ [サンプルアプリケーション](sample-deployment.md)をクラスターにデプロイします。
+ クラスターを作成した [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)は、`kubectl` または AWS マネジメントコンソール を使用して Kubernetes API サーバーを呼び出すことができる唯一のプリンシパルです。他の IAM プリンシパルがクラスターにアクセスできるようにする場合はそれらを追加する必要があります。詳細については、[IAM ユーザーおよびロールに Kubernetes API へのアクセスを付与する](grant-k8s-access.md)および[必要なアクセス許可](view-kubernetes-resources.md#view-kubernetes-resources-permissions)を参照してください。
+ 本番用にクラスターをデプロイする前に、[クラスター](create-cluster.md)と[ノード](eks-compute.md)のすべての設定を理解しておくことをお勧めします。アマゾン EC2 ノードへの SSH アクセスの有効化など一部の設定はクラスターの作成時に行う必要があります。
+ クラスターのセキュリティを強化するには[サービスアカウントの IAM ロールを使用する アマゾン VPC コンテナネットワークインターフェイスプラグインの設定](cni-iam-role.md)を行ってください。

# Amazon EKS の使用を開始する – AWS マネジメントコンソール と AWS CLI
<a name="getting-started-console"></a>

**注記**  
このトピックではEKS 自動モードl を**使用せずに**開始する方法について説明します。管理されたノードグループ を使用してノードをデプロイします。  
EKS 自動モードl はクラスターコンピューティング、ストレージ、ネットワーキングのルーチンタスクを自動化します。[Amazon EKS 自動モードl の使用を開始する方法について説明します。](getting-started-automode.md)ノードをデプロイするにはEKS 自動モードが推奨されます。

このガイドではAWS マネジメントコンソール と AWS CLI を使用して、Amazon Elastic Kubernetes Service (Amazon EKS) を使用開始するために必要なすべてのリソースを作成する方法を解説します。ここでは各リソースを手動で作成します。このチュートリアルの終わりにはアプリケーションのデプロイが可能な、実行状態の Amazon EKS クラスターが完成します。

このガイドの手順に従うと、各リソースがどのように作成され、リソース間でどのようにやり取りするかを全面的に把握できます。大半のリソースを自動的に作成させたい場合にはクラスターとノードの作成に `eksctl` CLI を使用します。詳細については「[Amazon EKS – `eksctl` の使用を開始する](getting-started-eksctl.md)」を参照してください。

## 前提条件
<a name="eks-prereqs"></a>

このチュートリアルを開始する前に、Amazon EKS クラスターの作成と管理に必要な次のツールとリソースを、インストールおよび設定しておく必要があります。
+  ** AWS CLI** – Amazon EKS など AWS のサービスを操作するためのコマンドラインツールです。詳細についてはAWS コマンドラインインターフェイスユーザーガイドの「[インストール](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)」を参照してください。AWS CLI のインストール後は設定も行っておくことをお勧めします。詳細についてはAWS コマンドラインインターフェイスユーザーガイドの「[aws configure を使用したクイック設定](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config)」を参照してください。なお、このページにある **[update-kubeconfig]** オプションを使用するにはAWS CLI v2 が必要です。
+  **`kubectl`** – Kubernetes クラスターを操作するためのコマンドラインツール。詳細については、「[`kubectl` および `eksctl` のセットアップ](install-kubectl.md)」を参照してください。
+  **必要な IAM アクセス許可** – 使用している IAM セキュリティプリンシパルには Amazon EKS の IAM ロール、サービスにリンクされたロール、AWS クラウドフォーメーション、VPC、その関連リソースを操作するための権限が必要になります。詳細については「IAM ユーザーガイド」の「[アクション](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazonelastickubernetesservice.html)」および「[サービスにリンクされたロールの使用](https://docs.aws.amazon.com/IAM/latest/UserGuide/using-service-linked-roles.html)」を参照してください。このガイドのすべてのステップは1 つのユーザーとして実行する必要があります。現在のユーザーを確認するには次のコマンドを実行してください：

  ```
  aws sts get-caller-identity
  ```

このトピック内のステップはバッシュ シェル内で実行することが推奨されます。Bash シェルを使用していない場合、行継続文字や、変数の設定と使用に関する方法など、一部のスクリプトコマンドのためにシェルの調整が必要となります。さらに、シェルの引用規則とエスケープ規則は異なる場合があります。詳細については「AWS コマンドラインインターフェイスのユーザーガイド」の「[AWS CLI での文字列への引用符の使用](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html)」を参照してください。

## ステップ 1: Amazon EKS クラスターを作成する
<a name="eks-create-cluster"></a>

**重要**  
可能な限りシンプルかつ迅速に使用を開始するため、このトピックではクラスターをデフォルトの設定で作成するステップについて説明します。本番で使用するクラスターを作成する前に、すべての設定内容に習熟した上で、要件を満たす設定でクラスターをデプロイすることをお勧めします。詳細については「[Amazon EKS クラスターを作成します。](create-cluster.md)」を参照してください。一部の設定はクラスターの作成時にのみ有効にできます。

1. Amazon EKS の要件を満たすように、パブリックサブネットとプライベートサブネットを持つ Amazon VPC を作成します。*地域コード* はAmazon EKS がサポートする任意の AWS リージョンに置き換えます。AWS リージョンの一覧についてはAWS の全般的なリファレンスガイドの「[Amazon EKS エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/eks.html)」を参照してください。*my-eks-vpc-stack* は任意の名前に置き換えることができます。

   ```
   aws cloudformation create-stack \
     --region region-code \
     --stack-name my-eks-vpc-stack \
     --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
   ```
**ヒント**  
前のコマンドで作成されたすべてのリソースの一覧については、https://console.aws.amazon.com/cloudformation/ で AWS CloudFormation コンソールを開きます。*my-eks-vpc-stack* スタックを選択し、**[Resources]** (リソース タブを選択してください。

1. クラスターの IAM ロールを作成して、そのロールに必要な Amazon EKS IAM 管理ポリシーをアタッチします。Amazon EKS によって管理される Kubernetes クラスターは、そのサービスで使用するリソースを管理するために、ユーザーに代わって他の AWS のサービスを呼び出します。

   1. 次の内容を *eks-cluster-role-trust-policy.json* という名前のファイルにコピーします。

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

   1. ロールを作成します。

      ```
      aws iam create-role \
        --role-name myAmazonEKSClusterRole \
        --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
      ```

   1. このロールに、必要な アマゾン EKS 管理の IAM ポリシーをアタッチします。

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

1. アマゾン EKS コンソール の[https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters) 開きます：

   コンソールの右上に表示されている AWS リージョンが、クラスターを作成する AWS リージョンであることを確認します。異なる場合はAWS リージョン名の横にあるドロップダウンを展開し、使用する AWS リージョンを選択してください。

1. **[クラスターを作成]** を選択してください。このオプションが表示されない場合はまず左のナビゲーションペインの **[クラスター]** を選択してください。

1. **[クラスターの設定]** ページで、次の手順を実行してください：

   1. **カスタム設定**を選択し、**Use EKS Auto Mode**を無効にします。(EKS 自動モードクラスターを使用する場合は代わりに「」を参照してください）[AWS マネジメントコンソール を使用して EKS Auto Mode クラスターを作成する](automode-get-started-console.md)。

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

   1. **[クラスターサービス役割]** で、「*myAmazonEKSClusterRole*」を選択してください。

   1. その他の設定はデフォルト値のままにし、**[次へ]** をクリックします。

1. **[ネットワーキングを指定]** ページで、以下の作業を行います：

   1. 前のステップで **[VPC]** ドロップダウンリストから作成した VPC の ID を選択してください。*\$1 \$1 my-eks-vpc-stack-VPC* に類似した ID です。

   1. 前のステップで作成したサブネットを**[サブネット]** のドロップダウンリストの中から選択します。このサブネットは *\$1 \$1 my-eks-vpc-stack-\$1* のように表示されます。

   1. 前のステップで作成したセキュリティグループを **[追加のセキュリティグループ]** のドロップダウンリストの中から選択します。このグループは *\$1 \$1 my-eks-vpc-stack-ControlPlaneSecurityGroup-\$1* のように表示されます。

   1. その他の設定はデフォルト値のままにし、**[次へ]** をクリックします。

1. **[オブザーバビリティの設定]**ページで、**[次へ]** を選択してください。

1. **[アドオンの選択]** ページで、**[次へ]** を選択してください。

   アドオンの詳細については「[Amazon EKS アドオン](eks-add-ons.md)」を参照してください。

1. **[選択したアドオンセッティングの設定]** ページで、**[次へ]** を選択してください。

1. **[確認して作成]** ページで、**[作成]** をクリックします。

   クラスターのプロビジョニングプロセスが完了するまで、数分の間、クラスター名の右側でステータスが ** [作成中]** と表示されます。ステータスが **[アクティブ]** になるまで、次のステップに進まないでください。
**注記**  
リクエストで指定したアベイラビリティーゾーンのいずれかに、Amazon EKS クラスターの作成に十分な容量がない場合にはエラーが表示されることがあります。このエラー出力には新しいクラスターをサポートできるアベイラビリティーゾーンが表示されます。アカウント向けにサポートされているアベイラビリティーゾーンにある 2 つ以上のサブネットを使用して、クラスターを作成します。詳細については「[容量不足](troubleshooting.md#ice)」を参照してください。

## ステップ 2: 自分のコンピュータでクラスターとの通信を設定する
<a name="eks-configure-kubectl"></a>

このセクションではクラスター用の `kubeconfig` ファイルを作成します。このファイルの設定により、`kubectl` CLI からクラスターへの通信ができるようになります。

先に進む前に、ステップ 1 で必ずクラスターの作成を正常に完了してください。

1. クラスター用の `kubeconfig` ファイルを作成もしくは更新します。*地域コード* をクラスターを作成した AWS リージョンに置き換えます。*マイクラスター* の部分は自分のクラスター名に置き換えます。

   ```
   aws eks update-kubeconfig --region region-code --name my-cluster
   ```

   デフォルトでは`config` ファイルが `~/.kube` に作成されるか、`config` ファイルが既に `~/.kube` に存在する場合にはその中に新しいクラスター設定が追加されます。

1. 設定をテストします。

   ```
   kubectl get svc
   ```
**注記**  
認可またはリソースタイプのエラーが発生した場合はトラブルシューティングトピックの「[許可されていないか、アクセスが拒否されました (`kubectl`)](troubleshooting.md#unauthorized)」を参照してください。

   出力例は次のとおりです。

   ```
   NAME             TYPE        CLUSTER-IP   EXTERNAL-IP   PORT(S)   AGE
   svc/kubernetes   ClusterIP   10.100.0.1   <none>        443/TCP   1m
   ```

## ステップ 3: ノードを作成する
<a name="eks-launch-workers"></a>

**重要**  
可能な限りシンプルかつ迅速に使用を開始するため、このトピックではノードをデフォルトの設定で作成するステップについて説明します。本番で使用するノードを作成する前に、すべての設定内容に習熟した上で、要件を満たす設定でノードをデプロイすることをお勧めします。詳細については「[ノードを使用してコンピューティングリソースを管理する](eks-compute.md)」を参照してください。一部の設定はノードの作成時にのみ有効にできます。

このステップではマネージド型ノードグループを使用してノードを作成するようにクラスターを設定し、前のステップで作成したサブネットとノード IAM ロールを指定します。これにより、Amazon EC2 インスタンスで Amazon Linux アプリケーションを実行できます。

EKS でノードを設定するさまざまな方法については「[ノードを使用してコンピューティングリソースを管理する](eks-compute.md)」を参照してください。クラスターをデプロイした後に、他のノードタイプを追加できます。このガイドでは説明していませんが、[Windows セルフマネージド型](launch-windows-workers.md)および [Bottlerocket](launch-node-bottlerocket.md) ノードを、クラスターに追加することもできます。

 **EC2 Linux マネージド型ノードグループを作成するには** 

1. ノードの IAM ロールを作成して、必要な Amazon EKS IAM 管理ポリシーをアタッチします。Amazon EKS ノード `kubelet` デーモンが、ユーザーに代わって AWS API への呼び出しを実行してください。ノードはIAM インスタンスプロファイルおよび関連ポリシーを通じて、これらの API コールのアクセス許可を受け取ります。

   1. 次の内容を `node-role-trust-policy.json` という名前のファイルにコピーします。

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

   1. ノードの IAM ロールを作成します。

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

   1. ロールに、必要なマネージド IAM ポリシーをアタッチします。

      ```
      aws iam attach-role-policy \
        --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \
        --role-name myAmazonEKSNodeRole
      aws iam attach-role-policy \
        --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \
        --role-name myAmazonEKSNodeRole
      aws iam attach-role-policy \
        --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \
        --role-name myAmazonEKSNodeRole
      ```

   1. アマゾン EKS コンソール の[https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters) 開きます：

   1. [ステップ 1: アマゾン EKS クラスターを作成する](#eks-create-cluster)で作成したクラスターの名前 (*マイクラスター* など 選択してください：

   1. **[*マイクラスター*]** ページで、次の操作を行います：

   1. **[コンピューティング]** タブを開きます。

   1. **[ノードグループを追加]** をクリックします。

1. **[ノードグループの設定]** ページで以下を実行してください：

   1. **[名前]** に、マネージド型ノードグループの一意の名前 (*マイノードグループ* など 入力してください。ノードグループ名は 63 文字以下である必要があります。先頭は文字または数字でなければなりませんが、残りの文字にはハイフンおよびアンダースコアを含めることもできます。

   1. **[ノード IAM ロール名]** で、前のステップで作成した *myAmazonEKSNodeRole* ロールを選択してください。各ノードグループには独自の一意の IAM ロールを使用することをお勧めします。

   1. [** 次へ**] を選択してください。

1. **[コンピューティングとスケーリングの設定]** ページではデフォルトの値を受け入れ、**[次へ]** をクリックします。

1. **[ネットワーキングの指定]** ページではデフォルトの値を受け入れ、**[次へ]** をクリックします。

1. **[確認と作成]** ページで、マネージド型ノードグループの設定を確認し、**[作成]** を選択してください。

1. 数分後、**[ノードグループの設定]** セクションにある **[ステータス]** の表示が、**[作成中]** から **[アクティブ]** に変わります。ステータスが **[アクティブ]** になるまで、次のステップに進まないでください。

## ステップ 4: リソースを表示する
<a name="gs-view-resources"></a>

ノードと Kubernetes のワークロードを表示することができます。

1. 左のナビゲーションペインで **[クラスター]** を選択してください。**[クラスター]** のリストで *マイクラスター* など、作成したクラスターの名前を選択してください。

1. **[*マイクラスター*]** ページで、次の項目を選択してください：

   1.  **[コンピューティング]** タブ – クラスターにデプロイした **[ノード]** が一覧表示されます。ノードの名前を選択すると、そのノードに関するより詳細な情報が表示されます。

   1.  **[リソース]** タブ – Amazon EKS クラスターにデフォルトでデプロイされたすべての Kubernetes リソースが表示されます。コンソールでリソースタイプを選択すると、その詳細を確認できます。

## ステップ 5: リソースを削除する
<a name="gs-console-clean-up"></a>

このチュートリアルのために作成したクラスターとノードの使用が終了したら、作成したリソースを削除する必要があります。リソースを削除する前に、他の目的でこのクラスターを使用する場合は[次のステップ](#gs-console-next-steps) を参照してください。

1. ここで作成した、いずれかのノードグループもしくは Fargate プロファイルを削除してください。

   1. アマゾン EKS コンソール の[https://console.aws.amazon.com/eks/home\$1/clusters](https://console.aws.amazon.com/eks/home#/clusters) 開きます：

   1. 左のナビゲーションペインで **[クラスター]** を選択してください。クラスターのリストから *マイクラスター* を選択してください。

   1. **[コンピューティング]** タブを開きます。

   1. ノードグループを作成している場合はノードグループ「*マイノードグループ*」を選択した上で、**[削除]**を クリックしてください。*マイノードグループ* と入力し、**[削除]** を選択してください。

   1. ノード グループ プロファイルが削除されるまで続行しないでください。

1. クラスターを削除します。

   1. 左のナビゲーションペインで **[クラスター]** を選択してください。クラスターのリストから *マイクラスター* を選択してください。

   1. **[クラスターの削除]** を選択してください。

   1. *マイクラスター* と入力し、**[削除]** を選択してください。クラスターが削除されるまで続行しないでください。

1. 作成した VPC AWS クラウドFormation スタックを削除します。

   1. クラウドフォーメーション コンソール のhttps://console.aws.amazon.com/cloudformation/ 開きます：

   1. 「*my-eks-vpc-stack*」スタックを選択した上で、**[削除]** クリックしてください。

   1. **[*my-eks-vpc-stack* の削除]** 確認ダイアログボックスで、**[スタックを削除]** を選択してください。

1. 作成した IAM ロールを削除します。

   1. https://console.aws.amazon.com/iam/ で IAM コンソールを開きます。

   1. 左のナビゲーションペインで、**[ロール]** を選択してください。

   1. リスト (** *[myAmazonEKSClusterRole]* **または *[myAmazonEKSNodeRole]* から、作成した各ロールを選択してください。**[削除]** を選択し、要求された確認テキストを入力した後で、**[削除]** をクリックします。

## 次のステップ
<a name="gs-console-next-steps"></a>

以下のトピックはクラスターの機能を拡張するのに役立ちます。
+ クラスターを作成した [IAM プリンシパル](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html#iam-term-principal)は、`kubectl` または AWS マネジメントコンソール を使用して Kubernetes API サーバーを呼び出すことができる唯一のプリンシパルです。他の IAM プリンシパルがクラスターにアクセスできるようにする場合はそれらを追加する必要があります。詳細については「[IAM ユーザーおよびロールに Kubernetes API へのアクセスを付与する](grant-k8s-access.md)」および「[必要なアクセス許可](view-kubernetes-resources.md#view-kubernetes-resources-permissions)」を参照してください。
+ [サンプルアプリケーション](sample-deployment.md)をクラスターにデプロイします。
+ 本番用にクラスターをデプロイする前に、[クラスター](create-cluster.md)と[ノード](eks-compute.md)のすべての設定を理解しておくことをお勧めします。Amazon EC2 ノードへの SSH アクセスの有効化など一部の設定はクラスターの作成時に行う必要があります。
+ クラスターのセキュリティを強化するには[サービスアカウントの IAM ロールを使用する Amazon VPC コンテナネットワークインターフェイスプラグインの設定](cni-iam-role.md)を行ってください。