Рубрики
Uncategorized

Как создать VPC, подсеть, маршрутные столы, группы безопасности и экземпляры с использованием AWS CLI

В этой статье я продемонстрирую, как вы можете создать VPC, подсети, маршрутные столы, группы безопасности … Помечено с AWS, DevOps, Cloud, Tutorial.

В этой статье я продемонстрирую, как вы можете создать VPC, подсети, маршрутные столы, группы безопасности и экземпляры, не выходя из терминала. После этого мы установим Apache на экземпляр, но это необязательно.

Оглавление

  1. Создайте VPC
  2. Создать публичные и частные подсети
  3. Создать интернет-шлюз для VPC
  4. Создайте упругий IP-адрес для Gateway NAT
  5. Создать шлюз NAT
  6. Создайте таблицу маршрута для каждой подсети
  7. Создать маршруты
  8. Ассоциированная таблица маршрута к подсети
  9. Создайте группу безопасности для VPC
  10. Создать ключ-пара
  11. Запустите экземпляр
  12. Начните экземпляр

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

Если у вас есть эти два настроены, то вы хотите пойти. Теперь давайте начнем!

Шаг 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»