В этой статье я продемонстрирую, как вы можете создать VPC, подсети, маршрутные столы, группы безопасности и экземпляры, не выходя из терминала. После этого мы установим Apache на экземпляр, но это необязательно.
Оглавление
- Создайте VPC
- Создать публичные и частные подсети
- Создать интернет-шлюз для VPC
- Создайте упругий IP-адрес для Gateway NAT
- Создать шлюз NAT
- Создайте таблицу маршрута для каждой подсети
- Создать маршруты
- Ассоциированная таблица маршрута к подсети
- Создайте группу безопасности для VPC
- Создать ключ-пара
- Запустите экземпляр
- Начните экземпляр
Предварительные условия
- AWS аккаунт. Вы можете зарегистрироваться здесь и следуйте этим Учебное пособие в установке.
- AWS CLI. Вы можете настроить это, используя этот Учебное пособие и настроить его, используя это Статья Отказ
Если у вас есть эти два настроены, то вы хотите пойти. Теперь давайте начнем!
Шаг 1 — Создайте VPC
VPC (виртуальное частное облако) — это безопасное и изолированное частное облако, размещенное в общедоступной облачной среде. С VPC вы можете настроить подсети, диапазоны IP, а также определять правила для ваших услуг.
Чтобы создать VPC, откройте свой терминал и введите следующую команду:
aws ec2 create-vpc --cidr-block 10.0.0.0/16
Ваш терминал должен ответить с группой информации об этой новой VPC, который вы только что создали. Часть этой информации должна быть VPC я бы.
Вы можете решить добавить тег на свой VPC, чтобы легко идентифицировать его, как только вы начнете иметь несколько VPC, чтобы сделать это, запустите команду ниже:
aws ec2 create-tags --resources--tags Key= ,Value=
CIDR обозначает Бесцветный междоместный маршрут Отказ
Шаг 2 — Создать публичные и частные подсети
Подсеть (подсекание) разбивает большие сети в группу меньших взаимосвязанных сетей, чтобы уменьшить застой для пробки и повысить эффективность маршрутизации.
Мы собираемся создать две подсети, частную и публичную подсеть, а затем прикрепите тег каждому, чтобы дифференцироваться между ними.
Чтобы создать публичную подсеть, выполните следующую команду:
aws ec2 create-subnet --vpc-id--cidr-block 10.0.1.0/24
Опять же, ваш терминал должен ответить с информацией о подсети, которую вы только что сделали. Выберите идентификатор подсети и добавьте тег к нему так, как мы сделали для себя VPC:
aws ec2 create-tags --resources--tags Key= ,Value=
И для частной подсети:
aws ec2 create-subnet --vpc-id--cidr-block 10.0.2.0/24
И для метка:
aws ec2 create-tags --resources--tags Key= ,Value=
Здесь также важно упомянуть, что команды для создания публичных и частных подсетей отличаются только в --cidr-Block
Параметр, поэтому обязательно обратите на это внимание.
Шаг 3 — Создание интернет-шлюза для VPC
Интернет-шлюз (IgW) просто используется для подключения VPC к Интернету, чтобы ресурсы VPC могут получить доступ к Интернету и получить доступ через Интернет.
Чтобы создать интернет-шлюз, используйте следующую команду:
aws ec2 create-internet-gateway
Если вы хотите, вы можете добавить тег в интернет-шлюз, который вы только что создали, как мы сделали это для всех других ресурсов:
aws ec2 create-tags --resources--tags Key= ,Value=
Затем прикрепите интернет-шлюз к VPC.
aws ec2 attach-internet-gateway --internet-gateway-id--vpc-id
Шаг 4 — Создайте упругий IP-адрес для Gateway NAT
Упругий IP-адрес является зарезервированным публичным адресом IPv4, который можно назначить экземпляру, чтобы включить связь с Интернетом.
Для того, чтобы мы создадим ворота NAT, нам понадобится упругий IP-адрес. Запустите следующую команду, чтобы создать упругий IP-адрес.
aws ec2 allocate-address --domain vpc
Шаг 5 — Создайте ворота NAT
Шлюз NAT (сетевой адресов) используется для включения экземпляров в частной подсети, чтобы подключиться к Интернету или другим услугам AWS, но предотвращает подключение Интернета к этим экземплярам.
Чтобы создать шлюз NAT, нам нужно добавить публичную подсеть, в которой ворота NAT будет находиться, а также ассоциировать упругий IP-адрес с шлюзом NAT. Запустите следующую команду, чтобы создать шлюз NAT.
aws ec2 create-nat-gateway --subnet-id--allocation-id
Затем добавьте тег в шлюз NAT.
aws ec2 create-tags --resources--tags Key= ,Value=
Шаг 6 — Создайте таблицу маршрута для каждой подсети
Таблица маршрута содержит набор правил, которые используются для определения того, где будет направлен сетевой трафик от подсети или интернет-шлюза.
Теперь нам нужны две таблицы маршрута, один для каждой подсети. Таблицы маршрута будут созданы так же, но для каждого из них будут использоваться разные теги.
aws ec2 create-route-table --vpc-id
Добавьте тег на каждый из таблиц маршрута.
Вы можете пометить первый таблица маршрута как общественности.
aws ec2 create-tags --resources--tags Key= ,Value=
Затем пометите второй таблицу маршрута в качестве частного.
aws ec2 create-tags --resources--tags Key= ,Value=
Шаг 7 — Создание маршрутов
Теперь мы будем создавать маршруты для ранее созданных таблиц маршрута.
Сначала мы приложим таблицу маршрута, созданной для публичной подсети до интернет-шлюза. Маршрут соответствует всем трафику IPv4 (0,0.0.0.0/0) и направляет его к указанному интернет-шлюзу.
aws ec2 create-route --route-table-id--destination-cidr-block 0.0.0.0/0 --gateway-id
Затем прикрепите таблицу маршрута, созданной для частной подсети в шлюз NAT. Маршрут соответствует всем трафику IPv4 (0.0.0.0/0) и направляет его в указанный шлюз NAT.
aws ec2 create-route --route-table-id--destination-cidr-block 0.0.0.0/0 --gateway-id
Шаг 8 — Ассоциированная таблица маршрута к подсети
Ассоциировать таблицу публичных маршрутов в публичную подсеть.
aws ec2 associate-route-table --route-table-id--subnet-id
Свяжите личную таблицу маршрута в частную подсеть.
aws ec2 associate-route-table --route-table-id--subnet-id
Шаг 9 — Создайте группу безопасности для VPC
Группы безопасности служат виртуальным брандмауэром для экземпляров для управления входящим и исходящим трафиком. Входящие правила контролируют входящий трафик к экземпляру, а исходящие правила контролируют исходящий трафик от экземпляра.
Мы можем создать группу безопасности со следующей командой:
aws ec2 create-security-group --group-name--description " " --vpc-id
Добавьте тег в группу безопасности.
aws ec2 create-tags --resources--tags Key= ,Value=
Затем мы указываем правила для созданной группы безопасности. Порт 80 позволяет входящий HTTP-доступ от всех адресов IPv4 и порта 22 позволяет входящий в SSH доступ к экземплярам из IPv4 IP-адресов в вашей сети.
aws ec2 authorize-security-group-ingress --group-id--protocol tcp --port 22 --cidr 0.0.0.0/0
aws ec2 authorize-security-group-ingress --group-id--protocol tcp --port 80 --cidr 0.0.0.0/0
Шаг 10 — Создайте пару ключей
Прежде чем мы сможем запустить экземпляр, нам нужна параллельная пара. Запустите следующую команду, чтобы создать пару ключей. CLI-KEYPAIR
это имя ключа и может быть изменено на любое имя. --Output Text
используется для трубы вашего закрытого ключа непосредственно в файл.
aws ec2 create-key-pair --key-name cli-keyPair --query 'KeyMaterial' --output text > cli-keyPair.pem
Если вы используете PowerShell, вместо этого запустите следующую команду.
aws ec2 create-key-pair --key-name cli-keyPair --query 'KeyMaterial' --output text | out-file -encoding ascii -filepath cli-keyPair.pem
Запустите следующую команду, чтобы защитить ключ.
chmod 400 cli-keyPair.pem
Шаг 11 — Запустите экземпляр
Экземпляр EC2 — это просто виртуальный сервер в облаке упругих вычислений Amazon (EC2), используемый для запуска приложений на инфраструктуру Amazon Web Services.
Давайте создадим экземпляр со следующей командой.
aws ec2 run-instances --image-id ami-0533f2ba8a1995cf9 --instance-type t2.micro --count 1 --subnet-id--security-group-ids --associate-public-ip-address --key-name cli-keyPair
Добавьте тег на созданный экземпляр.
aws ec2 create-tags --resources--tags Key= ,Value=
Прежде чем мы сможем распечатать название Public DNS, мы должны включить имя хоста DNS для VPC. От консоли AWS, перейдите в VPC. нажмите на Ваши VPCS Выберите VPC. Вы создали из AWS CLI и нажмите на Действия Отказ Из раскрывающегося списка нажмите Редактировать хосты DNS . Непосредственно под DNS хостов хостов Выберите Включить и нажмите на Сохранить изменения Отказ
Распечатайте экземпляр Публичное имя DNS со следующей командой:
aws ec2 describe-instances --instance-ids--query 'Reservations[].Instances[].PublicDnsName'
AMI-0533F2BA8A1995CF9
ID AMI используется при запуске экземпляра. T2.Micro
это тип экземпляра. Вы можете прочитать больше об этом здесь Отказ --count
используется для указания количества экземпляров для запуска.
Шаг 12 — Начало экземпляра
Войдите в экземпляр, используя:
ssh -i "cli-keyPair.pem" ec2-user@
EC2-пользователь
это имя пользователя AMI.
[Необязательно] После входа в систему установите веб-сервер Apache, используя:
sudo yum install httpd -y
Запустите веб-сервер со следующей командой:
sudo service httpd start
Теперь давайте перейдем в корневую папку Apache по умолчанию и создать index.html.
cd /var/www/html
Напишите в папку index.html, используя любой текстовый редактор по вашему выбору. Я буду использовать Vim.
sudo vim index.html
Введите любой текст.
Hello there!
Открыть http://public_ipv4_dns или http://public_ipv4 В вашем браузере, чтобы проверить его.
Вы можете узнать больше команд AWS CLI из этого Руководство Отказ
Если вы нашли эту статью полезную, пожалуйста, оставьте сердце или комментарий. Если у вас есть какие-либо вопросы, пожалуйста, дайте мне знать в разделе «Комментарий».
Кроме того, не забудьте следовать за мной за дополнительные статьи. Спасибо.
Оригинал: «https://dev.to/mariehposa/how-to-create-vpc-subnets-route-tables-security-groups-and-instances-using-aws-cli-14a4»