Dans tous les didacticiels pour ECS, vous devez créer un cluster et ensuite un groupe de mise à l'échelle automatique, qui générera des instances. D'une manière ou d'une autre dans tous ces didacticiels, les instances apparaissent comme par magie dans le cluster, mais personne ne donne un indice sur la connexion du groupe de mise à l'échelle automatique et du cluster.
mon groupe de mise à l'échelle automatique génère des instances comme prévu, mais elles n'apparaissent tout simplement pas sur mon cluster ecs, qui contient mes définitions de docker.
Où est la connexion qui me manque?
Eh bien, je l'ai découvert. Son tout sur l'agent ecs et son fichier de configuration /etc/ecs/ecs.config (Ce fichier sera créé via le champ Userdata, lors de la création d'instances EC2, même à partir d'une configuration de mise à l'échelle automatique.) Lisez ici ses options de configuration: - http://docs.aws.Amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
Mais vous pouvez même copier un ecs.config stocké sur Amazon S3, faites-le comme ceci (les lignes suivantes vont dans le champ Userdata
):
#!/bin/bash
yum install -y aws-cli
aws configure set default.s3.signature_version s3v4
aws configure set default.s3.addressing_style path
aws configure set default.region eu-central-1
aws s3 cp s3://<bucketname>/ecs.config /etc/ecs/ecs.config
note: Signature_version v4 est spécifique à certaines régions, comme eu-central-1. Cela ne fonctionne que si votre rôle IAM pour l'instance (dans mon cas, son ecsInstanceRole) a le droit AmazonS3ReadOnlyAccess
Pour cela, la console AWS GUI serait: Utilisez l'assistant de cluster sur https://console.aws.Amazon.com/ecs/home#/firstRun . Il créera un groupe de mise à l'échelle automatique pour votre cluster, un équilibreur de charge en face de lui, et le connectera bien.
Je me débattais avec ça pendant un moment. La clé pour obtenir les instances du groupe de mise à l'échelle automatique associées à votre cluster ECS réside dans les données utilisateur. Lorsque vous créez votre configuration de lancement lorsque vous arrivez à l'étape 3 "Configurer les détails", cliquez sur l'onglet avancé et entrez un script bash simple comme celui-ci pour vos données utilisateur.
#!/usr/bin/env bash
echo ECS_CLUSTER=your_cluster_name >> /etc/ecs/ecs.config
Tous les paramètres disponibles pour la configuration de l'agent peuvent être trouvés ici http://docs.aws.Amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
Un groupe de mise à l'échelle automatique n'est pas strictement associé à un cluster. Cependant, un groupe de mise à l'échelle automatique peut être configuré de sorte que chaque instance lancée s'enregistre dans un cluster particulier.
L'enregistrement d'une instance dans un cluster est la responsabilité de ECS Agent s'exécutant sur l'instance. Si vous utilisez AMI optimisé pour Amazon ECS , l'agent ECS se lancera au démarrage de l'instance et s'enregistrera dans le cluster configuré . Cependant, vous pouvez également utiliser l'agent ECS sur d'autres AMI Linux en suivant les instructions d'installation .