Как отключить Amazon VPN с помощью Lambda

Я хочу создать подключение Amazon DirectConnect в качестве VPN для передачи данных из сети моей компании в экземпляр RDS. Соединение не дешевое, и мне, конечно, не нужно открывать его все время. Наверное, достаточно всего 10 минут каждый день. Есть ли способ запланировать событие подключения / отключения VPN-подключения, используя функцию Lambda, как запуск / остановка экземпляра EC2 или RDS, как показано ниже, с помощью библиотеки Python Boto3:

def handler(event, context):

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

    ec2.start_instances(InstanceIds=instances)

Хотя Boto3 поддерживает DirectConnect, у него, похоже, нет методов, которые бы включали и выключали соединение. Есть ли способ контролировать соединение?

1 ответ

Код обработчика будет выглядеть так

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

Эта лямбда просто удалит соединение, за которое взимается плата за порт и плата за передачу данных.

Вы можете создать лямбду и автоматизировать с помощью триггера для создания и удаления соединения, если у вас есть определенное временное окно.

Документация доступна здесь:

http://boto3.readthedocs.io/en/latest/reference/services/directconnect.html

РЕДАКТИРОВАТЬ 1:

Ассоциировать и разъединять LAG с подключением:

http://boto3.readthedocs.io/en/latest/reference/services/directconnect.html

http://boto3.readthedocs.io/en/latest/reference/services/directconnect.html

Необходимо проверить, не взимается ли плата за соответствующий порт при удалении всех соединений. Таким образом, вы можете поддерживать ваш connectionid.

Кроме того, вы можете сохранить ваш connectionid в качестве ссылки в БД и извлекать оттуда при необходимости.

Надеюсь, поможет.

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