4

我一直在使用 AWS SAM Local 创建和测试 lambda / api 网关堆栈,然后再将其运送到生产环境。我最近在本地测试 ( ) 时尝试访问私有资源 (RDS) 时遇到了障碍sam local start-api --profile [profile]。如果我做一些 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
4

1 回答 1

4

在阅读了大量文档并在 stackoverflow 中搜索任何有帮助的内容后……我最终加入了#samdev slack 频道并寻求帮助。我获得了一些关于在 EC2 实例上设置 OpenVPN 的指导和很好的指导。

设置非常简单(在 30 分钟内完成),EC2 实例使用预烘焙的 AMI 映像。确保将新的 EC2 实例分配给包含您需要访问的资源的适当 VPC。


这是 OpenVPN 指南的链接:https ://openvpn.net/index.php/access-server/on-amazon-cloud.html

您可以在此处请求#samdev slack 频道的邀请:https ://awssamopensource.splashthat.com/

于 2018-08-22T18:51:03.047 回答