Thank you for reading this post, don't forget to subscribe!
В двух словах, EC2 (Elastic Compute Cloud) — это виртуальная машина у хостера AWS (Amazon Web Services). Попробуем подробнее рассмотреть процесс ее создания и последующего запуска на примере системы Ubuntu Server.
Мы должны быть зарегистрированы на сервисе — это делается в несколько шагов, если перейти по кнопке создать аккаунт AWS (Create an AWS Account).
В панели управления первым делом можно выбрать конкретный регион, в котором по умолчанию будут создаваться и работать виртуальные машины:
Мы должны увидеть список всех сервисов, предлагаемых компанией Амазон — выбираем EC2:
Находим оранжевую кнопку Launch instance и кликаем по ней — в открывшемся контекстном меню снова нажимаем по Launch instance:
Загрузится окно со списком операционных систем. Выбираем требуемую — в нашем примере, это Ubuntu Server 20.04:
* для удобства можно использовать строку поиска.
Также выбираем платформу, под которой будет запускаться операционная система и ее разрядность. Нажимаем Select:
* все современные системы, как правило, запускаем под 64-бит. Стандартная архитектура — x86.
На следующей странице мы увидим варианты для аппаратной составляющей сервера. Нам необходимо выбрать подходящий:
* где:
- vCPUs — количество виртуальных процессоров для виртуальной машины.
- Memory (GiB) — объем оперативной памяти в гигабайтах.
- Instance Storage (GB) — дисковое хранилище для экземпляра. У Amazon используется термин EBS или Elastic Block Store.
- EBS-Optimized Available — поддерживается ли для EBS оптимизация, благодаря которой дисковые накопители могут работать быстрее.
- Network Performance — указывает уровень производительности скорости передачи данных.
- IPv6 Support — есть ли поддержка IPv6.
После нажимаем по Next: Configure Instance Details:
Следующая страница предлагает большой набор опций для настройки виртуальной машины. Рассмотрим частями. Можно их, вообще, не трогать и оставить значения по умолчанию, а можно сделать настройку более тонкой.
Настраиваем Number of instances, Purchasing option, Network, Subnet, Auto-assign Public IP:
где:
- Number of instances — сколько запускать данных виртуальных машин одновременно.
- Purchasing option — возможность использовать спотовые виртуальные машины. Это такие экземпляры, которые запускаются по цене, установленной нами. Так можно получить серверы по сильно заниженной цене. Но если у Амазона закончатся свободные мощности, он просто уничтожит данные серверы. Поэтому данную возможность нужно применять для некритичных серверов без необходимости хранения на них важной информации.
- Network — выбираем сеть. По умолчанию создается Амазоном, но у нас есть возможность создать VPC с собственным диапазоном IP-адресов.
- Subnet — для выбранной сети может быть доступно несколько подсетей. Нам нужно выбрать подходящую.
- Auto-assign Public IP — способ привязки к нашей виртуальной машине IP-адреса. Полученный адрес будет использоваться до ее удаления. Также можно задать свой адрес с помощью EIP.
Спускаемся ниже и видим опции Placement group, Capacity Reservation, Domain join directory, IAM role:
* где:
- Placement group — позволяет запустить экземпляр в группе размещения, чтобы получить преимущества от большей избыточности или более высокой пропускной способности сети. Можно создать новую группу или выбрать ранее созданную.
- Capacity Reservation — резервирование емкости для экземпляров EC2 в определенной зоне доступности.
- Domain join directory — позволяет присоединить виртуальную машину к службе каталогов AWS Directory Service.
- IAM role — позволяет развернуть внутри виртуальных машин учетные записи из роли IAM.
Переходим к настройке CPU options, Shutdown behavior, Stop - Hibernate behavior, Enable termination protection, Monitoring, Tenancy, Elastic Inference:
* где:
- CPU options — количество ядер и потоков на ядро. Данные параметры нельзя изменить после запуска экземпляра EC2.
- Shutdown behavior — поведение экземпляра при завершении работы операционной системы. По умолчанию он останавливается, можно задать удаление.
- Stop - Hibernate behavior — в режиме гибернации экземпляр останавливается, а содержимое ОЗУ экземпляра сохраняется в корневом томе.
- Enable termination protection — позволяет защитить экземпляры от случайного завершения. После включения вы не сможете завершить работу этого экземпляра через API или Консоль управления AWS, пока защита завершения не будет отключена.
- Monitoring — позволяет отслеживать состояние экземпляра с помощью Amazon CloudWatch. По умолчанию используется бесплатный базовый мониторинг, при котором данные доступны за 5-минутные периоды. Вы можете включить подробный мониторинг, где данные доступны за 1-минутные периоды.
- Tenancy — мы можем настроить, чтобы наш экземпляр запускался на полностью выделенном физическом сервере. По умолчанию он запускается на общем сервере с другими виртуальными машинами.
- Elastic Inference — обеспечивает экономичное аппаратное ускорение.
Завершаем настройку:
* где:
- Enclave — защита и обработка высокочувствительных данных с помощью Nitro Enclaves.
- Metadata accessible — отключение доступа к метаданным вашего экземпляра.
- Metadata version — выбираем версию методанных.
- Metadata token response hop limit — число сетевых переходов, которые может пройти токен метаданных. По умолчанию 1. Максимум 64.
- User data — возможность запуска своего сценария настройки экземпляра после его запуска.
Идем дальше — кликаем по Next: Add Storage:
На следующей странице нам необходимо настроить дисковую подсистему:
* указываем размер диска в гигабайтах, тип носителя, должен ли диск полностью удаляться после удаления экземпляра, необходимо ли шифрование данных на диске.
Среди типов можно выбрать:
- GP2 — SSD диски с лимитом по скорости в 250 MiB/s и 16 000 операций в секунду.
- GP3 — SSD диски с лимитом по скорости в 1 000 MiB/s и 16 000 операций в секунду.
- IO1 — SSD диски со скоростью 1 000 MiB/s и 64 000 операций в секунду.
- IO2 — SSD диски повышенной надежности со скоростью 1 000 MiB/s и 64 000 операций в секунду.
- Magnetic — обычный HDD.
Также мы можем добавить дополнительные диски. Среди их типов будут также доступны sc1 и st1 — HDD диски соответственно 5400 и 7200 оборотов в минуту.
Кликаем по Nexr: Add Tags:
Теги могут оказаться полезными при работе с серверами из консоли или быстрого поиска. Для их добавления кликаем по кнопке Add Tag:
Добавляем столько тегов, сколько нам нужно:
… и кликаем по Next: Configure Security Group:
По сути, это правила брандмауэра на уровне AWS. Как минимум, нам стоит добавить порт для управления виртуальной машиной, например, SSH:
Нажимаем на Review and Launch:
Запускаем виртуальную машину, кликнув по Launch:
Необходимо создать криптографический ключ для экземпляра EC2:
* если мы ранее создавали ключ, мы можем выбрать его, а не создавать новый.
Кликаем по Launch Instances для запуска экземпляров виртуальных машин:
Для просмотра созданного экземпляра, кликаем по View Instances: