0

我想将 Amazon DirectConnect 连接创建为 VPN,以将数据从我的公司网络传输到 RDS 实例。连接并不便宜,我当然不需要一直打开它。大概每天10分钟就够了。有没有办法使用 Lambda 函数来安排 VPN 连接的连接/断开事件,就像使用 Python 的 Boto3 库启动/停止 EC2 或 RDS 实例一样,如下所示:

def handler(event, context):

    ec2 = boto3.client('ec2', region_name=region)

    ec2.start_instances(InstanceIds=instances)

虽然 Boto3 支持DirectConnect,但它似乎没有任何方法可以打开和关闭连接。有没有办法控制连接?

4

1 回答 1

0

处理程序代码将如下所示

def handler(event, context):
    client = boto3.client('directconnect')
    response = client.delete_connection(
        connectionId='string'
     )

此 lambda 只会删除按端口小时和数据传输费用收费的连接。

如果您有定义的时间窗口,您可以创建 lambda 并使用触发器自动创建和删除连接。

文档可在此处获得:

http://boto3.readthedocs.io/en/latest/reference/services/directconnect.html#DirectConnect.Client.delete_connection

编辑1:

将 LAG 与连接关联和解除关联:

http://boto3.readthedocs.io/en/latest/reference/services/directconnect.html#DirectConnect.Client.associate_connection_with_lag

http://boto3.readthedocs.io/en/latest/reference/services/directconnect.html#DirectConnect.Client.disassociate_connection_from_lag

您需要检查在删除所有连接时是否不会产生相关的端口费用。这样您就可以维护您的connectionid。

或者,您可以将您的 connectionid 作为参考存储在数据库中,并在需要时从那里提取。

希望能帮助到你。

于 2017-09-23T01:50:21.153 回答