Je veux créer un type d'environnement doté d'un équilibreur de charge et d'une scalabilité automatique pour mon application AWS Elastic Beanstalk. Je souhaite également spécifier mon propre groupe de sécurité pour mon équilibreur de charge.
Brève description
Elastic Beanstalk crée un groupe de sécurité par défaut pour votre équilibreur de charge. Vous pouvez remplacer celui-ci si vous disposez déjà d'un groupe de sécurité (également appelé ManagedSecurityGroup) que vous souhaitez associer à votre équilibreur de charge. Pour éviter qu'Elastic Beanstalk ne crée un groupe de sécurité par défaut, vous devez ajouter un ou plusieurs fichiers de configuration dans un répertoire .ebextensions. Le répertoire se trouve dans le package de déploiement de votre application.
Important : la procédure ci-dessous ne s'applique qu’aux Application Load Balancer et aux Classic Load Balancers. Les Network Load Balancers ne sont associés à aucun groupe de sécurité.
Résolution
Utilisez des fichiers .ebextensions pour demander au service Elastic Beanstalk d'associer un groupe de sécurité existant à votre équilibreur de charge. Ensuite, supprimez le groupe de sécurité par défaut qu'Elastic Beanstalk a créé automatiquement.
1. Assurez-vous que vous disposez déjà d'un groupe de sécurité qu'Elastic Beanstalk peut utiliser. Vous pouvez également créer un nouveau groupe de sécurité pour l'équilibreur de charge dans votre environnement Elastic Beanstalk.
2. Notez l'ID de votre groupe de sécurité. Par exemple: sg-123456
3. Créez un répertoire .ebextensions/ dans votre répertoire de code d'application local.
Remarque : Pour plus d'informations, consultez Personnalisation d'environnement avancée avec des fichiers de configuration (.ebextensions).
4. Dans le répertoire .ebextensions/, créez un fichier nommé elbsg.config. Par exemple :
~/workspace/my-app/
├── .ebextensions
│ ├── elbsg.config
├── helloworld
Remarque : pour plus d'informations, consultez Personnalisation d'environnement avancée avec des fichiers de configuration (.ebextensions).
5. Mettez à jour le fichier elbsg.config en fonction du type d'équilibreur de charge de votre environnement Elastic Beanstalk.
Pour créer un nouvel environnement ou mettre à jour un environnement existant avec un Classic Load Balancer, utilisez le paramètre SecurityGroups pour remplacer le groupe de sécurité par défaut. Par exemple :
option_settings:
aws:elb:loadbalancer:
ManagedSecurityGroup: "sg-123456"
SecurityGroups: "sg-123456"
Pour créer un nouvel environnement ou mettre à jour un environnement existant avec un Application Load Balancer, utilisez le paramètre SecurityGroups pour remplacer le groupe de sécurité par défaut. Par exemple :
option_settings:
aws:elbv2:loadbalancer:
ManagedSecurityGroup: "sg-123456"
SecurityGroups: "sg-123456"
Remarque : dans les exemples précédents, remplacez sg-123456 par votre groupe de sécurité et votre groupe de sécurité géré. Les .ebextensions précédentes sont au format YAML. Veillez à valider le formatage YAML.
6. Déployez votre code et le nouveau répertoire .ebextensions/ comme nouvelle version de l'application dans votre environnement Elastic Beanstalk.
Après le déploiement, votre groupe de sécurité est associé à l'équilibreur de charge. Votre environnement et votre équilibreur de charge utilisent désormais le groupe de sécurité existant au lieu du groupe de sécurité par défaut de l'équilibreur de charge.
Informations connexes
Configuration d'environnements Elastic Beanstalk
aws:elb:loadbalancer
aws:elbv2:loadbalancer