Не удалось создать / обновить стек в AWS

Я написал код как

AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: >
    sam-app

    Sample SAM Template for sam-app

Globals:
    Function:
        Timeout: 300
    Api:
        Cors:
            AllowHeaders: "'content-type, authorization'"
            AllowOrigin: "'*'"


Resources:

    HelloWorldFunction:
        Type: AWS::Serverless::Function 
        Properties:
            CodeUri: hello_world
            Handler: app.lambda_handler
            Runtime: nodejs8.10
            Environment: 
                Variables:
                    PARAM1: VALUE
            Events:
                HelloWorld:
                    Type: Api 
                    Properties:
                        Path: /hello
                        Method: get


    ApiGateway:
        Type: AWS::Serverless::Api
        Properties:
            StageName: prod
            DefinitionBody:
                swagger: "2.0"
                info:
                    title: 
                    Ref: AWS::StackName
                    description: My API that uses custom authorizer
                    version: 1.0.0
                paths:
                    /hello:
                        get:
                            consumes: application/json
                            produces: application/json

Я хочу развернуть этот код в облаке как

aws cloudformation deploy --template-file output.yaml --stack-name stack1 --parameter-overrides EnvParameter=prod --capabilities CAPABILITY_IAM

Тогда это говорит

Failed to create/update the stack. Run the following command
to fetch the list of events leading up to the failure
aws cloudformation describe-stack-events --stack-name stack1

Когда я комментирую ApiGateway код, он работает нормально. Я думаю, что ошибка может быть в нижней части кода.

ApiGateway:
        Type: AWS::Serverless::Api
        Properties:
            StageName: prod
            DefinitionBody:
                swagger: "2.0"
                info:
                    title: something
                    Ref: AWS::StackName
                    description: My API that uses custom authorizer
                    version: 1.0.0
                paths:
                    /hello:
                        get:
                            consumes: application/json
                            produces: application/json

Пожалуйста, помогите мне решить эту проблему.

Спасибо...

2 ответа

Это может быть поздно, но проблема, которая приводила к сбою моей облачной информации, заключалась в том, что моя программная учетная запись пользователя, создающая облачную форму, не имела разрешений iam:CreateRole. Обновление политик для этого пользователя устранило проблему.

Эта ошибка может возникнуть по нескольким причинам. Лишь немногие случаи среди них могут быть

  1. Отсутствие правильных разрешений.
  2. Попытка создать ресурс, который уже присутствует в вашей учетной записи AWS.

Как устранить такие проблемы.

  1. Перейдите в CloudFormation > Стеки > <ваше_имя_стека>.
  2. Внутри этого перейдите в «События». Здесь вы можете просмотреть имя вашего ресурса и причину статуса .
  3. Внутри причины статуса вы можете просмотреть ошибку.
  4. В зависимости от ошибки попытайтесь устранить ее соответствующим образом.

Вы можете использовать следующую команду для проверки ошибок. Это зарегистрирует все детали состояния вашего ресурса.

      aws cloudformation describe-stack-events --stack-name <your_stack_name>

По вышеупомянутой причине выполните следующие действия.

  1. Отсутствие правильных разрешений.

    • Обновите политики ролей IAM . Часто у нас нет правильного разрешения на создание ресурсов с помощью Cloud Formation, и в конечном итоге мы сталкиваемся с этой ошибкой.
  2. Попытка создать ресурс, который уже присутствует в вашей учетной записи AWS.

    • Это происходит, когда мы пытаемся снова создать ресурс с тем же именем. Либо удалите предыдущий ресурс вручную с помощью консоли AWS, либо попробуйте дать уникальное имя, чтобы избежать подобных ошибок.

Это было несколько причин и стратегий отладки для решения этой проблемы.

Другие вопросы по тегам