Configuration et exécution d'Amazon EKS Anywhere sur les appareils Snowball Edge - AWS Snowball Edge Guide du développeur

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration et exécution d'Amazon EKS Anywhere sur les appareils Snowball Edge

Suivez ces procédures pour configurer et démarrer Amazon EKS Anywhere sur vos appareils Snowball Edge. Ensuite, pour configurer Amazon EKS Anywhere afin qu'il fonctionne sur des appareils déconnectés, effectuez des procédures supplémentaires avant de déconnecter ces appareils du réseau externe. Pour de plus amples informations, veuillez consulter Configuration d'Amazon EKS Anywhere on AWS Snow pour un fonctionnement déconnecté.

Configuration initiale d'Amazon EKS Anywhere sur les appareils Snow Family

Effectuez la configuration initiale sur chaque appareil Snowball Edge en connectant l'appareil à votre réseau local, en téléchargeant le client Snowball Edge, en obtenant les informations d'identification et en déverrouillant l'appareil.

Procéder à la configuration initiale
  1. Téléchargez et installez le client Snowball Edge. Pour de plus amples informations, veuillez consulter Téléchargement et installation du client Snowball Edge.

  2. Connectez l'appareil à votre réseau local. Pour de plus amples informations, veuillez consulter Connexion d'un appareil Snow Family à votre réseau local.

  3. Obtenez des informations d'identification pour déverrouiller votre appareil. Pour de plus amples informations, veuillez consulter Obtenir des informations d'identification pour accéder à un appareil Snow Family.

  4. Déverrouillez l'appareil. Pour de plus amples informations, veuillez consulter Déverrouillage de l'appareil Snow Family. Vous pouvez également utiliser un outil de script au lieu de déverrouiller les appareils manuellement. Consultez la section Déverrouiller des appareils.

Configuration et exécution automatiques d'Amazon EKS Anywhere sur les appareils Snowball Edge

Vous pouvez utiliser des exemples d'outils de script pour configurer l'environnement et exécuter une instance d'administration Amazon EKS Anywhere, ou vous pouvez le faire manuellement. Pour utiliser les outils de script, consultez Déverrouiller des appareils et configurer l'environnement pour Amazon EKS Anywhere. Une fois l'environnement configuré et l'instance d'administration Amazon EKS Anywhere en cours d'exécution, si vous devez configurer Amazon EKS Anywhere pour qu'il fonctionne sur l'appareil Snowball Edge lorsque vous êtes déconnecté d'un réseau, consultez. Configuration d'Amazon EKS Anywhere on AWS Snow pour un fonctionnement déconnecté Sinon, consultez Création et gestion de clusters sur les appareils Snowball Edge.

Pour configurer manuellement l'environnement et exécuter une instance d'administration Amazon EKS Anywhere, consultezConfiguration et exécution manuelle d'Amazon EKS Anywhere sur les appareils Snowball Edge.

Configuration et exécution manuelle d'Amazon EKS Anywhere sur les appareils Snowball Edge

Avant de configurer Amazon EKS Anywhere sur un appareil Snowball Edge, configurez un profil pour le client Snowball Edge. Pour de plus amples informations, veuillez consulter Configuration et utilisation du client Snowball Edge.

Création d'un utilisateur IAM local Amazon EKS Anywhere

Pour respecter les meilleures pratiques de sécurité, créez un IAM utilisateur local pour Amazon EKS Anywhere sur l'appareil Snowball Edge. Vous pouvez le faire manuellement en suivant les procédures suivantes.

Note

Procédez ainsi pour chaque appareil Snowball Edge que vous utilisez.

Créez un utilisateur local sur l'appareil Snow Family

Utilisez la create-user commande pour créer l'IAMutilisateur 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" } }

Créez une politique pour l'utilisateur local sur l'appareil Snow Family

Créez un document de politique, utilisez-le pour créer une IAM politique et associez cette politique à l'utilisateur local Amazon EKS Anywhere.

