Configurer des AMI prêtes pour les RES - Studio de recherche et d'ingénierie

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.

Configurer des AMI prêtes pour les RES

Avec les AMI compatibles RES, vous pouvez préinstaller les dépendances RES pour les instances de bureau virtuel (VDI) sur vos AMI personnalisées. L'utilisation d'AMI compatibles RES améliore les temps de démarrage des instances VDI à l'aide des images préfabriquées. À l'aide d'EC2 Image Builder, vous pouvez créer et enregistrer vos AMI en tant que nouvelles piles de logiciels. Pour plus d'informations sur Image Builder, consultez le guide de l'utilisateur d'Image Builder.

Avant de commencer, vous devez déployer la dernière version de RES.

Préparer le rôle IAM pour accéder à l'environnement RES

Pour accéder au service d'environnement RES depuis EC2 Image Builder, vous devez créer ou modifier un rôle IAM appelé RES-EC2. InstanceProfileForImageBuilder Pour plus d'informations sur la configuration d'un rôle IAM à utiliser dans Image Builder, consultez AWS Identity and Access Management (IAM) dans le guide de l'utilisateur d'Image Builder.

Votre rôle nécessite :
  • Les relations de confiance incluent le service Amazon EC2

  • Politiques Amazon SSM ManagedInstanceCore et EC2 InstanceProfileForImageBuilder

  • Politique RES personnalisée avec accès limité à DynamoDB et Amazon S3 à l'environnement RES déployé

    (Cette politique peut être soit un document de politique géré par le client, soit un document de politique intégré au client.)

Entité relationnelle de confiance :

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

