

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# AWS Snow での Amazon EKS Anywhere の使用
<a name="using-eksa"></a>

Amazon EKS Anywhere on AWS Snow は、Snowball Edge で Kubernetes クラスターを作成および運用するのに役立ちます。Kubernetes は、コンテナ化されたアプリケーションのデプロイ、スケーリング、および管理の自動化に使用されるオープンソースソフトウェアです。Amazon EKS Anywhere は、外部ネットワーク接続の有無にかかわらず、Snowball Edge デバイス上で使用できます。外部ネットワーク接続のないデバイスで Amazon EKS Anywhere を使用するには、Snowball Edge デバイスで実行するコンテナレジストリを指定します。Amazon EKS Anywhere に関する一般的な情報については、「[Amazon EKS Anywhere documentation](https://anywhere.eks.amazonaws.com/docs/)」を参照してください。

 AWS Snow で Amazon EKS Anywhere を使用すると、次の機能を利用できます。
+ Amazon EKS Anywhere CLI (eksctl anywhere) を使用して、Snowball Edge コンピューティング最適化デバイスに Kubernetes (K8s) クラスターをプロビジョニングする。Amazon EKS Anywhere を 1 台の Snowball Edge デバイスにプロビジョニングすることも、高可用性実現のために 3 台以上のデバイスにプロビジョニングすることもできます。
+ Cilium Container Network Interface (CNI) のサポート
+ ノードオペレーティングシステムとしての Ubuntu 20.04 のサポート

この図は、Snowball Edge デバイスにデプロイされた Amazon EKS Anywhere クラスターを示しています。

![\[Snowball Edge デバイスにデプロイされた Amazon EKS Anywhere on AWS Snow クラスターと、コンポーネント間の関係を示す図。\]](http://docs.aws.amazon.com/ja_jp/snowball/latest/developer-guide/images/eskaarch.jpg)


Amazon EKS Anywhere でサポートされている、利用可能な最新の Kubernetes バージョンを使用して Kubernetes クラスターを作成することをお勧めします。詳細については、「[Amazon EKS-Anywhere Versioning](https://anywhere.eks.amazonaws.com/docs/concepts/support-versions/)」を参照してください。アプリケーションに特定のバージョンの Kubernetes が必要な場合は、Amazon EKS が標準または拡張サポートで提供する任意のバージョンの Kubernetes を使用します。デプロイのライフサイクルを計画するときは、Kubernetes バージョンのリリース日とサポート日を考慮してください。これにより、使用する予定の Kubernetes のバージョンに対するサポートが失われる可能性を回避できます。詳細については、「[Amazon EKS Kubernetes リリースカレンダー](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html#kubernetes-release-calendar)」を参照してください。

Amazon EKS Anywhere on AWS Snow の詳細については、[Amazon EKS Anywhere のドキュメント](https://anywhere.eks.amazonaws.com/docs/)を参照してください。

**Topics**
+ [Amazon EKS Anywhere on AWS Snow 用の Snowball Edge デバイスを注文する前に実行するアクション](eksa-gettingstarted.md)
+ [Amazon EKS Anywhere on Snow で使用する AWS Snowball Edge デバイスの注文](order-sbe.md)
+ [Snowball Edge デバイスで Amazon EKS Anywhere を設定して実行する](eksa-configuration.md)
+ [切断されたオペレーション用に Amazon EKS Anywhere on AWS Snow を設定する](configure-disconnected.md)
+ [Snowball Edge デバイスでのクラスターの作成とメンテナンス](maintain-eks-a-clusters-snow.md)

# Amazon EKS Anywhere on AWS Snow 用の Snowball Edge デバイスを注文する前に実行するアクション
<a name="eksa-gettingstarted"></a>

現時点では、Amazon EKS Anywhere は Snowball Edge コンピューティング最適化デバイスと互換性があります。Snowball Edge デバイスを注文する前に、準備しておくべきことがいくつかあります。
+ デバイス上に仮想マシンを作成するために使用するオペレーティングシステムイメージを構築して提供します。
+ ネットワークには K8s コントロールプレーンエンドポイントに使用できる静的 IP アドレスがあり、アドレス解決プロトコル (ARP) を許可している必要があります。
+ Snowball Edge デバイスでは、特定のポートが開いている必要があります。ポートの詳細については、「Amazon EKS Anywhere documentation」の「[Ports and protocols](https://anywhere.eks.amazonaws.com/docs/reference/ports/)」を参照してください。

**Topics**
+ [Snowball Edge 用の Ubuntu EKS Distro AMI を作成する](#create-eksd-ami)
+ [Snowball Edge 用の Harbor AMI を構築する](#existing-private-registry)

## Snowball Edge 用の Ubuntu EKS Distro AMI を作成する
<a name="create-eksd-ami"></a>

Ubuntu EKS Distro AMI を作成するには、「[Build Snow node images](https://anywhere.eks.amazonaws.com/docs/reference/artifacts/#build-snow-node-images)」を参照してください。

生成された AMI の名前は `capa-ami-ubuntu-20.04-version-timestamp` のパターンに従います。例えば、`capa-ami-ubuntu-20.04-v1.24-1672424524`。

## Snowball Edge 用の Harbor AMI を構築する
<a name="existing-private-registry"></a>

Snowball Edge デバイスに含めるように Harbor プライベートレジストリ AMI を設定すると、外部ネットワークに接続しなくてもデバイスで Amazon EKS Anywhere を使用できます。Snowball Edge デバイスが外部ネットワークから切断されているときに Amazon EKS Anywhere を使用しない場合、またはデバイスで使用する AMI にプライベート Kubernetes レジストリがある場合は、このセクションをスキップできます。

Harbor ローカルレジストリ AMI を作成するには、「[Build a Harbor AMI](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/container-registry-ami-builder#build-harbor-ami)」を参照してください。

# Amazon EKS Anywhere on Snow で使用する AWS Snowball Edge デバイスの注文
<a name="order-sbe"></a>

Snowball Edge コンピューティングを最適化するには、このガイド[Snowball Edge デバイスを注文するジョブの作成](create-job-common.md)の「」を参照し、注文プロセス中にこれらの項目に留意してください。
+ ステップ 1 で、**[ローカルコンピューティングとストレージのみ]** のジョブタイプを選択します。
+ ステップ 2 で、**Snowball Edge Compute Optimized** デバイスタイプを選択します。
+ ステップ 3 で、**Amazon EKS Anywhere on AWS Snow** を選択し、必要な Kubernetes バージョンを選択します。
**注記**  
最新のソフトウェアを提供するために、現在利用可能なバージョンよりも新しいバージョンの ESK Anywhere を使用してデバイスを設定する場合があります。詳細については、「*Amazon EKS ユーザーガイド*」の「[Versioning](https://anywhere.eks.amazonaws.com/docs/concepts/support-versions/)」をご覧ください。  
Amazon EKS Anywhere でサポートされている、利用可能な最新の Kubernetes バージョンを使用して Kubernetes クラスターを作成することをお勧めします。詳細については、「[Amazon EKS-Anywhere Versioning](https://anywhere.eks.amazonaws.com/docs/concepts/support-versions/)」を参照してください。アプリケーションに特定のバージョンの Kubernetes が必要な場合は、Amazon EKS が標準または拡張サポートで提供する任意のバージョンの Kubernetes を使用します。デプロイのライフサイクルを計画するときは、Kubernetes バージョンのリリース日とサポート日を考慮してください。これにより、使用する予定の Kubernetes のバージョンに対するサポートが失われる可能性を回避できます。詳細については、「[Amazon EKS Kubernetes リリースカレンダー](https://docs.aws.amazon.com/eks/latest/userguide/kubernetes-versions.html#kubernetes-release-calendar)」を参照してください。
+ EKS Distro AMI (「[Snowball Edge 用の Ubuntu EKS Distro AMI を作成する](eksa-gettingstarted.md#create-eksd-ami)」を参照) や、オプションで構築した Harbor AMI（「[Snowball Edge 用の Harbor AMI を構築する](eksa-gettingstarted.md#existing-private-registry)」を参照）など、デバイスに含める AMI を選択します。
+ 高可用性を実現するために複数の Snowball Edge デバイスが必要な場合は、**[高可用性]** から必要なデバイスの数を選択します。

Snowball Edge デバイス (1 台または複数) を受け取ったら、[Snowball Edge デバイスで Amazon EKS Anywhere を設定して実行する](eksa-configuration.md) に従って Amazon EKS Anywhere を設定します。

# Snowball Edge デバイスで Amazon EKS Anywhere を設定して実行する
<a name="eksa-configuration"></a>

以下の手順に従って、Snowball Edge デバイスで Amazon EKS Anywhere を設定して起動します。次に、接続されていないデバイスでも動作するように Amazon EKS Anywhere を設定するには、デバイスを外部ネットワークから切断する前に追加の手順を実行します。詳細については、「[切断されたオペレーション用に Amazon EKS Anywhere on AWS Snow を設定する](configure-disconnected.md)」を参照してください。

**Topics**
+ [Snowball Edge での Amazon EKS Anywhere の初期設定](#initial-setup)
+ [Snowball Edge デバイスで Amazon EKS Anywhere を自動的に設定して実行する](#auto-eksa-configuration)
+ [Snowball Edge デバイスで Amazon EKS Anywhere を手動で設定して実行する](#manual-eksa-configuration)

## Snowball Edge での Amazon EKS Anywhere の初期設定
<a name="initial-setup"></a>

デバイスをローカルネットワークに接続し、Snowball Edge クライアントをダウンロードし、認証情報を取得し、デバイスのロックを解除して、各 Snowball Edge デバイスで初期セットアップを実行します。

**初期セットアップを実行する**

1. Snowball Edge クライアントのダウンロードとインストール 詳細については、「[Snowball Edge クライアントのダウンロードとインストール](using-client-commands.md#download-the-client)」を参照してください。

1. デバイスをローカルネットワークに接続します。詳細については、「[Snowball Edge をローカルネットワークに接続する](getting-started.md#getting-started-connect)」を参照してください。

1. 認証情報を取得して、デバイスのロックを解除します。詳細については、「[Snowball Edge にアクセスするための認証情報の取得](getting-started.md#get-credentials)」を参照してください。

1. デバイスのロックを解除します。詳細については、「[Snowball Edge のロック解除](unlockdevice.md)」を参照してください。デバイスを手動でロック解除する代わりにスクリプトツールを使用することもできます。「[Unlock devices](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/setup-tools#Unlock-devices)」を参照してください。

## Snowball Edge デバイスで Amazon EKS Anywhere を自動的に設定して実行する
<a name="auto-eksa-configuration"></a>

サンプルスクリプトツールを使用して環境を設定し、Amazon EKS Anywhere 管理インスタンスを実行するか、手動で実行することができます。スクリプトツールを使用するには、「[Unlock devices and setup environment for Amazon EKS Anywhere](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/setup-tools#Unlock-devices-and-setup-envorinment-for-EKS-Anywhere)」を参照してください。環境を設定して Amazon EKS Anywhere 管理インスタンスを実行した後、ネットワークに接続されていない Snowball Edge デバイス上で動作するように Amazon EKS Anywhere を設定する必要がある場合は、「[切断されたオペレーション用に Amazon EKS Anywhere on AWS Snow を設定する](configure-disconnected.md)」を参照してください。それ以外の場合は[Snowball Edge デバイスでのクラスターの作成とメンテナンス](maintain-eks-a-clusters-snow.md)を参照してください。

手動で環境を設定し、Amazon EKS Anywhere 管理インスタンスを実行するには、「[Snowball Edge デバイスで Amazon EKS Anywhere を手動で設定して実行する](#manual-eksa-configuration)」を参照してください。

## Snowball Edge デバイスで Amazon EKS Anywhere を手動で設定して実行する
<a name="manual-eksa-configuration"></a>

Snowball Edge デバイスで Amazon EKS Anywhere を設定する前に、Snowball Edge クライアントのプロファイルを設定します。詳細については、「[Snowball Edge クライアントの設定と使用](using-client-commands.md)」を参照してください。

**Topics**
+ [Amazon EKS Anywhere IAM ローカルユーザーを作成する](#create-role)
+ [（オプション) Snowball Edge で Secure Shell キーを作成してインポートする](#create-ssh-key)
+ [Snowball Edge で Amazon EKS Anywhere 管理インスタンスを実行し、認証情報と証明書ファイルを転送します。](#start-config-eksa-admin-instance)

### Amazon EKS Anywhere IAM ローカルユーザーを作成する
<a name="create-role"></a>

セキュリティ上のベストプラクティスとして、Snowball Edge デバイスで Amazon EKS Anywhere のローカル IAM ユーザーを作成します。これは、次の手順を使用して手動で行います。

**注記**  
使用する Snowball Edge デバイスごとにこれを行います。

#### Snowball Edge でローカルユーザーを作成する
<a name="create-eksa-iam-user"></a>

`create-user` コマンドを使用して Amazon EKS Anywhere IAM ユーザーを作成します。

```
aws iam create-user --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name
    {
        "User": {
            "Path": "/",
            "UserName": "eks-a-user",
            "UserId": "AIDACKCEVSQ6C2EXAMPLE",
            "Arn": "arn:aws:iam::123456789012:user/eks-a-user",
            "CreateDate": "2022-04-06T00:13:35.665000+00:00"
        }
    }
```

#### Snowball Edge でローカルユーザーのポリシーを作成する
<a name="create-eksa-iam-user-policy"></a>

ポリシードキュメントを作成し、これを使用して IAM ポリシーを作成し、そのポリシーを Amazon EKS Anywhere ローカルユーザーにアタッチします。

**ポリシードキュメントを作成して Amazon EKS Anywhere ローカルユーザーにアタッチするには**

1. ポリシードキュメントを作成してコンピュータに保存します。以下のポリシーをドキュメントにコピーします。

------
#### [ JSON ]

****  

   ```
   {
     "Version": "2012-10-17",
     "Statement": [
       {
         "Effect": "Allow",
         "Action": [
           "snowball-device:DescribeDevice",
           "snowball-device:CreateDirectNetworkInterface",
           "snowball-device:DeleteDirectNetworkInterface",
           "snowball-device:DescribeDirectNetworkInterfaces",
           "snowball-device:DescribeDeviceSoftware"
         ],
         "Resource": ["*"]
       },
       {
         "Effect": "Allow",
         "Action": [
           "ec2:RunInstances",
           "ec2:DescribeInstances",
           "ec2:TerminateInstances",
           "ec2:ImportKeyPair",
           "ec2:DescribeKeyPairs",
           "ec2:DescribeInstanceTypes",
           "ec2:DescribeImages",
           "ec2:DeleteTags"
         ],
         "Resource": ["*"]
       }
     ]
   }
   ```

------

1. `create-policy` コマンドを使用して、ポリシードキュメントに基づいて IAM ポリシーを作成します。`--policy-document` パラメータの値には、ポリシーファイルへの絶対パスを使用する必要があります。例: `file:///home/user/policy-name.json`

   ```
   aws iam create-policy --policy-name policy-name --policy-document file:///home/user/policy-name.json --endpoint http://snowball-ip:6078 --profile profile-name
   {
       "Policy": {
           "PolicyName": "policy-name",
           "PolicyId": "ANPACEMGEZDGNBVGY3TQOJQGEZAAAABP76TE5MKAAAABCCOTR2IJ43NBTJRZBU",
           "Arn": "arn:aws:iam::123456789012:policy/policy-name",
           "Path": "/",
           "DefaultVersionId": "v1",
           "AttachmentCount": 0,
           "IsAttachable": true,
           "CreateDate": "2022-04-06T04:46:56.907000+00:00",
           "UpdateDate": "2022-04-06T04:46:56.907000+00:00"
       }
   }
   ```

1. `attach-user-policy` コマンドを使用して、IAM ポリシーを Amazon EKS Anywhere ローカルユーザーにアタッチします。

   ```
   aws iam attach-user-policy --policy-arn policy-arn --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name     
   ```

#### Snowball Edge でアクセスキーと認証情報ファイルを作成する
<a name="create-eksa-iam-user-access-key"></a>

Amazon EKS Anywhere IAM ローカルユーザーのアクセスキーを作成します。次に、認証情報ファイルを作成し、ローカルユーザー用に生成された `AccessKeyId` と `SecretAccessKey` の値をその中に含めます。認証情報ファイルは、後で Amazon EKS Anywhere 管理インスタンスによって使用されます。

1. `create-access-key` コマンドを使用して、Amazon EKS Anywhere ローカルユーザーのアクセスキーを作成します。

   ```
   aws iam create-access-key --user-name user-name --endpoint http://snowball-ip:6078 --profile profile-name
       {
           "AccessKey": {
               "UserName": "eks-a-user",
               "AccessKeyId": "AKIAIOSFODNN7EXAMPLE",
               "Status": "Active",
               "SecretAccessKey": "RTT/wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
               "CreateDate": "2022-04-06T04:23:46.139000+00:00"
           }
       }
   ```

1. 認証情報ファイルを作成します。その中に、`AccessKeyId` と `SecretAccessKey` の値を次の形式で保存します。

   ```
   [snowball-ip] 
   aws_access_key_id = ABCDEFGHIJKLMNOPQR2T
   aws_secret_access_key = AfSD7sYz/TBZtzkReBl6PuuISzJ2WtNkeePw+nNzJ
   region = snow
   ```
**注記**  
複数の Snowball Edge デバイスを使用している場合、ファイル内の認証情報の順序は関係ありませんが、すべてのデバイスの認証情報を 1 つのファイルに含める必要があります。

#### Snowball Edge で管理インスタンスの証明書ファイルを作成する
<a name="create-credentials-for-admin-instance"></a>

Amazon EKS Anywhere 管理インスタンスを実行するには、Snowball Edge デバイスの証明書が必要です。Snowball Edge デバイスにアクセスするための証明書を含む証明書ファイルを作成し、後で Amazon EKS Anywhere 管理インスタンスで使用できるようにします。

**証明書ファイルを作成するには**

1. `list-certificates` コマンドを使用して、使用を予定している各 Snowball Edge デバイスの証明書を取得します。

   ```
   PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge list-certificates --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
   {
     "Certificates" : [ {
       "CertificateArn" : "arn:aws:snowball-device:::certificate/xxx",
       "SubjectAlternativeNames" : [ "ID:JID-xxx" ]
     } ]
   }
   ```

1. `CertificateArn` の値を `get-certificate` コマンドの `--certificate-arn` パラメータの値として使用します。

   ```
   PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge get-certificate --certificate-arn ARN --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code            
   ```

1. デバイス証明書ファイルを作成します。`get-certificate` の出力を証明書ファイルに含めます。以下は、出力の保存方法の例です。
**注記**  
複数の Snowball Edge デバイスを使用している場合、ファイル内の認証情報の順序は関係ありませんが、すべてのデバイスの認証情報を 1 つのファイルに含める必要があります。

   ```
   -----BEGIN CERTIFICATE-----
   ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm  
   aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl  
   cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz  
   dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ  
   ...                                                               
   -----END CERTIFICATE-----
   ```

1. 「[Amazon EKS Anywhere IAM ローカルユーザーを作成する](#create-role)」の手順を繰り返して、すべての Snowball Edge デバイスで Amazon EKS Anywhere の IAM ローカルユーザーを作成します。

### （オプション) Snowball Edge で Secure Shell キーを作成してインポートする
<a name="create-ssh-key"></a>

このオプションの手順を使用して、すべての Amazon EKS Anywhere ノードインスタンスにアクセスするためのSecure Shell (SSH) キーを作成し、そのパブリックキーをすべての Snowball Edge デバイスにインポートします。このキーファイルは安全に保管してください。

この手順をスキップした場合、Amazon EKS Anywhere は必要なときに SSH キーを自動的に作成してインポートします。このキーは `${PWD}/${CLUSTER_NAME}/eks-a-id_rsa` の管理インスタンスに保存されます。

**SSH キーを作成して Amazon EKS Anywhere インスタンスにインポートする**

1. `ssh-keygen` コマンドを使用して SSH キーを生成します。

   ```
   ssh-keygen -t rsa -C "key-name" -f path-to-key-file
   ```

1. `import-key-pair` コマンドを使用して、コンピュータから Snowball Edge デバイスにキーをインポートします。
**注記**  
キーをすべてのデバイスにインポートする場合、`key-name` パラメータの値は同じでなければなりません。

   ```
   aws ec2 import-key-pair --key-name key-name --public-key-material fileb:///path/to/key-file --endpoint http://snowball-ip:8008 --profile profile-name 
   {
       "KeyFingerprint": "5b:0c:fd:e1:a0:69:05:4c:aa:43:f3:3b:3e:04:7f:51",
       "KeyName": "default",
       "KeyPairId": "s.key-85edb5d820c92a6f8"
   }
   ```

### Snowball Edge で Amazon EKS Anywhere 管理インスタンスを実行し、認証情報と証明書ファイルを転送します。
<a name="start-config-eksa-admin-instance"></a>

#### Snowball Edge で Amazon EKS Anywhere 管理インスタンスを実行する
<a name="start-admin-instance"></a>

以下の手順に従って、Amazon EKS Anywhere 管理インスタンスを手動で実行し、管理インスタンスに仮想ネットワークインターフェイス (VNI) を設定し、インスタンスのステータスを確認し、SSH キーを作成し、これを使用して管理インスタンスに接続します。サンプルスクリプトツールを使用すると、Amazon EKS Anywhere 管理インスタンスの作成と、このインスタンスへの認証情報と証明書ファイルの転送を自動化できます。「[Create Amazon EKS Anywhere admin instance](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/setup-tools#Create-EKS-Anywhere-admin-instance)」を参照してください。スクリプトツールが完了したら、「[Snowball Edge デバイスでのクラスターの作成とメンテナンス](maintain-eks-a-clusters-snow.md)」を参照してインスタンスに SSH 接続し、クラスターを作成できます。Amazon EKS Anywhere インスタンスを手動でセットアップする場合は、以下のステップに従います。

**注記**  
クラスターのプロビジョニングに複数の Snowball Edge デバイスを使用している場合は、どの Snowball Edge デバイスでも Amazon EKS Anywhere 管理インスタンスを起動できます。

**Amazon EKS Anywhere 管理インスタンスを実行するには**

1. `create-key-pair` コマンドを使用して Amazon EKS Anywhere 管理インスタンス用の SSH キーを作成します。このコマンドはキーを `$PWD/key-file-name` に保存します。

   ```
   aws ec2 create-key-pair --key-name key-name --query 'KeyMaterial' --output text --endpoint http://snowball ip:8008 > key-file-name --profile profile-name
   ```

1. `describe-images` コマンドを使用して、`eks-anywhere-admin` で始まるイメージ名を出力で検索します。

   ```
   aws ec2 describe-images --endpoint http://snowball-ip:8008 --profile profile-name
   ```

1. `run-instance` コマンドを使用して、Amazon EKS Anywhere 管理イメージで eks-a 管理インスタンスを起動します。

   ```
   aws ec2 run-instances --image-id eks-a-admin-image-id --key-name key-name --instance-type sbe-c.xlarge --endpoint http://snowball-ip:8008 --profile profile-name
   ```

1. Amazon EKS Anywhere インスタンスのステータスを確認するには、`describe-instances` コマンドを使用します。コマンドが `running` のインスタンスの状態を示すまで待ってから、次に進みます。

   ```
   aws ec2 describe-instances --instance-id instance-id --endpoint http://snowball-ip:8008 --profile profile-name
   ```

1. `describe-device` コマンドの出力から、ネットワークに接続されている物理ネットワークインターフェイスの `PhysicalNetworkInterfaceId` の値を書き留めます。これを使用して VNI を作成します。

   ```
    
   PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge describe-device --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
   ```

1. Amazon EKS Anywhere 管理インスタンス用の VNI を作成します。`PhysicalNetworkInterfaceId` の値を `physical-network-interface-id` パラメータの値として使用します。

   ```
   PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge create-virtual-network-interface --ip-address-assignment dhcp --physical-network-interface-id PNI --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
   ```

1. `IpAddress` の値を `associate-address` コマンドの `public-ip` パラメータの値として使用して、パブリックアドレスを Amazon EKS Anywhere 管理インスタンスに関連付けます。

   ```
   aws ec2 associate-address --instance-id instance-id --public-ip VNI-IP --endpoint http://snowball-ip:8008 --profile profile-name 
   ```

1. Amazon EKS Anywhere の管理インスタンスに SSH で接続します。

   ```
   ssh -i path-to-key ec2-user@VNI-IP      
   ```

#### Snowball Edge の管理者インスタンスに証明書と認証情報ファイルを転送する
<a name="transfer-cred-cert-files"></a>

Amazon EKS Anywhere 管理インスタンスが実行されたら、Snowball Edge デバイスの認証情報と証明書を管理インスタンスに転送します。「[Snowball Edge でアクセスキーと認証情報ファイルを作成する](#create-eksa-iam-user-access-key)」と「[Snowball Edge で管理インスタンスの証明書ファイルを作成する](#create-credentials-for-admin-instance)」で認証情報と証明書ファイルを保存したディレクトリで、次のコマンドを実行します。

```
scp -i path-to-key path-to-credentials-file path-to-certificates-file ec2-user@eks-admin-instance-ip:~        
```

Amazon EKS Anywhere 管理インスタンス上のファイルの内容を確認します。以下は認証情報と証明書ファイルの例です。

```
[192.168.1.1] 
aws_access_key_id = EMGEZDGNBVGY3TQOJQGEZB5ULEAAIWHWUJDXEXAMPLE 
aws_secret_access_key = AUHpqjO0GZQHEYXDbN0neLNlfR0gEXAMPLE 
region = snow 

[192.168.1.2] 
aws_access_key_id = EMGEZDGNBVGY3TQOJQGEZG5O7F3FJUCMYRMI4KPIEXAMPLE 
aws_secret_access_key = kY4Cl8+RJAwq/bu28Y8fUJepwqhDEXAMPLE 
region = snow
```

```
-----BEGIN CERTIFICATE-----                                      
ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm  
aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl  
cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz  
dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ  
...                                                               
-----END CERTIFICATE-----                                         

-----BEGIN CERTIFICATE-----                                       
KJ0FPl2PAYPEjxr81/PoCXfZeARBzN9WLUH5yz1ta+sYUJouzhzWuLJYA1xqcCPY  
mhVlkRsN4hVdlBNRnCCpRF766yjdJeibKVzXQxoXoZBjrOkuGwqRy3d3ndjK77h4  
OR5Fv9mjGf7CjcaSjk/4iwmZvRSaQacb0YG5GVeb4mfUAuVtuFoMeYfnAgMBAAGj  
azBpMAwGA1UdEwQFMAMBAf8wHQYDVR0OBBYEFL/bRcnBRuSM5+FcYFa8HfIBomdF  
...                                                              
-----END CERTIFICATE-----
```

# 切断されたオペレーション用に Amazon EKS Anywhere on AWS Snow を設定する
<a name="configure-disconnected"></a>

外部ネットワーク接続のない環境で Amazon EKS Anywhere を実行できるようにするには、ネットワークに接続されている Snowball Edge デバイスでこの Amazon EKS Anywhere の追加設定を行います。

独自のローカルのプライベート Kubernetes レジストリを使用して Amazon EKS Anywhere をオフラインで使用できるように設定するには、「EKS Anywhere documentation」の「[Registry Mirror configuration](https://anywhere.eks.amazonaws.com/docs/reference/clusterspec/optional/registrymirror/)」を参照してください。

Harbor プライベートレジストリ AMI を作成した場合は、このセクションの以下の手順に従ってください。

**Topics**
+ [Snowball Edge デバイスで Harbor レジストリを設定する](#configure-harbor-snow)
+ [Snowball Edge の Amazon EKS Anywhere 管理インスタンスで Harbor レジストリを使用する](#use-local-registry-eksa-instance)

## Snowball Edge デバイスで Harbor レジストリを設定する
<a name="configure-harbor-snow"></a>

「[Configure Harbor on a Snowball Edge device](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/container-registry-ami-builder#configure-harbor-on-a-snowball-edge-device)」を参照してください。

## Snowball Edge の Amazon EKS Anywhere 管理インスタンスで Harbor レジストリを使用する
<a name="use-local-registry-eksa-instance"></a>

「[Import Amazon EKS Anywhere container images to the local Harbor registry on a Snowball Edge device](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/container-registry-ami-builder#import-eks-anywhere-container-images-to-the-local-harbor-registry-on-a-snowball-device)」を参照してください。

# Snowball Edge デバイスでのクラスターの作成とメンテナンス
<a name="maintain-eks-a-clusters-snow"></a>

## Snowball Edge でクラスターを作成するためのベストプラクティス
<a name="eks-a-cluster-snow-bestpractices"></a>

Amazon EKS Anywhere クラスターを作成するには、「[Create Snow clusters](https://anywhere.eks.amazonaws.com/docs/getting-started/production-environment/snow-getstarted/)」を参照してください。

Snowball Edge デバイスで Amazon EKS Anywhere クラスターを作成するときは、次のベストプラクティスに注意してください。
+ 静的 IP アドレス範囲にクラスターを作成する前に、同じ IP アドレス範囲を使用している他のクラスターが Snowball Edge デバイスにないことを確認してください。
+ Snowball Edge デバイスで DHCP アドレスを使用してクラスターを作成する前に、クラスターに使用するすべての静的 IP アドレス範囲が DHCP プールサブネットに含まれていないことを確認してください。
+ 複数のクラスターを作成するときは、1 つのクラスターが正常にプロビジョニングされ、実行されるまで待ってから、別のクラスターを作成します。

## Snowball Edge でのクラスターのアップグレード
<a name="updating-eks-a-clusters-snow"></a>

Amazon EKS Anywhere 管理者 AMI または EKS Distro AMI をアップグレードするには、 にお問い合わせください AWS サポート。アップグレードされた AMI を含む Snowball Edge 更新 サポート が提供されます。その後、Snowball Edge の更新をダウンロードしてインストールします。「[Snowball Edge デバイスへの更新のダウンロード](download-updates.md)」および「[Snowball Edge デバイスへの更新のインストール](install-updates.md)」を参照してください。

Amazon EKS Anywhere AMI をアップグレードしたら、新しい Amazon EKS Anywhere 管理者インスタンスを起動する必要があります。「[Snowball Edge で Amazon EKS Anywhere 管理インスタンスを実行する](eksa-configuration.md#start-admin-instance)」を参照してください。次に、キーファイル、クラスターフォルダ、認証情報、証明書を以前の管理インスタンスからアップグレードしたインスタンスにコピーします。これらは、クラスターにちなんだ名前のフォルダにあります。

## Snowball Edge でのクラスターリソースのクリーンアップ
<a name="clean-up-resources-eks-a-clusters-snow"></a>

Snowball Edge デバイスで複数のクラスターを作成して正しく削除しなかった場合や、クラスターに問題があり、再開後にクラスターが代替ノードを作成した場合、リソースリークが発生します。Amazon EKS Anywhere 管理インスタンスと Snowball Edge デバイスをクリーンアップするためのサンプルスクリプトツールが用意されています。[Amazon EKS Anywhere on AWS Snow クリーンアップツール](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/cleanup-tools#eks-anywhere-on-snow-cleanup-tools)」を参照してください。