

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 des groupes de sécurité et des types d'instances Amazon EC2 à l'aide du AWS CLI
<a name="using-features.managing.ec2.aws-cli"></a>

Vous pouvez utiliser l'interface de ligne de AWS commande (AWS CLI) pour configurer les instances Amazon EC2 dans vos environnements Elastic Beanstalk.

## Configuration des groupes de sécurité EC2 à l'aide du AWS CLI
<a name="using-features.managing.ec2.aws-cli.security-groups"></a>

Cette rubrique fournit des exemples de différentes configurations de groupes de sécurité EC2 pour les environnements à instance unique et à charge équilibrée (multi-instances). Pour plus d'informations sur les options de ces exemples, consultez [aws:autoscaling:launchconfiguration](command-options-general.md#command-options-general-autoscalinglaunchconfiguration).

**Remarques**  
L'opération de création d'environnement fournit un groupe de sécurité EC2 par défaut. Il crée également un environnement avec un équilibreur de charge d'application par défaut.   
L'opération de mise à jour de l'environnement peut être utilisée pour désactiver ou activer le groupe de sécurité EC2 par défaut pour votre environnement à l'aide de l'option booléenne. `DisableDefaultEC2SecurityGroup` L'*exemple 5* montre comment rétablir la configuration de sécurité par défaut de votre environnement si vous l'avez déjà modifiée.

Les exemples suivants montrent une commande [create-environment désactivant](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/create-environment.html) le groupe de sécurité EC2 par défaut et fournissant des groupes de sécurité personnalisés à la place. L'`DisableDefaultEC2SecurityGroup`option étant définie sur`true`, le groupe de sécurité EC2 par défaut qu'Elastic Beanstalk associe normalement aux instances EC2 n'est pas créé. Par conséquent, vous devez fournir `SecurityGroups` cette option à d'autres groupes de sécurité. 

Notez que l'[aws:elasticbeanstalk:environment](command-options-general.md#command-options-general-elasticbeanstalkenvironment)`EnvironmentType`option est définie sur`SingleInstance`. Pour créer un environnement à instance unique, vous devez spécifier cette option, car il s'`LoadBalanced`agit de la valeur par défaut`EnvironmentType`. Étant donné que cet environnement n'inclut pas d'équilibreur de charge, il n'est pas nécessaire de spécifier un groupe de sécurité d'équilibreur de charge. 