Politique RES :

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RESDynamoDBAccess", "Effect": "Allow", "Action": "dynamodb:GetItem", "Resource": "arn:aws:dynamodb:{AWS-Region}:{AWS-Account-ID}:table/{RES-EnvironmentName}.cluster-settings", "Condition": { "ForAllValues:StringLike": { "dynamodb:LeadingKeys": [ "global-settings.gpu_settings.*", "global-settings.package_config.*" ] } } }, { "Sid": "RESS3Access", "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::{RES-EnvironmentName}-cluster-{AWS-Region}-{AWS-Account-ID}/idea/vdc/res-ready-install-script-packages/*" } ] }

Création d'un composant EC2 Image Builder

Suivez les instructions pour créer un composant à l'aide de la console Image Builder dans le guide de l'utilisateur d'Image Builder.

Entrez les détails de votre composant :
  1. Dans Type, choisissez Build.

  2. Pour le système d'exploitation Image (OS), choisissez Linux ou Windows.

  3. Pour Nom du composant, entrez un nom significatif tel queresearch-and-engineering-studio-vdi-<operating-system>.

  4. Entrez le numéro de version de votre composant et ajoutez éventuellement une description.

  5. Pour le document de définition, entrez le fichier de définition suivant. Si vous rencontrez des erreurs, le fichier YAML est sensible à l'espace et en est la cause la plus probable.

    Linux
    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance # with the License. A copy of the License is located at # # http://www.apache.org/licenses/LICENSE-2.0 # # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions # and limitations under the License. name: research-and-engineering-studio-vdi-linux description: An RES EC2 Image Builder component to install required RES software dependencies for Linux VDI. schemaVersion: 1.0 parameters: - AWSAccountID: type: string description: RES Environment AWS Account ID - RESEnvName: type: string description: RES Environment Name - RESEnvRegion: type: string description: RES Environment Region - RESEnvReleaseVersion: type: string description: RES Release Version phases: - name: build steps: - name: PrepareRESBootstrap action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - 'mkdir -p /root/bootstrap/logs' - 'mkdir -p /root/bootstrap/latest' - name: DownloadRESLinuxInstallPackage action: S3Download onFailure: Abort maxAttempts: 3 inputs: - source: 's3://{{ RESEnvName }}-cluster-{{ RESEnvRegion }}-{{ AWSAccountID }}/idea/vdc/res-ready-install-script-packages/linux/res_linux_install_{{ RESEnvReleaseVersion }}.tar.gz' destination: '/root/bootstrap/res_linux_install_{{ RESEnvReleaseVersion }}.tar.gz' expectedBucketOwner: '{{ AWSAccountID }}' - name: RunInstallScript action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - 'tar -xvf {{ build.DownloadRESLinuxInstallPackage.inputs[0].destination }} -C /root/bootstrap/latest' - '/bin/bash /root/bootstrap/latest/virtual-desktop-host-linux/install.sh -r {{ RESEnvRegion }} -n {{ RESEnvName }} -g NONE' - name: FirstReboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0 - name: RunInstallPostRebootScript action: ExecuteBash onFailure: Abort maxAttempts: 3 inputs: commands: - '/bin/bash /root/bootstrap/latest/virtual-desktop-host-linux/install_post_reboot.sh' - name: SecondReboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0
    Windows
    # Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. # # Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance # with the License. A copy of the License is located at # # http://www.apache.org/licenses/LICENSE-2.0 # # or in the 'license' file accompanying this file. This file is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES # OR CONDITIONS OF ANY KIND, express or implied. See the License for the specific language governing permissions # and limitations under the License. name: research-and-engineering-studio-vdi-windows description: An RES EC2 Image Builder component to install required RES software dependencies for Windows VDI. schemaVersion: 1.0 parameters: - AWSAccountID: type: string description: RES Environment AWS Account ID - RESEnvName: type: string description: RES Environment Name - RESEnvRegion: type: string description: RES Environment Region - RESEnvReleaseVersion: type: string description: RES Release Version phases: - name: build steps: - name: CreateRESBootstrapFolder action: CreateFolder onFailure: Abort maxAttempts: 3 inputs: - path: 'C:\Users\Administrator\RES\Bootstrap' overwrite: true - name: DownloadRESWindowsInstallPackage action: S3Download onFailure: Abort maxAttempts: 3 inputs: - source: 's3://{{ RESEnvName }}-cluster-{{ RESEnvRegion }}-{{ AWSAccountID }}/idea/vdc/res-ready-install-script-packages/windows/res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' destination: '{{ build.CreateRESBootstrapFolder.inputs[0].path }}\res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' expectedBucketOwner: '{{ AWSAccountID }}' - name: RunInstallScript action: ExecutePowerShell onFailure: Abort maxAttempts: 3 inputs: commands: - 'cd {{ build.CreateRESBootstrapFolder.inputs[0].path }}' - 'Tar -xf res_windows_install_{{ RESEnvReleaseVersion }}.tar.gz' - 'Import-Module .\virtual-desktop-host-windows\Install.ps1' - 'Install-WindowsEC2Instance' - name: Reboot action: Reboot onFailure: Abort maxAttempts: 3 inputs: delaySeconds: 0
  6. Créez des balises facultatives et choisissez Créer un composant.

Préparez votre recette pour EC2 Image Builder

Note

La sortie de CentOS 7 est actuellement prévue pour le end-of-life 30/06/2024. La version 2024.06 de Research and Engineering Studio sera la dernière version compatible avec CentOS 7.

Une recette EC2 Image Builder définit l'image de base à utiliser comme point de départ pour créer une nouvelle image, ainsi que l'ensemble des composants que vous ajoutez pour personnaliser votre image et vérifier que tout fonctionne comme prévu. Vous devez créer ou modifier une recette pour construire l'AMI cible avec les dépendances logicielles RES nécessaires. Pour plus d'informations sur les recettes, voir Gérer les recettes.

RES prend en charge les systèmes d'exploitation d'image suivants :

  • Amazon Linux 2 (x86 et ARM64)

  • CentOS 7 (x86 et ARM64)

  • RHEL 7 (x86), 8 (x86) et 9 (x86)

  • Ubuntu 22.04.3 (x86)

  • Windows 2019, 2022 (x86)

Create a new recipe
  1. Ouvrez la console https://console.aws.amazon.com/imagebuilder EC2 Image Builder à l'adresse.

  2. Sous Ressources enregistrées, choisissez Image recipes.

  3. Choisissez Créer une recette d'image.

  4. Entrez un nom unique et un numéro de version.

  5. Choisissez une image de base prise en charge par RES.

  6. Sous Configuration de l'instance, installez un agent SSM s'il n'en existe pas un préinstallé. Entrez les informations dans Données utilisateur et toute autre donnée utilisateur nécessaire.

  7. Pour les recettes basées sur Linux, ajoutez le composant de aws-cli-version-2-linux compilation géré par Amazon à la recette. Les scripts d'installation RES utilisent le AWS CLI pour fournir un accès VDI aux valeurs de configuration des paramètres du cluster DynamoDB. Windows n'a pas besoin de ce composant.

  8. Ajoutez le composant EC2 Image Builder créé pour votre environnement Linux ou Windows et entrez les valeurs de paramètres requises. Les paramètres suivants sont des entrées obligatoires : RES AWSAccountID EnvNameEnvRegion, RES et RESEnvReleaseVersion.

    Important

    Pour les environnements Linux, vous devez ajouter ces composants afin que le composant de aws-cli-version-2-linux compilation soit ajouté en premier.

  9. (Recommandé) Ajoutez le composant de simple-boot-test-<linux-or-windows> test géré par Amazon pour vérifier que l'AMI peut être lancée. Il s'agit d'une recommandation minimale. Vous pouvez sélectionner d'autres composants de test qui répondent à vos exigences.

  10. Complétez les sections facultatives si nécessaire, ajoutez les autres composants souhaités et choisissez Créer une recette.

Modify a recipe

Si vous possédez déjà une recette EC2 Image Builder, vous pouvez l'utiliser en ajoutant les composants suivants :

  1. Pour les recettes basées sur Linux, ajoutez le composant de aws-cli-version-2-linux compilation géré par Amazon à la recette. Les scripts d'installation RES utilisent le AWS CLI pour fournir un accès VDI aux valeurs de configuration des paramètres du cluster DynamoDB. Windows n'a pas besoin de ce composant.

  2. Ajoutez le composant EC2 Image Builder créé pour votre environnement Linux ou Windows et entrez les valeurs de paramètres requises. Les paramètres suivants sont des entrées obligatoires : RES AWSAccountID EnvNameEnvRegion, RES et RESEnvReleaseVersion.

    Important

    Pour les environnements Linux, vous devez ajouter ces composants afin que le composant de aws-cli-version-2-linux compilation soit ajouté en premier.

  3. Complétez les sections facultatives si nécessaire, ajoutez les autres composants souhaités et choisissez Créer une recette.

Configuration de l'infrastructure EC2 Image Builder

Vous pouvez utiliser les configurations d'infrastructure pour spécifier l'infrastructure Amazon EC2 qu'Image Builder utilise pour créer et tester votre image Image Builder. Pour une utilisation avec RES, vous pouvez choisir de créer une nouvelle configuration d'infrastructure ou d'utiliser une configuration existante.

Pour configurer votre infrastructure Image Builder :
  1. Pour le rôle IAM, entrez le rôle que vous avez configuré précédemment. Préparer le rôle IAM pour accéder à l'environnement RES

  2. Pour le type d'instance, choisissez un type avec au moins 4 Go de mémoire et compatible avec l'architecture AMI de base que vous avez choisie. Consultez la section Types d'instances Amazon EC2.

  3. Pour les VPC, les sous-réseaux et les groupes de sécurité, vous devez autoriser l'accès à Internet pour télécharger des packages logiciels. L'accès doit également être autorisé à la table cluster-settings DynamoDB et au compartiment de cluster Amazon S3 de l'environnement RES.

Configurer le pipeline d'images Image Builder

Le pipeline d'images Image Builder assemble l'image de base, les composants pour la création et les tests, la configuration de l'infrastructure et les paramètres de distribution. Pour configurer un pipeline d'images pour les AMI compatibles RES, vous pouvez choisir de créer un nouveau pipeline ou d'utiliser un pipeline existant. Pour plus d'informations, consultez la section Création et mise à jour de pipelines d'images AMI dans le guide de l'utilisateur d'Image Builder.

Create a new Image Builder pipeline
  1. Ouvrez la console Image Builder à l'adressehttps://console.aws.amazon.com/imagebuilder.

  2. Dans le menu de navigation, choisissez Image pipelines.

  3. Choisissez Créer un pipeline d'images.

  4. Spécifiez les détails de votre pipeline en saisissant un nom unique, une description facultative, un calendrier et une fréquence.

  5. Pour Choisir une recette, choisissez Utiliser une recette existante et sélectionnez la recette créée dansPréparez votre recette pour EC2 Image Builder. Vérifiez que les détails de votre recette sont corrects.

  6. Pour Définir le processus de création d'image, choisissez le flux de travail par défaut ou personnalisé selon le cas d'utilisation. Dans la plupart des cas, les flux de travail par défaut sont suffisants. Pour plus d'informations, consultez Configurer les flux de travail d'imagerie pour votre pipeline EC2 Image Builder.

  7. Pour Définir la configuration de l'infrastructure, choisissez Choisir la configuration d'infrastructure existante et sélectionnez la configuration d'infrastructure créée dansConfiguration de l'infrastructure EC2 Image Builder. Vérifiez que les détails de votre infrastructure sont corrects.

  8. Pour Définir les paramètres de distribution, choisissez Créer les paramètres de distribution à l'aide des paramètres de distribution par défaut du service. L'image de sortie doit se trouver dans le même environnement RES Région AWS que celui de votre environnement RES. En utilisant les paramètres par défaut du service, l'image sera créée dans la région où Image Builder est utilisé.

  9. Passez en revue les détails du pipeline et choisissez Create pipeline.

Modify an existing Image Builder pipeline
  1. Pour utiliser un pipeline existant, modifiez les détails afin d'utiliser la recette créée dansPréparez votre recette pour EC2 Image Builder.

  2. Sélectionnez Enregistrer les modifications.

Exécuter le pipeline d'images Image Builder

Pour produire l'image de sortie configurée, vous devez lancer le pipeline d'images. Le processus de création peut prendre jusqu'à une heure selon le nombre de composants contenus dans la recette d'image.

Pour exécuter le pipeline d'images :
  1. Dans Pipelines d'images, sélectionnez le pipeline créé dansConfigurer le pipeline d'images Image Builder.

  2. Dans Actions, sélectionnez Exécuter le pipeline.

Enregistrez une nouvelle pile logicielle dans RES

  1. Suivez les instructions Piles logicielles (AMI) pour enregistrer une pile logicielle.

  2. Pour l'ID AMI, entrez l'ID AMI de l'image de sortie intégréeExécuter le pipeline d'images Image Builder.