#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. Я обновил ответ, добавив немного больше информации о том, как добавить обратно ваш кластер, если вы удалили его из своей конфигурации, а также некоторые внешние ресурсы.