ecs-cli ссылается на старый кластер после изменения профиля по умолчанию; не показывает экземпляры EC2

#amazon-web-services #amazon-ec2 #aws-cli #amazon-ecs

#amazon-web-services #amazon-ec2 #aws-cli #amazon-ecs

Вопрос:

Я использую интерфейс командной строки ECS AWS для управления кластерами экземпляров EC2 вверх и вниз для различных задач. Проблема, с которой я сталкиваюсь, заключается в том, что, похоже, она ссылается на старую информацию, которую я не знаю, как изменить.

например, я только my-second-cluster что успешно создал кластер и могу видеть его в консоли AWS:

 $ ecs-cli up --keypair "my-keypair" --capability-iam --size 4 --instance-type t2.micro --port 22 --cluster-config my-second-cluster --ecs-profile a-second-profile

INFO[0001] Using recommended Amazon Linux 2 AMI with ECS Agent 1.45.0 and Docker version 19.03.6-ce
INFO[0001] Created cluster                               cluster=my-second-cluster region=us-east-1
INFO[0002] Waiting for your cluster resources to be created...
INFO[0002] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
INFO[0063] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
INFO[0124] Cloudformation stack status                   stackStatus=CREATE_IN_PROGRESS
VPC created: vpc-123abc
Security Group created: sg-123abc
Subnet created: subnet-123abc
Subnet created: subnet-123def
Cluster creation succeeded.
  

… но eci-cli ps возвращает ошибку, относящуюся к старому кластеру:

 $ ecs-cli ps
FATA[0000] Error executing 'ps': Cluster 'my-first-cluster' is not active. Ensure that it exists
  

Явное указание кластера ( ecs-cli ps --cluster my-second-cluster --region us-east-1 ) ничего не возвращает, хотя я вижу 4 экземпляра EC2 при входе в консоль AWS.

Дополнительные сведения:

Перед созданием этого второго кластера я создал второй профиль и установил для него значение по умолчанию. Я также установил новый кластер по умолчанию.

 $ ecs-cli configure profile --access-key <MY_ACCESS_KEY> --secret-key <MY_SECRET_KEY> --profile-name a-second-profile
$ ecs-cli configure profile default --profile-name a-second-profile
$ ecs-cli configure --cluster my-second-cluster --region us-east-1
INFO[0000] Saved ECS CLI cluster configuration default.
  

Мне неясно, где хранятся эти конфигурации профилей ECS и кластера (я ожидал бы увидеть их в виде файлов ~/.aws , но нет), или как управлять ими помимо команд cli, которые не дают хорошей обратной связи. Есть идеи о том, чего мне не хватает?

Ответ №1:

ECS CLI хранит свои учетные данные в ~/.ecs/credentials .

При создании начального профиля его имя используется default и используется по умолчанию. При установке значения a-second-profile по умолчанию метаданные будут использоваться a-second-profile по умолчанию, но у вас все еще есть имя профиля default , которое указывает на исходные учетные данные.

Я предполагаю, что для просмотра первого кластера вам нужно теперь указать имя профиля, поскольку вы изменили значение по умолчанию. Если вы не дали своему первоначальному профилю имя, тогда оно будет default .

ecs-cli ps --ecs-profile default

Если вы удалили конфигурацию кластера, возможно, потребуется снова добавить кластер и связать его с правильным профилем:

 ecs-cli configure --cluster cluster_name --default-launch-type launch_type --region region_name --config-name configuration_name
  

Я надеюсь, что это имеет смысл. Надеюсь, просмотр того, как ваши команды обновляются ~/.ecs/credentials , будет полезен.

Некоторые ресурсы:

Комментарии:

1. Очень полезно для понимания того, где находятся файлы, связанные с ECS, и как они функционируют; спасибо! Однако я удалил ошибочные ссылки на профиль и кластер, но ecs-cli ps по-прежнему ничего не показывает, несмотря на наличие экземпляров. Идентификатор доступа и ключ выглядят правильно (т. Е. Они те же, с помощью которых я создал кластер), поэтому я не уверен, почему.

2. Я обновил ответ, добавив немного больше информации о том, как добавить обратно ваш кластер, если вы удалили его из своей конфигурации, а также некоторые внешние ресурсы.