**Example 1 — Nouvel environnement à instance unique avec groupes de sécurité EC2 personnalisés (options d'espace de noms intégrées)**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2023 v6.5.0 applrunning Node.js 22" \
--option-settings \
Namespace=aws:elasticbeanstalk:environment,OptionName=EnvironmentType,Value=SingleInstance \
Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \
Namespace=aws:autoscaling:launchconfiguration,OptionName=DisableDefaultEC2SecurityGroup,Value=true \
Namespace=aws:autoscaling:launchconfiguration,OptionName=SecurityGroups,Value=sg-abcdef01, sg-abcdef02 \
Namespace=aws:autoscaling:launchconfiguration,OptionName=EC2KeyName,Value=my-keypair
```





À titre de solution de rechange, utilisez un fichier `options.json` pour spécifier les options de l'espace de noms au lieu de les inclure en ligne.

**Example 2 — Nouvel environnement à instance unique avec groupes de sécurité EC2 personnalisés (options d'espace de noms dans le fichier) `options.json`**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2023 v6.5.0 running Node.js 22" \
--option-settings file://options.json
```

**Example**  

```
### example options.json ###
[
  { "Namespace" : "aws:elasticbeanstalk:environment", 
    "OptionName" : "EnvironmentType", 
    "Value" : "SingleInstance" 
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "IamInstanceProfile",
    "Value": "aws-elasticbeanstalk-ec2-role"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "DisableDefaultEC2SecurityGroup",
    "Value": "true"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "SecurityGroups",
    "Value": "sg-abcdef01, sg-abcdef02"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "EC2KeyName",
    "Value": "my-keypair"
  }
]
```

L'exemple suivant crée un environnement d'équilibrage de charge. Elle spécifie l'option d'[aws:elasticbeanstalk:environment](command-options-general.md#command-options-general-elasticbeanstalkenvironment)espace de noms `LoadBalancerType` définie sur. `application` Comme nous désactivons le groupe de sécurité EC2 par défaut avec `DisableDefaultEC2SecurityGroup` cette option, nous devons à nouveau fournir nos propres groupes de sécurité personnalisés pour les instances EC2, avec [aws:autoscaling:launchconfiguration](command-options-general.md#command-options-general-autoscalinglaunchconfiguration) `SecurityGroups` cette option, comme dans l'exemple précédent. Étant donné que cet environnement dispose d'un équilibreur de charge pour acheminer le trafic, nous devons également fournir des groupes de sécurité pour l'équilibreur de charge.

Pour créer un environnement avec un équilibreur de charge classique, mais avec la même configuration, mettez à jour la configuration de l'option `LoadBalancerType` d'espace de [aws:elasticbeanstalk:environment](command-options-general.md#command-options-general-elasticbeanstalkenvironment) noms sur. `classic` 

Les différents types d'équilibreurs de charge ont des espaces de noms différents qui contiennent les options permettant de spécifier les groupes de sécurité :


+ équilibreur de charge d'application — option [aws:elbv2:loadbalancer](command-options-general.md#command-options-general-elbv2) `SecurityGroups`
+ équilibreur de charge classique — option [aws:elb:loadbalancer](command-options-general.md#command-options-general-elbloadbalancer) `SecurityGroups`
+ équilibreur de charge réseau : les équilibreurs de charge réseau n'ayant pas de groupes de sécurité, configurez les groupes de sécurité EC2 avec des identifiants VPC. Pour plus d'informations, voir [Mettre à jour les groupes de sécurité pour votre Network Load Balancer](https://docs.aws.amazon.com/elasticloadbalancing/latest/network/load-balancer-security-groups.html) dans le *Guide de l'utilisateur pour les Network Load* Balancers.

**Example 3 — Nouvel environnement multi-instance avec groupes de sécurité EC2 personnalisés (options d'espace de noms dans le fichier) `options.json`**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2023 v6.5.0 running Node.js 22" \
--option-settings file://options.json
```

**Example**  

```
### example options.json ###
[
  { 
    "Namespace" : "aws:elasticbeanstalk:environment", 
    "OptionName" : "EnvironmentType", 
    "Value" : "LoadBalanced" 
  },
  { 
  "Namespace" : "aws:elasticbeanstalk:environment",
    "OptionName" : "LoadBalancerType",
    "Value" : "application"
  },
  {
    "Namespace" : "aws:elbv2:loadbalancer",
    "OptionName" : "SecurityGroups",
    "Value" : "sg-abcdefghikl012345"
  }, 
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "IamInstanceProfile",
    "Value": "aws-elasticbeanstalk-ec2-role"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "DisableDefaultEC2SecurityGroup",
    "Value": "true"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "SecurityGroups",
    "Value": "sg-abcdef01, sg-abcdef02"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "EC2KeyName",
    "Value": "my-keypair"
  }
]
```

Vous pouvez désactiver le groupe de sécurité EC2 par défaut pour un environnement existant à l'aide de la commande [update-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html). L'exemple de commande suivant désactive le groupe de sécurité EC2 par défaut et attribue des groupes de sécurité EC2 personnalisés aux instances EC2 de l'environnement. 

Utilisez les `options.jason` fichiers d'exemple des exemples 4 (a), 4 (b) ou 4 (c), selon que l'environnement est équilibré en charge et selon le type d'équilibreur de charge. Le fichier de configuration 4 (a) spécifie les groupes de sécurité pour un environnement à instance unique. Comme il ne nécessite pas d'équilibreur de charge, nous fournissons uniquement le groupe de sécurité pour les instances EC2. Les fichiers de configuration 4 (b) et 4 (c) spécifient les groupes de sécurité pour un équilibreur de charge d'application et un équilibreur de charge classique. Dans ces cas, nous devons également spécifier des groupes de sécurité pour l'équilibreur de charge.

**Example 4 — Mettre à jour un environnement existant pour désactiver le groupe de sécurité EC2 par défaut (options d'espace de noms dans le `options.json` fichier)**  

```
aws elasticbeanstalk update-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2023 v6.5.0 running Node.js 22" \
--option-settings file://options.json
```

**Example 4 (a) — Fichier de configuration pour un environnement à instance unique (sans équilibreur de charge)**  

```
### example options.json ###
[
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "DisableDefaultEC2SecurityGroup",
    "Value": "true"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "SecurityGroups",
    "Value": "sg-abcdef01, sg-abcdef02"
  }
]
```

Pour mettre à jour un environnement qui utilise un équilibreur de charge d'application, utilisez l'espace de `aws:elbv2:loadbalancer` noms pour spécifier les groupes de sécurité pour l'équilibreur de charge.

**Example 4 (b) — Fichier de configuration pour un environnement doté d'un équilibreur de charge d'application**  

```
### example options.json ###
[
  {
    "Namespace" : "aws:elbv2:loadbalancer",
    "OptionName" : "SecurityGroups",
    "Value" : "sg-abcdefghikl012345"
  }, 
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "DisableDefaultEC2SecurityGroup",
    "Value": "true"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "SecurityGroups",
    "Value": "sg-abcdef01, sg-abcdef02"
  }
]
```

Pour mettre à jour un environnement qui utilise un équilibreur de charge classique, utilisez l'espace de `aws:elb:loadbalancer` noms pour spécifier les groupes de sécurité pour l'équilibreur de charge.

**Example 4 (c) — Fichier de configuration pour un environnement avec un équilibreur de charge classique**  

```
### example options.json ###
[
  {
    "Namespace" : "aws:elb:loadbalancer",
    "OptionName" : "SecurityGroups",
    "Value" : "sg-abcdefghikl012345"
  }, 
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "DisableDefaultEC2SecurityGroup",
    "Value": "true"
  },
  {
    "Namespace": "aws:autoscaling:launchconfiguration",n
    "OptionName": "SecurityGroups",
    "Value": "sg-abcdef01, sg-abcdef02"
  }
]
```

Pour rétablir le comportement et la configuration par défaut de votre environnement avec le groupe de sécurité par défaut attribué par Elastic Beanstalk, [utilisez](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html) la commande update-environment pour définir la valeur sur. `DisableDefaultEC2SecurityGroup` `false` Pour un environnement multi-instances, Elastic Beanstalk gère également les groupes de sécurité et les règles de trafic réseau pour l'équilibreur de charge de votre environnement. 

L'exemple suivant s'applique à un environnement à instance unique ou à instances multiples (équilibrage de charge) :

**Example 5 — Mettre à jour un environnement pour qu'il utilise à nouveau le groupe de sécurité par défaut (options d'espace de noms dans `options.json` le fichier)**  

```
aws elasticbeanstalk update-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2023 v6.5.0 running Node.js 22" \
--option-settings file://options.json
```

**Example**  

```
### example options.json ###
[
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "DisableDefaultEC2SecurityGroup",
    "Value": "false"
  }
]
```

## Configuration d'EC2 avec des types d'instances à l'aide du AWS CLI
<a name="using-features.managing.ec2.aws-cli.instance-types"></a>

Cette rubrique fournit des exemples de configuration des types d'instances EC2 dans votre environnement.

Les deux premiers exemples créent un environnement. La commande indique un type d'instance Amazon EC2, t4g.small, basé sur l'architecture du processeur arm64. Elastic Beanstalk définit par défaut l'ID d'image (AMI) des instances EC2 en fonction de la région, de la version de la plateforme et du type d'instance. Le type d'instance correspond à une architecture de processeur. Le paramètre `solution-stack-name` s'applique à la version de la plateforme.

**Example 1 : créer un environnement basé sur arm64 (options d'espace de noms en ligne)**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \
--option-settings \
Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \
Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small
```



À titre de solution de rechange, utilisez un fichier `options.json` pour spécifier les options de l'espace de noms au lieu de les inclure en ligne.

**Example 2 : créer un environnement basé sur arm64 (options d'espace de noms en ligne dans le fichier `options.json`)**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \
--option-settings file://options.json
```

**Example**  

```
### example options.json ###
[
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "IamInstanceProfile",
    "Value": "aws-elasticbeanstalk-ec2-role"
  },
  {
    "Namespace": "aws:ec2:instances",
    "OptionName": "InstanceTypes",
    "Value": "t4g.small"
  }
]
```





Les deux exemples suivants mettent à jour la configuration d'un environnement existant avec la commande [update-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/update-environment.html). Dans cet exemple, nous ajoutons un autre type d'instance basé également sur l'architecture du processeur arm64. Pour les environnements existants, tous les types d'instance ajoutés doivent avoir la même architecture de processeur. Si vous souhaitez remplacer les types d'instance existants par ceux issus d'une architecture différente, vous pouvez le faire. Mais assurez-vous que tous les types d'instances de la commande ont le même type d'architecture.

**Example 3 : mettre à jour un environnement basé sur arm64 existant (options d'espace de noms en ligne)**  

```
aws elasticbeanstalk update-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \
--option-settings \
Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role \
Namespace=aws:ec2:instances,OptionName=InstanceTypes,Value=t4g.small,t4g.micro
```



À titre de solution de rechange, utilisez un fichier `options.json` pour spécifier les options de l'espace de noms au lieu de les inclure en ligne.

**Example 4 : mettre à jour un environnement basé sur arm64 existant (options d'espace de noms dans le fichier `options.json`)**  

```
aws elasticbeanstalk update-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \
--option-settings file://options.json
```

**Example**  

```
### example options.json ###
[
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "IamInstanceProfile",
    "Value": "aws-elasticbeanstalk-ec2-role"
  },
  {
    "Namespace": "aws:ec2:instances",
    "OptionName": "InstanceTypes",
    "Value": "t4g.small, t4g.micro"
  }
]
```





Les deux exemples suivants montrent des commandes [create-environment](https://docs.aws.amazon.com/cli/latest/reference/elasticbeanstalk/create-environment.html) supplémentaires. Ces exemples ne fournissent pas de valeurs pour `InstanceTypes`. Quand les valeurs `InstanceTypes` ne sont pas spécifiées, Elastic Beanstalk utilise par défaut une architecture de processeur basée sur x86. L'ID d'image (AMI) des instances EC2 de l'environnement sera défini par défaut en fonction de la région, de la version de la plateforme et du type d'instance par défaut. Le type d'instance correspond à une architecture de processeur. 

**Example 5 : créer un environnement basé sur x86 (options d'espace de noms en ligne)**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \
--option-settings \
Namespace=aws:autoscaling:launchconfiguration,OptionName=IamInstanceProfile,Value=aws-elasticbeanstalk-ec2-role
```



À titre de solution de rechange, utilisez un fichier `options.json` pour spécifier les options de l'espace de noms au lieu de les inclure en ligne.

**Example 6 : créer un environnement basé sur x86 (options d'espace de noms en ligne dans le fichier `options.json`)**  

```
aws elasticbeanstalk create-environment \
--region us-east-1 \
--application-name my-app \
--environment-name my-env \
--solution-stack-name "64bit Amazon Linux 2 v3.4.7 running Docker" \
--option-settings file://options.json
```

**Example**  

```
### example options.json ###
[
  {
    "Namespace": "aws:autoscaling:launchconfiguration",
    "OptionName": "IamInstanceProfile",
    "Value": "aws-elasticbeanstalk-ec2-role"
  }
]
```