View a markdown version of this page

Exécutez des builds sur des flottes à capacité réservée - AWS CodeBuild

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.

Exécutez des builds sur des flottes à capacité réservée

CodeBuild propose les parcs informatiques suivants :

  • On-demand flottes

  • Flottes à capacité réservée

Avec des flottes à la demande, CodeBuild fournit des capacités de calcul pour vos constructions. Les machines sont détruites à la fin de la construction. On-demand les flottes sont entièrement gérées et incluent des fonctionnalités de dimensionnement automatique pour gérer les pics de demande.

Note

On-demand les flottes ne sont pas compatibles avec macOS.

CodeBuild propose également des flottes de capacité réservée qui contiennent des instances alimentées par Amazon EC2 et maintenues par. CodeBuild Avec les parcs à capacité réservée, vous configurez un ensemble d'instances dédiées pour votre environnement de build. Ces machines restent inactives, prêtes à traiter les builds ou les tests immédiatement et réduisent les durées de construction. Avec les flottes à capacité réservée, vos machines fonctionnent en permanence et continueront à entraîner des coûts tant qu'elles seront approvisionnées.

Important

Quelle que soit la durée pendant laquelle vous exécutez une instance, les flottes de capacité réservée entraînent des frais initiaux par instance, après quoi des coûts supplémentaires peuvent être associés. Pour de plus amples informations, veuillez consulter https://aws.amazon.com/codebuild/pricing/.

Créez une flotte à capacité réservée

Suivez les instructions suivantes pour créer une flotte à capacité réservée.

Pour créer une flotte à capacité réservée
  1. Connectez-vous à Console de gestion AWS et ouvrez la AWS CodeBuild console à l'adresse https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Dans le volet de navigation, choisissez Compute fleets, puis Create Fleet.

  3. Dans le champ de texte Calculer le nom de la flotte, entrez un nom pour votre flotte.

  4. Dans le menu déroulant Système d'exploitation, choisissez le système d'exploitation.

  5. Dans le menu déroulant Architecture, choisissez l'architecture.

  6. (Facultatif) Sélectionnez Utiliser le mode d'exécution de l'instance - facultatif pour exécuter directement sur une instance Amazon EC2 au lieu d'un conteneur Docker. Choisissez ensuite une version majeure et une version mineure.

  7. (Facultatif) Dans Configuration supplémentaire, procédez comme suit :

    • Sélectionnez Configurer le VPC : facultatif pour connecter votre flotte à un VPC afin d'accéder à des ressources privées pendant l'utilisation.

      • Dans le menu déroulant VPC, sélectionnez un VPC auquel votre CodeBuild flotte aura accès.

      • Dans le menu déroulant Sous-réseaux, sélectionnez les sous-réseaux à utiliser pour configurer la configuration de votre VPC. CodeBuild

      • Dans le menu déroulant Groupes de sécurité, sélectionnez les groupes de sécurité CodeBuild à utiliser pour fonctionner avec votre VPC.

      • Dans le champ Rôle de service de la flotte, choisissez un rôle de service existant.

        Note

        Assurez-vous que votre rôle dans la flotte dispose des autorisations nécessaires. Pour de plus amples informations, veuillez consulter Autoriser un utilisateur à ajouter une politique d'autorisation pour un rôle de service de flotte.

      • Si vous avez choisi le système d'exploitation Amazon Linux, sélectionnez Définir les configurations de proxy - facultatif pour appliquer le contrôle d'accès réseau à vos instances à capacité réservée.

      • Pour Comportement par défaut, choisissez d'autoriser ou de refuser le trafic sortant vers toutes les destinations par défaut.

      • Pour les règles de proxy, choisissez Ajouter une règle de proxy pour spécifier les domaines de destination ou les adresses IP auxquels autoriser ou refuser le contrôle d'accès au réseau.

    • Sélectionnez Configurer une AMI personnalisée : facultatif pour utiliser une Amazon Machine Image (AMI) personnalisée.

  8. Dans Configuration de la capacité, dans Mode de sélection du calcul, choisissez l'une des options suivantes :

    • Si vous choisissez Sélection guidée, procédez comme suit :

      • Pour Compute, choisissez le type d'instances incluses dans cette flotte.

      • Dans le champ de texte Capacité, entrez le nombre minimum d'instances de la flotte.

      • (Facultatif) Dans Configuration supplémentaire, procédez comme suit :

        • Sélectionnez Configurer la mise à l'échelle - facultatif pour dimensionner automatiquement votre flotte en fonction de cette configuration. Dans le menu déroulant facultatif Mode de mise à l'échelle, choisissez le comportement lorsque la demande dépasse la capacité de la flotte.

    • Si vous choisissez Instance personnalisée, procédez comme suit :

      • Dans le menu déroulant Type d'instance de calcul, sélectionnez le type d'instances inclus dans ce parc.

      • Dans le champ de texte Taille du volume EBS supplémentaire - facultatif, entrez le volume supplémentaire aux 64 Go d'espace disque fournis.

      • Dans le champ de texte Capacité, entrez le nombre minimum d'instances de la flotte.

      • (Facultatif) Dans Configuration supplémentaire, procédez comme suit :

        • Sélectionnez Configurer la mise à l'échelle - facultatif pour dimensionner automatiquement votre flotte en fonction de cette configuration. Dans le menu déroulant facultatif Mode de mise à l'échelle, choisissez le comportement lorsque la demande dépasse la capacité de la flotte.

  9. Choisissez Créer une flotte informatique.

  10. Une fois le parc informatique créé, créez un nouveau CodeBuild projet ou modifiez un projet existant. Dans Environnement, choisissez Capacité réservée sous Modèle d'approvisionnement, puis choisissez la flotte spécifiée sous Nom de la flotte.

