Введение: Все AWS-аккаунты, созданные после 04.12.2013, поддерживают только EC2-VPC. Amazon VPC предлагает несколько вариантов для установления соединения между EC2-инстансами в VPC и вашей собственной сетью. Как описано в документации в разделе: Amazon Virtual Private Cloud → Руководство пользователя → VPN Connections, можно создать подключение User Network–to–Amazon VPC Connectivity Options с использованием: AWS hardware VPN, AWS Direct Connect, AWS VPN CloudHub, Software VPN. Для более подробной информации ознакомьтесь с whitepaper по Amazon Virtual Private Cloud Connectivity Options. Здесь мы рассмотрим четвертый вариант — Software VPN. Если хотите использовать другой вариант, прочитайте официальную документацию: Amazon Virtual Private Cloud Documentation или задайте вопрос на официальном форуме Forum: Amazon Virtual Private Cloud. Также на форуме Mikrotik можно найти рабочие примеры и вопросы без ответов: Amazon AWS VPN – A Working Configuration Example and Bug, Amazon VPC and Mikrotik IPSec Tunnel, Connecting to Amazon Virtual Private Cloud - VPC, IPSec tunnel between RouterOS and Amazon AWS VPC, IPSec VPN to Amazon AWS VPC, AWS VPC Issues, IPSEC VPN to Amazon AWS VPC (for EC2).
Требования: Amazon VPC. Amazon EC2-инстанс с CHR RouterOS. Amazon EC2-инстанс, который будет доступен через VPN.
Установка: Инструкции по установке можно найти в Wiki: CHR AWS installation. Согласно Wiki, на данный момент CHR доступен только в регионах us-east1 (Северная Вирджиния, ID=ami-3f486355) и eu-west1 (Европа (Ирландия), ID=ami-bef141cd). Выберите подходящий регион и запустите новый инстанс, нажав кнопку “Launch instance”:
На первом шаге выберите AMI из Community AMIs, поиск по названию “CHR RouterOS” или по AMI ID. Тип инстанса выбирайте по вашим потребностям. Выберите “Network”, “Subnet” и “IP” (например, X.X.X.254). Установите размер “Root Volume” 1 ГБ, тип — “Magnetic”. Задайте тег для инстанса. Настройте доступ, отредактировав “Security Group”. Проверьте настройки инстанса и запустите его.
После установки можно привязать Elastic IP к инстансу, чтобы ваш CHR RouterOS был доступен по статическому IP. После этого можно подключиться к CHR RouterOS по SSH, используя ключ, выбранный при запуске, установить пароль администратора и получить доступ к роутеру через Winbox.
Конфигурация: Теперь ваш CHR RouterOS почти готов работать в качестве VPN-шлюза. Можно настроить любой подходящий тип VPN. На втором EC2-инстансе, который должен быть доступен через VPN, добавьте статический маршрут в вашу сеть через CHR RouterOS.
Ограничения: При использовании IPSec нужно учитывать, что ваш CHR RouterOS находится за AWS NAT. Это обязательно нужно учесть при настройке политики IPSec и при создании peer.
Связанные посты на форумах: Feature Request: IPSec: allow manual override of IKE ID, IPSEC behind nat, Help with IPSec NAT-Traversal, L2TP/IPsec policy autogeneration when both roadwarrior client and RouterOS device behind NAT issue, Cloud Hosted Router: L2TP/IPsec server behind 1:1 NAT on Amazon EC2, Our IPSec with Cisco ASA started only with disabled “NAT-Traversal” and internal “SA Src.Address”.
Тесты: Мы запустили nano-инстанс на магнитном диске. Настроили IPSec с Cisco ASA 5505 на ASA OS 8.0(4) с DH5, SHA, AES128. Получили скорость 50-60 Мбит/с при загрузке CPU около 10% на CHR RouterOS, по протоколу SMB.
Цены:
Инстанс: nano — $0.0065 в час = $4.84 в месяц.
Диск: 1 ГБ — $0.05 за ГБ-месяц выделенного хранилища = $0.05.
$0.05 за миллион I/O запросов.
Elastic IP: бесплатно для одного Elastic IP, связанного с запущенным инстансом.
Трафик: согласно вашему использованию.
Исходящий трафик с Amazon EC2 в Интернет: до 10 ТБ/месяц — $0.09 за ГБ.
Входящий трафик в Amazon EC2 из Интернета: бесплатно.
Итого примерно $4.9 в месяц (без учета трафика).
Разовый платеж за лицензию CHR — $45 (1 Гбит).
Сравнение с VPC VPN Gateway: $0.05 за VPN Connection-час = $36. В итоге около $36 в месяц (без учета трафика).
Выводы: Настроить VPN между EC2-инстансами и вашей локацией с помощью CHR RouterOS гораздо проще. Использование CHR RouterOS дешевле, чем AWS VPN Gateway. Кроме того, CHR RouterOS дает полный контроль над VPN-шлюзом и доступ к логам отладки VPN. Этот CHR RouterOS также можно использовать как NAT-шлюз вместо отдельной платной AWS NAT Gateway. CHR RouterOS может использоваться и в других сценариях подключения: “Amazon VPC–to–Amazon VPC Connectivity” или “Internal User-to-Amazon VPC Connectivity”.
Спасибо!
Требования: Amazon VPC. Amazon EC2-инстанс с CHR RouterOS. Amazon EC2-инстанс, который будет доступен через VPN.
Установка: Инструкции по установке можно найти в Wiki: CHR AWS installation. Согласно Wiki, на данный момент CHR доступен только в регионах us-east1 (Северная Вирджиния, ID=ami-3f486355) и eu-west1 (Европа (Ирландия), ID=ami-bef141cd). Выберите подходящий регион и запустите новый инстанс, нажав кнопку “Launch instance”:
На первом шаге выберите AMI из Community AMIs, поиск по названию “CHR RouterOS” или по AMI ID. Тип инстанса выбирайте по вашим потребностям. Выберите “Network”, “Subnet” и “IP” (например, X.X.X.254). Установите размер “Root Volume” 1 ГБ, тип — “Magnetic”. Задайте тег для инстанса. Настройте доступ, отредактировав “Security Group”. Проверьте настройки инстанса и запустите его.
После установки можно привязать Elastic IP к инстансу, чтобы ваш CHR RouterOS был доступен по статическому IP. После этого можно подключиться к CHR RouterOS по SSH, используя ключ, выбранный при запуске, установить пароль администратора и получить доступ к роутеру через Winbox.
Конфигурация: Теперь ваш CHR RouterOS почти готов работать в качестве VPN-шлюза. Можно настроить любой подходящий тип VPN. На втором EC2-инстансе, который должен быть доступен через VPN, добавьте статический маршрут в вашу сеть через CHR RouterOS.
Ограничения: При использовании IPSec нужно учитывать, что ваш CHR RouterOS находится за AWS NAT. Это обязательно нужно учесть при настройке политики IPSec и при создании peer.
Связанные посты на форумах: Feature Request: IPSec: allow manual override of IKE ID, IPSEC behind nat, Help with IPSec NAT-Traversal, L2TP/IPsec policy autogeneration when both roadwarrior client and RouterOS device behind NAT issue, Cloud Hosted Router: L2TP/IPsec server behind 1:1 NAT on Amazon EC2, Our IPSec with Cisco ASA started only with disabled “NAT-Traversal” and internal “SA Src.Address”.
Тесты: Мы запустили nano-инстанс на магнитном диске. Настроили IPSec с Cisco ASA 5505 на ASA OS 8.0(4) с DH5, SHA, AES128. Получили скорость 50-60 Мбит/с при загрузке CPU около 10% на CHR RouterOS, по протоколу SMB.
Цены:
Инстанс: nano — $0.0065 в час = $4.84 в месяц.
Диск: 1 ГБ — $0.05 за ГБ-месяц выделенного хранилища = $0.05.
$0.05 за миллион I/O запросов.
Elastic IP: бесплатно для одного Elastic IP, связанного с запущенным инстансом.
Трафик: согласно вашему использованию.
Исходящий трафик с Amazon EC2 в Интернет: до 10 ТБ/месяц — $0.09 за ГБ.
Входящий трафик в Amazon EC2 из Интернета: бесплатно.
Итого примерно $4.9 в месяц (без учета трафика).
Разовый платеж за лицензию CHR — $45 (1 Гбит).
Сравнение с VPC VPN Gateway: $0.05 за VPN Connection-час = $36. В итоге около $36 в месяц (без учета трафика).
Выводы: Настроить VPN между EC2-инстансами и вашей локацией с помощью CHR RouterOS гораздо проще. Использование CHR RouterOS дешевле, чем AWS VPN Gateway. Кроме того, CHR RouterOS дает полный контроль над VPN-шлюзом и доступ к логам отладки VPN. Этот CHR RouterOS также можно использовать как NAT-шлюз вместо отдельной платной AWS NAT Gateway. CHR RouterOS может использоваться и в других сценариях подключения: “Amazon VPC–to–Amazon VPC Connectivity” или “Internal User-to-Amazon VPC Connectivity”.
Спасибо!