

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração e execução do Amazon EKS Anywhere em dispositivos Snowball Edge
<a name="eksa-configuration"></a>

Siga esses procedimentos para configurar e iniciar o Amazon EKS Anywhere em seus dispositivos Snowball Edge. Em seguida, para configurar o Amazon EKS Anywhere para operar em dispositivos desconectados, conclua procedimentos adicionais antes de desconectar esses dispositivos da rede externa. Para obter mais informações, consulte [Configuração do Amazon EKS Anywhere on AWS Snow para operação desconectada](configure-disconnected.md).

**Topics**
+ [Configuração inicial do Amazon EKS Anywhere no Snowball Edge](#initial-setup)
+ [Configuração e execução automática do Amazon EKS Anywhere em dispositivos Snowball Edge](#auto-eksa-configuration)
+ [Configurando e executando o Amazon EKS Anywhere em dispositivos Snowball Edge manualmente](#manual-eksa-configuration)

## Configuração inicial do Amazon EKS Anywhere no Snowball Edge
<a name="initial-setup"></a>

Execute a configuração inicial em cada dispositivo Snowball Edge conectando o dispositivo à sua rede local, baixando o Snowball Edge Client, obtendo credenciais e desbloqueando o dispositivo.

**Execute a configuração inicial**

1. Faça o download e instale o Snowball Edge Client. Para obter mais informações, consulte [Baixar e instalar o Snowball Edge Client](using-client-commands.md#download-the-client).

1. Conecte o dispositivo à rede local. Para obter mais informações, consulte [Conectando um Snowball Edge à sua rede local](getting-started.md#getting-started-connect).

1. Obtenha credenciais para desbloquear seu dispositivo. Para obter mais informações, consulte [Obter credenciais para acessar um Snowball Edge](getting-started.md#get-credentials).

1. Desbloqueie o dispositivo. Para obter mais informações, consulte [Desbloquear o Snowball Edge](unlockdevice.md). Você também pode usar uma ferramenta de script em vez de desbloquear dispositivos manualmente. Consulte [Desbloquear dispositivos](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/setup-tools#Unlock-devices).

## Configuração e execução automática do Amazon EKS Anywhere em dispositivos Snowball Edge
<a name="auto-eksa-configuration"></a>

Você pode usar exemplos de ferramentas de script para configurar o ambiente e executar uma instância administrativa do Amazon EKS Anywhere ou pode fazer isso manualmente. Para usar as ferramentas de script, consulte [Desbloquear dispositivos e ambiente de configuração para o 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). Depois que o ambiente estiver configurado e a instância administrativa do Amazon EKS Anywhere estiver em execução, se você precisar configurar o Amazon EKS Anywhere para operar no dispositivo Snowball Edge enquanto estiver desconectado de uma rede, consulte [Configuração do Amazon EKS Anywhere on AWS Snow para operação desconectada](configure-disconnected.md). Caso contrário, consulte [Criar clusters e realizar a manutenção deles em dispositivos Snowball Edge](maintain-eks-a-clusters-snow.md).

Para configurar manualmente o ambiente e executar uma instância administrativa do Amazon EKS Anywhere, consulte [Configurando e executando o Amazon EKS Anywhere em dispositivos Snowball Edge manualmente](#manual-eksa-configuration).

## Configurando e executando o Amazon EKS Anywhere em dispositivos Snowball Edge manualmente
<a name="manual-eksa-configuration"></a>

Antes de configurar o Amazon EKS Anywhere em um dispositivo Snowball Edge, configure um perfil para o Snowball Edge Client. Para obter mais informações, consulte [Configurar e usar o Snowball Edge Client](using-client-commands.md).

**Topics**
+ [Crie um usuário local do IAM do Amazon EKS Anywhere](#create-role)
+ [(Opcional) Crie e importe uma chave Secure Shell em um Snowball Edge](#create-ssh-key)
+ [Execute uma instância administrativa do Amazon EKS Anywhere em um Snowball Edge e transfira arquivos de credenciais e certificados para ela](#start-config-eksa-admin-instance)

### Crie um usuário local do IAM do Amazon EKS Anywhere
<a name="create-role"></a>

Para obter as melhores práticas de segurança, crie um usuário local do IAM para o Amazon EKS Anywhere no dispositivo Snowball Edge. Isso pode ser feito manualmente por meio dos procedimentos a seguir.

**nota**  
Faça isso para cada dispositivo Snowball Edge que você usa.

#### Crie um usuário local no Snowball Edge
<a name="create-eksa-iam-user"></a>

Use o comando `create-user` para criar o usuário IAM do Amazon EKS Anywhere.

```
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"
        }
    }
```

#### Crie uma política para o usuário local no Snowball Edge
<a name="create-eksa-iam-user-policy"></a>

Crie um documento de política, use-o para criar uma política do IAM e anexe essa política ao usuário local do Amazon EKS Anywhere.

**Para criar um documento de política e anexá-lo ao usuário local do Amazon EKS Anywhere**

1. Crie um documento de política e salve-o no computador. Copie a política abaixo para o documento.

------
#### [ 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. Use o comando `create-policy` para criar uma política do IAM com base no documento de política. O valor do parâmetro `--policy-document` deve usar o caminho absoluto para o arquivo de política. Por exemplo, `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. Use o comando `attach-user-policy` para anexar a política do IAM ao usuário local do Amazon EKS Anywhere.

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

#### Crie uma chave de acesso e um arquivo de credencial no Snowball Edge
<a name="create-eksa-iam-user-access-key"></a>

Crie uma chave de acesso para o usuário local do IAM do Amazon EKS Anywhere. Em seguida, crie um arquivo de credencial e inclua nele os valores `AccessKeyId` e `SecretAccessKey` gerados para o usuário local. O arquivo de credencial será usado posteriormente pela instância administrativa do Amazon EKS Anywhere.

1. Use o comando `create-access-key` para criar uma chave de acesso para o usuário local do 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. Crie um arquivo de credencial. Nele, salve os valores `AccessKeyId` e `SecretAccessKey` no formato a seguir.

   ```
   [snowball-ip] 
   aws_access_key_id = ABCDEFGHIJKLMNOPQR2T
   aws_secret_access_key = AfSD7sYz/TBZtzkReBl6PuuISzJ2WtNkeePw+nNzJ
   region = snow
   ```
**nota**  
Se você estiver trabalhando com vários dispositivos Snowball Edge, a ordem das credenciais no arquivo não importa, mas as credenciais de todos os dispositivos precisam estar em um arquivo.

#### Crie um arquivo de certificados para a instância administrativa no Snowball Edge
<a name="create-credentials-for-admin-instance"></a>

A instância administrativa do Amazon EKS Anywhere precisa dos certificados dos dispositivos Snowball Edge para ser executada neles. Crie um arquivo de certificados contendo o certificado para acessar os dispositivos Snowball Edge para uso posterior pela instância administrativa do Amazon EKS Anywhere.

**Para criar um arquivo de certificados**

1. Use o comando `list-certificates` para obter certificados para cada dispositivo Snowball Edge que você planeja usar.

   ```
   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. Use o valor de `CertificateArn` como valor para o parâmetro `--certificate-arn` do comando `get-certificate`. 

   ```
   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. Crie um arquivo de certificado de dispositivo. Coloque a saída de `get-certificate` no arquivo de certificado. A seguir, veja um exemplo de como salvar a saída.
**nota**  
Se você estiver trabalhando com vários dispositivos Snowball Edge, a ordem das credenciais no arquivo não importa, mas as credenciais de todos os dispositivos precisam estar em um arquivo.

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

1. Repita o procedimento [Crie um usuário local do IAM do Amazon EKS Anywhere](#create-role) para criar um usuário local do IAM para o Amazon EKS Anywhere em todos os dispositivos Snowball Edge.

### (Opcional) Crie e importe uma chave Secure Shell em um Snowball Edge
<a name="create-ssh-key"></a>

Use esse procedimento opcional para criar uma chave Secure Shell (SSH) para acessar todas as instâncias de nós do Amazon EKS Anywhere e importar a chave pública para todos os dispositivos Snowball Edge. Mantenha e proteja esse arquivo de chave.

Se você pular esse procedimento, o Amazon EKS Anywhere criará e importará uma chave SSH automaticamente quando for necessário. Essa chave será armazenada na instância administrativa em `${PWD}/${CLUSTER_NAME}/eks-a-id_rsa`.

**Crie uma chave SSH e importe-a para a instância do Amazon EKS Anywhere**

1. Use o comando `ssh-keygen` para gerar uma chave SSH.

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

1. Use o comando `import-key-pair` para importar a chave do seu computador para o dispositivo Snowball Edge.
**nota**  
O valor do parâmetro `key-name` deve ser o mesmo quando você importa a chave para todos os dispositivos.

   ```
   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"
   }
   ```

### Execute uma instância administrativa do Amazon EKS Anywhere em um Snowball Edge e transfira arquivos de credenciais e certificados para ela
<a name="start-config-eksa-admin-instance"></a>

#### Execute uma instância administrativa do Amazon EKS Anywhere em um Snowball Edge
<a name="start-admin-instance"></a>

Siga este procedimento para executar manualmente uma instância administrativa do Amazon EKS Anywhere, configurar uma interface de rede virtual (VNI) para a instância administrativa, verificar o status da instância, criar uma chave SSH e conectar-se à instância administrativa com ela. Você pode usar uma ferramenta de script de amostra para automatizar a criação de uma instância administrativa do Amazon EKS Anywhere e a transferência de arquivos de credenciais e certificados para essa instância. Consulte [Criar instância administrativa do Amazon EKS Anywhere](https://github.com/aws-samples/aws-snow-tools-for-eks-anywhere/tree/main/setup-tools#Create-EKS-Anywhere-admin-instance). Depois que a ferramenta de script for concluída, você poderá entrar por ssh na instância e criar clusters consultando a [Criar clusters e realizar a manutenção deles em dispositivos Snowball Edge](maintain-eks-a-clusters-snow.md). Se você quiser configurar a instância do Amazon EKS Anywhere manualmente, use as seguintes etapas.

**nota**  
Se você estiver usando mais de um dispositivo Snowball Edge para provisionar o cluster, poderá iniciar uma instância administrativa do Amazon EKS Anywhere em qualquer um dos dispositivos do Snowball Edge.

**Para executar uma instância administrativa do Amazon EKS Anywhere**

1. Use o comando `create-key-pair` para criar uma chave SSH para a instância administrativa do Amazon EKS Anywhere. O comando salva a chave em `$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. Use o comando `describe-images` para encontrar o nome da imagem que começa com `eks-anywhere-admin` na saída.

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

1. Use o comando `run-instance` para iniciar uma instância de administração eks-a com a imagem de administrador do Amazon EKS Anywhere. 

   ```
   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. Use o comando `describe-instances` para verificar o estado da instância do Amazon EKS Anywhere. Espere até que o comando indique que o estado da instância é `running` antes de continuar.

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

1. Na saída do comando `describe-device`, observe o valor de `PhysicalNetworkInterfaceId` para a interface de rede física conectada à sua rede. Isso será usado para criar uma 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. Crie uma VNI para a instância administrativa do Amazon EKS Anywhere. Use o valor de `PhysicalNetworkInterfaceId` como o valor do parâmetro `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. Use o valor de `IpAddress` como o valor do parâmetro `public-ip` do comando `associate-address` para associar o endereço público à instância administrativa do Amazon EKS Anywhere.

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

1. Conecte-se à instância administrativa do Amazon EKS Anywhere por SSH.

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

#### Transfira arquivos de certificado e credencial para a instância administrativa no Snowball Edge
<a name="transfer-cred-cert-files"></a>

Depois que a instância administrativa do Amazon EKS Anywhere estiver em execução, transfira as credenciais e os certificados dos seus dispositivos Snowball Edge para a instância administrativa. Execute o seguinte comando no mesmo diretório em que você salvou os arquivos de credenciais e certificados em [Crie uma chave de acesso e um arquivo de credencial no Snowball Edge](#create-eksa-iam-user-access-key) e [Crie um arquivo de certificados para a instância administrativa no 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:~        
```

Verifique o conteúdo dos arquivos na instância administrativa do Amazon EKS Anywhere. Veja a seguir exemplos dos arquivos de credenciais e certificados.

```
[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-----
```