开始-api测试时如何访问AWS SAM LOCAL中的私有AWS资源
How to access private AWS resources in AWS SAM LOCAL when start-api testing
我一直在使用 AWS SAM Local 创建和测试 lambda / api 网关堆栈,然后再将其运送到生产环境。我最近 运行 在本地测试 (sam local start-api --profile [profile]
) 时尝试访问私有资源 (RDS) 时遇到了麻烦。如果我进行一些 ssh 隧道连接,我可以连接到其中一些私有资源,但我想知道我是否能够在不使用 VPC 进行隧道连接的情况下进行本地测试。
下面是一个示例 sam 模板:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Example Stack
Globals:
Function:
Timeout: 3
Resources:
ExampleFunction:
Type: 'AWS::Serverless::Function'
Properties:
Handler: index.example
Runtime: nodejs8.10
CodeUri: .
Description: 'Just an example'
MemorySize: 128
Role: 'arn:aws:iam::[arn-role]'
VpcConfig:
SecurityGroupIds:
- sg-[12345]
SubnetIds:
- subnet-[12345]
- subnet-[23456]
- subnet-[34567]
Events:
Api1:
Type: Api
Properties:
Path: /example
Method: GET
在阅读了大量文档并在 Whosebug 上搜索任何有帮助的东西之后...我最终加入了#samdev slack 频道并寻求帮助。我获得了一些关于在 EC2 实例上设置 OpenVPN 的指导和很好的指南。
设置非常简单(在 30 分钟内完成)并且 EC2 实例使用预烘焙的 AMI 映像。确保将新的 EC2 实例分配给包含您需要访问的资源的适当 VPC。
这是 OpenVPN 指南的 link:https://openvpn.net/index.php/access-server/on-amazon-cloud.html
您可以在此处申请#samdev slack 频道的邀请:https://awssamopensource.splashthat.com/
我一直在使用 AWS SAM Local 创建和测试 lambda / api 网关堆栈,然后再将其运送到生产环境。我最近 运行 在本地测试 (sam local start-api --profile [profile]
) 时尝试访问私有资源 (RDS) 时遇到了麻烦。如果我进行一些 ssh 隧道连接,我可以连接到其中一些私有资源,但我想知道我是否能够在不使用 VPC 进行隧道连接的情况下进行本地测试。
下面是一个示例 sam 模板:
AWSTemplateFormatVersion: '2010-09-09'
Transform: AWS::Serverless-2016-10-31
Description: Example Stack
Globals:
Function:
Timeout: 3
Resources:
ExampleFunction:
Type: 'AWS::Serverless::Function'
Properties:
Handler: index.example
Runtime: nodejs8.10
CodeUri: .
Description: 'Just an example'
MemorySize: 128
Role: 'arn:aws:iam::[arn-role]'
VpcConfig:
SecurityGroupIds:
- sg-[12345]
SubnetIds:
- subnet-[12345]
- subnet-[23456]
- subnet-[34567]
Events:
Api1:
Type: Api
Properties:
Path: /example
Method: GET
在阅读了大量文档并在 Whosebug 上搜索任何有帮助的东西之后...我最终加入了#samdev slack 频道并寻求帮助。我获得了一些关于在 EC2 实例上设置 OpenVPN 的指导和很好的指南。
设置非常简单(在 30 分钟内完成)并且 EC2 实例使用预烘焙的 AMI 映像。确保将新的 EC2 实例分配给包含您需要访问的资源的适当 VPC。
这是 OpenVPN 指南的 link:https://openvpn.net/index.php/access-server/on-amazon-cloud.html
您可以在此处申请#samdev slack 频道的邀请:https://awssamopensource.splashthat.com/