Как отключить 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 в качестве ссылки в БД и извлекать оттуда при необходимости.
Надеюсь, поможет.