Pour créer un document de politique et le joindre à l'utilisateur local Amazon EKS Anywhere
  1. Créez un document de politique et enregistrez-le sur votre ordinateur. Copiez la politique ci-dessous dans le document.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "snowballdevice:DescribeDevice", "snowballdevice:CreateDirectNetworkInterface", "snowballdevice:DeleteDirectNetworkInterface", "snowballdevice:DescribeDirectNetworkInterfaces", "snowballdevice:DescribeDeviceSoftware" ], "Resource": ["*"] }, { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:DescribeInstances", "ec2:TerminateInstances", "ec2:ImportKeyPair", "ec2:DescribeKeyPairs", "ec2:DescribeInstanceTypes", "ec2:DescribeImages", "ec2:DeleteTags" ], "Resource": ["*"] } ] }
  2. Utilisez la create-policy commande pour créer une IAM politique basée sur le document de stratégie. La valeur du --policy-document paramètre doit utiliser le chemin absolu vers le fichier de régulation. Par exemple, 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" } }
  3. Utilisez la attach-user-policy commande pour associer la IAM politique à l'utilisateur local Amazon EKS Anywhere.

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

Créez une clé d'accès et un fichier d'identification sur l'appareil Snow Family

Créez une clé d'accès pour l'utilisateur IAM local d'Amazon EKS Anywhere. Créez ensuite un fichier d'informations d'identification et incluez-y les valeurs de AccessKeyId et SecretAccessKey générées pour l'utilisateur local. Le fichier d'informations d'identification sera utilisé ultérieurement par l'instance d'administration Amazon EKS Anywhere.

  1. Utilisez la create-access-key commande pour créer une clé d'accès pour l'utilisateur local d'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" } }
  2. Créez un fichier d'informations d'identification. Enregistrez les SecretAccessKey valeurs AccessKeyId et dans le format suivant.

    [snowball-ip] aws_access_key_id = ABCDEFGHIJKLMNOPQR2T aws_secret_access_key = AfSD7sYz/TBZtzkReBl6PuuISzJ2WtNkeePw+nNzJ region = snow
    Note

    Si vous travaillez avec plusieurs appareils Snowball Edge, l'ordre des informations d'identification dans le fichier n'a pas d'importance, mais les informations d'identification de tous les appareils doivent figurer dans un seul fichier.

Créez un fichier de certificats pour l'instance d'administration sur l'appareil Snow Family

L'instance d'administration Amazon EKS Anywhere a besoin des certificats des appareils Snowball Edge pour fonctionner sur ceux-ci. Créez un fichier de certificats contenant le certificat pour accéder aux appareils Snowball Edge pour une utilisation ultérieure par l'instance d'administration Amazon EKS Anywhere.

Pour créer un fichier de certificats
  1. Utilisez la list-certificates commande pour obtenir des certificats pour chaque appareil Snowball Edge que vous prévoyez d'utiliser.

    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" ] } ] }
  2. Utilisez la valeur de CertificateArn comme valeur du --certificate-arn paramètre de la get-certificate commande.

    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
  3. Créez un fichier de certificat de terminal. Placez le résultat de get-certificate dans le fichier de certificat. Voici un exemple de la façon d'enregistrer la sortie.

    Note

    Si vous travaillez avec plusieurs appareils Snowball Edge, l'ordre des informations d'identification dans le fichier n'a pas d'importance, mais les informations d'identification de tous les appareils doivent figurer dans un seul fichier.

    -----BEGIN CERTIFICATE----- ZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGUgZWtzYSBzbm93IHRlc3QgY2VydGlm aWNhdGVla3NhIHNub3cgdGVzdCBjZXJ0aWZpY2F0ZWVrc2Egc25vdyB0ZXN0IGNl cnRpZmljYXRlZWtzYSBzbm93IHRlc3QgY2VydGlmaWNhdGVla3NhIHNub3cgdGVz dCBjZXJ0aWZpY2F0ZQMIIDXDCCAkSgAwIBAgIJAISM0nTVmbj+MA0GCSqGSIb3DQ ... -----END CERTIFICATE-----
  4. Répétez Création d'un utilisateur IAM local Amazon EKS Anywhere l'opération pour créer un utilisateur IAM local pour Amazon EKS Anywhere sur tous les appareils Snowball Edge.

(Facultatif) Créez et importez une clé Secure Shell sur un appareil Snow Family

Utilisez cette procédure facultative pour créer une clé Secure Shell (SSH) afin d'accéder à toutes les instances de nœuds Amazon EKS Anywhere et d'importer la clé publique sur tous les appareils Snowball Edge. Conservez et sécurisez ce fichier clé.

Si vous ignorez cette procédure, Amazon EKS Anywhere créera et importera automatiquement une SSH clé si nécessaire. Cette clé sera stockée sur l'instance d'administration dans${PWD}/${CLUSTER_NAME}/eks-a-id_rsa.

Créez une SSH clé et importez-la dans l'instance Amazon EKS Anywhere
  1. Utilisez la ssh-keygen commande pour générer une SSH clé.

    ssh-keygen -t rsa -C "key-name" -f path-to-key-file
  2. Utilisez la import-key-pair commande pour importer la clé de votre ordinateur vers le périphérique Snowball Edge.

    Note

    La valeur du key-name paramètre doit être identique lorsque vous importez la clé sur tous les appareils.

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

Exécutez une instance d'administration Amazon EKS Anywhere sur un appareil Snow Family et transférez-y les fichiers d'identification et de certificat

Exécuter une instance d'administration Amazon EKS Anywhere sur un appareil Snow Family

Suivez cette procédure pour exécuter manuellement une instance d'administration Amazon EKS Anywhere, configurer une interface réseau virtuelle (VNI) pour l'instance d'administration, vérifier le statut de l'instance, créer une SSH clé et vous connecter à l'instance d'administration à l'aide de cette dernière. Vous pouvez utiliser un exemple d'outil de script pour automatiser la création d'une instance d'administration Amazon EKS Anywhere et le transfert des fichiers d'identifiants et de certificats vers cette instance. Consultez la section Créer une instance d'administration Amazon EKS Anywhere. Une fois l'outil de script terminé, vous pouvez vous connecter à l'instance par SSH et créer des clusters en vous référant àCréation et gestion de clusters sur les appareils Snowball Edge. Si vous souhaitez configurer l'instance Amazon EKS Anywhere manuellement, procédez comme suit.

Note

Si vous utilisez plusieurs appareils Snowball Edge pour approvisionner le cluster, vous pouvez lancer une instance d'administration Amazon EKS Anywhere sur n'importe lequel des appareils Snowball Edge.

Pour exécuter une instance d'administration Amazon EKS Anywhere
  1. Utilisez la create-key-pair commande pour créer une SSH clé pour l'instance d'administration Amazon EKS Anywhere. La commande enregistre la clé dans$PWD/key-file-name.

    aws ec2 create-key-pair --key-name key-name --query 'KeyMaterial' --output text --endpoint http://snowball ip:8008 --profile profile-name > key-file-name
  2. Utilisez la describe-images commande pour trouver le nom de l'image qui commence eks-anywhere-admin par le résultat.

    aws ec2 describe-images --endpoint http://snowball-ip:8008 --profile profile-name
  3. Utilisez la run-instance commande pour démarrer une instance d'administration eks-a avec l'image d'administration 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
  4. Utilisez la describe-instances commande pour vérifier le statut de l'instance Amazon EKS Anywhere. Attendez que la commande indique que l'état de l'instance est tel running qu'il est avant de continuer.

    aws ec2 describe-instances --instance-id instance-id --endpoint http://snowball-ip:8008 --profile profile-name
  5. À partir de la sortie de la describe-device commande, notez la valeur de PhysicalNetworkInterfaceId pour l'interface réseau physique connectée à votre réseau. Vous allez l'utiliser pour créer unVNI.

    PATH_TO_Snowball_Edge_CLIENT/bin/snowballEdge describe-device --endpoint https://snowball-ip --manifest-file path-to-manifest-file --unlock-code unlock-code
  6. Créez une instance d'administration VNI pour Amazon EKS Anywhere. Utilisez la valeur de PhysicalNetworkInterfaceId comme valeur du physical-network-interface-id paramètre.

    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
  7. Utilisez la valeur de IpAddress comme valeur du public-ip paramètre de la associate-address commande pour associer l'adresse publique à l'instance d'administration Amazon EKS Anywhere.

    aws ec2 associate-address --instance-id instance-id --public-ip VNI-IP --endpoint http://snowball-ip:8008 --profile profile-name
  8. Connectez-vous à l'instance d'administration Amazon EKS Anywhere enSSH.

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

Transférez les fichiers de certificat et d'identification vers l'instance d'administration sur l'appareil Snow Family

Une fois l'instance d'administration Amazon EKS Anywhere exécutée, transférez les informations d'identification et les certificats de vos appareils Snowball Edge vers l'instance d'administration. Exécutez la commande suivante depuis le répertoire dans lequel vous avez enregistré les fichiers d'informations d'identification Créez une clé d'accès et un fichier d'identification sur l'appareil Snow Family et de certificatsCréez un fichier de certificats pour l'instance d'administration sur l'appareil Snow Family.

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

Vérifiez le contenu des fichiers sur l'instance d'administration Amazon EKS Anywhere. Vous trouverez ci-dessous des exemples de fichiers d'identification et de certificat.

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