Bonnes pratiques

Lorsque vous utilisez des flottes à capacité réservée, nous vous recommandons de suivre ces bonnes pratiques.

  • Nous vous recommandons d'utiliser le mode cache source pour améliorer les performances de compilation en mettant la source en cache.

  • Nous vous recommandons d'utiliser la mise en cache des couches Docker pour améliorer les performances de génération en mettant en cache les couches Docker existantes.

Puis-je partager une flotte de capacité réservée entre plusieurs CodeBuild projets ?

Oui, vous pouvez optimiser l'utilisation de la capacité d'une flotte en l'utilisant pour plusieurs projets.

Important

Lorsque vous utilisez la fonctionnalité de capacité réservée, les données mises en cache sur les instances de flotte, y compris les fichiers source, les couches Docker et les répertoires mis en cache spécifiés dans la spécification de construction, peuvent être accessibles à d'autres projets au sein du même compte. Ceci est prévu et permet aux projets d'un même compte de partager des instances de flotte.

Comment fonctionne le calcul basé sur les attributs ?

Si vous choisissez ATTRIBUTE_BASED_COMPUTE comme flottecomputeType, vous pouvez spécifier les attributs dans un nouveau champ appelécomputeConfiguration. Ces attributs incluent les processeurs virtuels, la mémoire, l'espace disque et lemachineType. C'machineTypeest l'un GENERAL ou l'autreNVME. Après avoir spécifié un ou plusieurs des attributs disponibles, CodeBuild choisira un type de calcul parmi les types d'instances pris en charge disponibles comme finalisécomputeConfiguration.

Note

CodeBuild choisira l'instance la moins chère qui correspond à toutes les exigences d'entrée. La mémoire, les processeurs virtuels et l'espace disque des instances sélectionnées seront tous supérieurs ou égaux aux exigences d'entrée. Vous pouvez vérifier les problèmes résolus computeConfiguration dans la flotte créée ou mise à jour.

Si vous saisissez computeConfiguration une valeur impossible à satisfaire CodeBuild, vous recevrez une exception de validation. Notez également que le comportement de débordement de la flotte à la demande sera remplacé par le comportement de la file d'attente s'il n'computeConfigurationest pas disponible pour la demande.

Puis-je spécifier manuellement une instance Amazon EC2 pour ma flotte ?

Oui, vous pouvez saisir directement l'instance Amazon EC2 de votre choix dans la console en sélectionnant Instance personnalisée ou en configurant le paramètre API. InstanceType Ce champ est utilisé dans les API suivantes : CreateFleet UpdateFleet, CreateProject, UpdateProject et StartBuild. Pour de plus amples informations, veuillez consulter Compute instance type.

Quelles régions prennent en charge les flottes à capacité réservée ?

Les flottes Amazon Linux et Windows à capacité réservée sont prises en charge dans les pays suivants Régions AWS : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Oregon), Asie-Pacifique (Mumbai), Asie-Pacifique (Singapour), Asie-Pacifique (Sydney), Asie-Pacifique (Tokyo), Europe (Francfort), Europe (Irlande) et Amérique du Sud (São Paulo). Pour plus d'informations sur les Régions AWS lieux CodeBuild de disponibilité, consultez la section AWS Services par région.

Les flottes macOS Medium à capacité réservée sont prises en charge dans les pays suivants Régions AWS : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Oregon), Asie-Pacifique (Sydney) et Europe (Francfort). macOS à capacité réservée Les grandes flottes sont prises en charge dans les pays suivants Régions AWS : USA Est (Virginie du Nord), USA Est (Ohio), USA Ouest (Oregon) et Asie-Pacifique (Sydney).

Comment configurer une flotte macOS à capacité réservée ?

