INTEGRITY Документация

AWS

В этом руководстве рассказано, как подключить виртуальную машину Amazon Web Services (AWS) к Cloudflare с помощью нашего облегчённого коннектора, cloudflared.

Мы развернем:

Предварительные требования

Чтобы выполнить следующую процедуру, вам нужно будет:

1. Создайте инстанс VM в AWS

  1. В консоли AWS перейдите в раздел Вычисления > EC2 > Экземпляры

  2. Выберите Запустить экземпляр.

  3. Назовите VM-инстанс. В этом примере мы назовём его http-test-server.

  4. Для *Amazon Machine Image (AMI) выберите нужную операционную систему и характеристики. В этом примере мы будем использовать Ubuntu Server 24.04 LTS (HVM), SSD Volume Type.

  5. Для Тип экземпляра:, вы можете выбрать t2.micro также предоставляется на бесплатном тарифе.

  6. В Пара ключей (вход), создайте новую пару ключей для использования с SSH. Вам потребуется скачать .pem файл на локальную машину.

  7. В Настройки сети, выберите Создать группу безопасности.

  8. Включите следующие правила Security Group:

    • Разрешить SSH-трафик от My IP и запретите публичный доступ к инстансу.
    • Разрешить HTTPS-трафик из интернета
    • Разрешить HTTP-трафик из интернета
  9. Выберите Запустить экземпляр.

  10. После того как экземпляр запущен и работает, перейдите в Экземпляры сводную страницу и скопируйте её Публичный IPv4 DNS имя хоста (например, ec2-44-202-59-16.compute-1.amazonaws.com).

  11. Чтобы войти в инстанс по SSH, откройте терминал и выполните следующие команды:

cd Downloads
chmod 400 "YourKeyPair.pem"
ssh -i "YourKeyPair.pem" [email protected]
  1. Запустите sudo su чтобы получить полные права администратора на инстансе.

  2. Для тестирования вы можете развернуть базовый веб-сервер Apache на порту 80:

apt update

apt -y install apache2

cat <<EOF > /var/www/html/index.html
<html><body><h1>Hello Cloudflare!</h1>
<p>This page was created for a Cloudflare demo.</p>
</body></html>
EOF
  1. Чтобы проверить, что сервер Apache запущен, откройте браузер и перейдите по адресу http://ec2-44-202-59-16.compute-1.amazonaws.com (обязательно подключайтесь через http, а не https). Вы должны увидеть Hello Cloudflare! тестовая страница.

2. Создайте Cloudflare Tunnel

Создайте Cloudflare Tunnel и запустите его на инстансе AWS.

  1. Войдите в панель управления Cloudflare и перейдите в Сеть > Tunnels.

    Перейдите в Tunnels ↗
  2. Выберите Создать туннель.

  3. Введите имя туннеля (например, aws-tunnel).

  4. Выберите Create Tunnel.

  5. Выберите операционную систему (нажмите Debian для вашего экземпляра AWS). Скопируйте команду установки и выполните её на вашем экземпляре AWS.

  6. Дождитесь подключения туннеля. После установления соединения выберите Продолжение.

3. Подключитесь, используя общедоступное имя хоста

Опубликованные приложения позволяют любому пользователю интернета подключаться к HTTP-ресурсам, размещённым в вашем виртуальном частном облаке (VPC). Чтобы добавить опубликованное приложение для вашего Cloudflare Tunnel:

  1. На Маршруты вкладке выберите Добавить маршрут, затем выберите Опубликованное приложение.
  2. Введите имя хоста приложения (например, hellocloudflare.<your-domain>.com).
  3. В разделе Сервис, введите http://localhost:80.
  4. Выберите Добавить маршрут.
  5. Чтобы протестировать, откройте браузер и перейдите в http://hellocloudflare.<your-domain>.com. Вы должны увидеть Hello Cloudflare! тестовая страница.

При желании вы можете создание приложения Access чтобы управлять тем, кто может получить доступ к сервису.

4. Подключитесь с помощью частного IP-адреса

Маршруты приватной сети позволяют пользователям подключаться к вашему виртуальному частному облаку (VPC) с помощью Cloudflare One Client. Чтобы добавить приватный сетевой маршрут для Cloudflare Tunnel, выполните следующее:

  1. В панели управления Cloudflare перейдите в Сеть > Маршруты.

    Перейдите в Маршруты ↗
  2. Выберите Создать маршрут > Tunnel CIDR. Выберите только что созданный туннель, введите Частный IP-адрес вашего экземпляра AWS (например, 172.31.19.0), и выберите Создать маршрут. При необходимости вы можете расширить диапазон IP-адресов позже.

  3. В вашем Конфигурация Split Tunnel, убедитесь, что частный IP-адрес маршрутизируется через Cloudflare One Client. Например, если вы используете Split Tunnels в Exclude режиме удалите 172.16.0.0/12. Рекомендуем повторно добавить IP-адреса, которые явно не используются вашим экземпляром AWS.

    Чтобы определить, какие IP-адреса нужно добавить обратно, вычтите IP-адреса ваших инстансов AWS из 172.16.0.0/12:

    Добавьте результаты обратно в список режима Split Tunnel Exclude.

  4. Чтобы протестировать на устройстве пользователя:

    1. Войдите в Cloudflare One Client.
    2. Откройте окно терминала и подключитесь к сервису, используя его частный IP-адрес:
    curl 172.31.19.0
    <html><body><h1>Hello Cloudflare!</h1>
    <p>This page was created for a Cloudflare demo.</p>
    </body></html>

При желании вы можете создать сетевые политики Gateway чтобы управлять тем, кто может получить доступ к инстансу AWS через его частный IP-адрес.

Настройка межсетевого экрана

Чтобы защитить свой экземпляр AWS, можно настроить Правила Security Group чтобы запретить весь входящий трафик и разрешить только исходящий трафик к IP-адреса Cloudflare Tunnel. Все правила Security Group являются разрешающими. Трафик, не соответствующий ни одному правилу, блокируется. Поэтому вы можете удалить все входящие правила и оставить только нужные исходящие.

После настройки правил Security Group убедитесь, что доступ к сервису через Cloudflare Tunnel по-прежнему возможен через его публичное имя хоста или частный IP-адрес. Сервис больше не должен быть доступен извне Cloudflare Tunnel, например, если вы перейдёте по адресу http://ec2-44-202-59-16.compute-1.amazonaws.com тестовая страница больше не должна загружаться.