最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

LocalStack

IT培训 admin 7浏览 0评论

LocalStack

我目前想要使用LocalStack模拟AWS环境。但是在创建堆栈时,该服务返回了一个错误代码: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>

似乎localstack的cloudformation端点无法正常工作。我错过了什么吗?

回答如下:

你从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/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输出)。

LocalStack

我目前想要使用LocalStack模拟AWS环境。但是在创建堆栈时,该服务返回了一个错误代码: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>

似乎localstack的cloudformation端点无法正常工作。我错过了什么吗?

回答如下:

你从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/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输出)。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论