Pour configurer un parc macOS à capacité réservée
  1. Connectez-vous à Console de gestion AWS et ouvrez la AWS CodeBuild console à l'adresse https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Dans le volet de navigation, choisissez Compute fleets, puis Create Fleet.

  3. Dans le champ de texte Calculer le nom de la flotte, entrez un nom pour votre flotte.

  4. Dans le menu déroulant Système d'exploitation, choisissez macOS.

  5. Dans le champ Calcul, choisissez l'un des types de machines de calcul suivants : Apple M2, 24 Go de mémoire, 8 processeurs virtuels ou Apple M2, 32 Go de mémoire, 12 processeurs virtuels.

  6. Dans le champ de texte Capacité, entrez le nombre minimum d'instances de la flotte.

  7. (Facultatif) Pour utiliser une image personnalisée pour votre parc, Comment configurer une Amazon Machine Image (AMI) personnalisée pour une flotte à capacité réservée ? assurez-vous que votre Amazon Machine Image (AMI) possède les prérequis requis requis.

  8. (Facultatif) Pour configurer un VPC avec votre flotte, dans Configuration supplémentaire, procédez comme suit :

    • Dans le menu déroulant VPC - facultatif, sélectionnez un VPC auquel votre CodeBuild flotte aura accès.

    • Dans le menu déroulant Sous-réseaux, sélectionnez les sous-réseaux à utiliser pour configurer la configuration de votre VPC. CodeBuild

    • Dans le menu déroulant Groupes de sécurité, sélectionnez les groupes de sécurité CodeBuild à utiliser pour fonctionner avec votre VPC.

    • Dans le champ Rôle de service de flotte, choisissez un rôle de service existant.

      Note

      Assurez-vous que votre rôle dans la flotte dispose des autorisations nécessaires. Pour de plus amples informations, veuillez consulter Autoriser un utilisateur à ajouter une politique d'autorisation pour un rôle de service de flotte.

  9. Choisissez Créer une flotte de calcul et attendez que l'instance de flotte soit lancée. Une fois lancée, la capacité seran/n, où n est la capacité fournie ?

  10. Une fois le parc informatique lancé, créez un nouveau CodeBuild projet ou modifiez un projet existant. Dans Environnement, choisissez Capacité réservée sous Modèle d'approvisionnement, puis choisissez la flotte spécifiée sous Nom de la flotte.

Comment configurer une Amazon Machine Image (AMI) personnalisée pour une flotte à capacité réservée ?

Pour configurer une Amazon Machine Image (AMI) personnalisée pour un parc de capacité réservée
  1. Connectez-vous à Console de gestion AWS et ouvrez la AWS CodeBuild console à l'adresse https://console.aws.amazon.com/codesuite/codebuild/home.

  2. Dans le volet de navigation, choisissez Compute fleets, puis Create Fleet.

  3. Dans le champ de texte Calculer le nom de la flotte, entrez un nom pour votre flotte.

  4. Choisissez une image personnalisée pour votre parc et assurez-vous que votre Amazon Machine Image (AMI) répond aux exigences suivantes :

    • Si votre type d'environnement est MAC_ARM le cas, assurez-vous que votre architecture AMI est 64 bitsMac-Arm.

    • Si votre type d'environnement est LINUX_EC2 le cas, assurez-vous que votre architecture AMI est 64 bitsx86.

    • Si votre type d'environnement est ARM_EC2 le cas, assurez-vous que votre architecture AMI est 64 bitsArm.

    • Si votre type d'environnement est WINDOWS_EC2 le cas, assurez-vous que votre architecture AMI est 64 bitsx86.

    • L'AMI autorise le CodeBuild service Organization ARN. Pour obtenir la liste des ARN des organisations, consultezAmazon Machine Images (AMI).

    • Si l'AMI est chiffrée à l'aide d'une AWS KMS clé, AWS KMS celle-ci doit également autoriser l'ID d'organisation du CodeBuild service. Pour obtenir la liste des ID d'organisation, consultezAmazon Machine Images (AMI). Pour plus d'informations sur AWS KMS les clés, voir Autoriser les organisations et les unités d'organisation à utiliser une clé KMS dans le guide de l'utilisateur Amazon EC2. Pour autoriser CodeBuild l'organisation à utiliser une clé KMS, ajoutez la déclaration suivante à la politique de clé :

      { "Sid": "Allow access for organization root", "Effect": "Allow", "Principal": "*", "Action": [ "kms:Describe*", "kms:List*", "kms:Get*", "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:CreateGrant" ], "Resource": "*", "Condition": { "StringEquals": { "aws:PrincipalOrgID": "o-123example" } } }
    • Dans le champ Rôle de service de flotte, accordez les autorisations Amazon EC2 suivantes :

      JSON
      { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeImages", "ec2:DescribeSnapshots" ], "Resource": "*" } ] }

Limitations des flottes à capacité réservée

Certains cas d'utilisation ne sont pas pris en charge par les flottes à capacité réservée, et s'ils vous concernent, utilisez plutôt des flottes à la demande :

  • Les parcs de capacité réservée ne prennent pas en charge les mesures d'utilisation des builds.

  • Les flottes macOS à capacité réservée ne prennent pas en charge les sessions de débogage.

Pour plus d'informations sur les limites et les quotas, consultezFlottes informatiques.