LocalStack - CloudFormation возвращает код ошибки: 500

В настоящее время я хочу смоделировать среду AWS с помощью LocalStack. Но при создании стеков сервис вернул мне код ошибки: 500.

Вот мой файл шаблона:

AWSTemplateFormatVersion: '2010-09-09'
Description: 'Sample'
Resources:
  sample:
      Type: AWS::Lambda::Function
      Properties:
        MemorySize: 256
        Timeout: 10
        Runtime: nodejs8.10
        Handler: /dist/service/src/handler.sample
        Code:
          Zipfile: lambda.zip

Вот команда, которую я пытаюсь запустить:

aws cloudformation create-stack \
  --template-body file://localstack/cloudtemplate.yaml \
  --stack-name sample \
  --endpoint-url=http://localhost:4581 \

И вот результат:

Unable to parse response (syntax error: line 1, column 54), invalid XML received:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>500 Internal Server Error</title>
<h1>Internal Server Error</h1>
<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>

Похоже, что конечная точка облачной информации локального стека не работает должным образом. Я что-то упускаю?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
5
0
2 297
1

Ответы 1

Ошибка, которую вы получаете от LocalStack, довольно расплывчата, поэтому вам нужно копнуть немного глубже. Прежде всего, можете ли вы опубликовать, как вы запускаете LocalStack (через Docker, и если да, то какова точная командная строка)?

Использование Docker и docker-compose:

version: '3'

services:

  localstack:
    image: localstack/localstack:latest
    ports:
      - "4567-4584:4567-4584"
      - "${PORT_WEB_UI-8080}:${PORT_WEB_UI-8080}"
    environment:
      - SERVICES=cloudformation
      - HOSTNAME=localstack
      - DEFAULT_REGION=eu-west-2
      - PORT_WEB_UI=${PORT_WEB_UI- }
      - DEBUG=1

Здесь следует отметить несколько моментов:

  • DEBUG=1 выдаст вам точную ошибку в консоли, в которой вы выполняете docker-compose, из которой может (или не может) помочь вам диагностировать реальную проблему.
  • Вам необходимо убедиться, что Cloudformation запущен (добавив его в массив SERVICES) и что соответствующий порт открыт. По умолчанию - 4581 (я просто использую настройки по умолчанию, указанные выше, открывая все порты, которые использует LocalStack).
  • :latest используется. У меня была более старая версия образа, и у меня были проблемы с Cloudformation, которые исчезли после обновления до последней. Не уверен, в какой момент это было исправлено, но я думаю, это не имеет значения.

И чтобы убедиться, что проблема не в вашем шаблоне, попробуйте использовать тот, который работает, например выберите один отсюда:

https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-sqs-queues.html

Используя пример Очередь SQS с сигналами тревоги Cloudwatch YAML, у меня работает следующая команда:

aws cloudformation create-stack --stack-name myteststack --template-body file://cloudf.yml --endpoint-url=http://localhost:4581

Если все вышеперечисленное работает и у вас все еще есть проблемы с шаблоном, то, по крайней мере, вы знаете, в чем проблема (и, возможно, вы можете опубликовать более подробный вывод DEBUG).

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