AWS CloudFormation CLI - выдача параметров - PullRequest
1 голос
/ 28 апреля 2020

У меня есть экземпляр EC2, с помощью которого я пытаюсь выполнить сценарий CFN, но я сталкиваюсь со следующей ошибкой:

Error parsing parameter '--parameters': Unable to retrieve https://xxxxxxxxxxxxxxxxxxxxVPC-Parameters.json: received non 200 status code of 403

Пожалуйста, обратитесь к моей команде CLI:

aws cloudformation create-stack \
    --stack-name mytestVPC  \
    --template-url  https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC.yaml \
    --parameters https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC-Parameters.json \
    --tags  https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC-Tags.json \
    --capabilities CAPABILITY_IAM

Я выполнял CFN с использованием CLI раньше, но впервые сталкиваюсь с такой проблемой. Моя роль имеет полный доступ к S3 для всех ресурсов. Я также подтвердил свой --parameters JSON, и он действителен.
AWS Версия CLI: aws-cli/1.16.102 Python/2.7.16 Linux/4.14.171-105.231.amzn1.x86_64 botocore/1.12.92
Когда я удаляю --parameters и --tags из команды, команда выполняется успешно.
Было бы здорово, если бы кто-то мог помочь мне понять и решить эту проблему.

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020
Флаг

--parameters имеет формат ключа / значения, например:

ParameterKey=string,ParameterValue=string,UsePreviousValue=boolean,ResolvedValue=string ...

Вы не можете использовать там URL. То же самое для --tags.

aws cloudformation create-stack \
    --stack-name mytestVPC  \
    --template-url  https://XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/VPC.yaml \
    --parameters ParameterKey=KeyPairName,ParameterValue=TestKey ParameterKey=SubnetID,ParameterValue=SubnetID1 \
    --tags  Key=MyTag,Value=MyTagValue \
    --capabilities CAPABILITY_IAM

Ссылка

0 голосов
/ 29 апреля 2020

Я сделал следующее, чтобы решить эту проблему:

  • Ранее у меня была встроенная политика для моей роли с ограниченным доступом к S3, CFN и EC2, я удалил ее и предоставил полный доступ к S3, CFN и EC2 с использованием существующих политик
  • Отключено Блокировать доступ public c (настройки корзины)
  • Сделан мой скрипт yaml, параметры и теги JSON файлы publi c

Затем выполнил команду, и она сработала.

Примечание. Это не лучшая практика, в идеале должны работать начальные настройки, с которыми я работал, потому что я развернул CFN с помощью CLI, используя такие же настройки. Идеальным параметром должно быть / должно быть:

  • Политика с ограниченными и необходимыми действиями, прикрепленными к роли
  • Блокировка доступа c Доступ (настройки корзины) должен быть включен, так как ваш EC2 будет получить к нему доступ
  • Не нужно создавать объекты (скрипты / json файлы) для публикации c, так как ваша роль имеет доступ к заданному c S3 bucket

I попытается поднять билет с парнями AWS, отметьте это и обновите ответ как можно скорее.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...