Поиск по сайту:

Создайте экземпляр EC2 на AWS с помощью Terraform


На этой странице

  1. Предварительные требования
  2. Запишите файлы конфигурации Terraform для создания экземпляра EC2.
  3. Создайте инстанс EC2 с помощью файлов конфигурации Terraform.

В этой статье мы увидим, как создать экземпляр EC2 с помощью Terraform. Прежде чем продолжить, я предполагаю, что вы знакомы с основами Terraform и экземпляра AWS EC2. Если вы хотите научиться создавать экземпляр EC2 из консоли AWS, нажмите здесь.

Предпосылки

  1. Основные сведения о Terraform.
  2. Terraform установлен в вашей системе.
  3. Аккаунт AWS (создайте, если у вас его нет).
  4. access_key и secret_key пользователя AWS IAM. (Нажмите здесь, чтобы узнать, как создать пользователя IAM с ключом доступа и секретным ключом в AWS, )

Что мы будем делать

  1. Запись файлов конфигурации Terraform для создания экземпляра EC2.
  2. Создайте EC2 с помощью файлов конфигурации Terraform.
  3. Удалите созданный экземпляр EC2 с помощью Terraform.

Напишите файлы конфигурации Terraform для создания экземпляра EC2.

Создайте специальный каталог, в котором вы сможете создавать файлы конфигурации terraform.

Используйте следующую команду, чтобы создать каталог и изменить на него текущий рабочий каталог.

mkdir terraform
cd terraform/

Я использую \vim\ в качестве редактора для записи в файлы, вы можете использовать редактор по вашему выбору и скопировать и вставить следующие конфигурации для создания переменных.tf, terraform.tfvars и main.tf

Создайте main.tf, который отвечает за создание EC2 на AWS. Этот файл main.tf будет считывать значения переменных из переменных.tf и terraform.tfvars.

vim main.tf
provider "aws" {
    access_key = "${var.access_key}"
    secret_key = "${var.secret_key}"
    region = "eu-west-3"
}

resource "aws_instance" "ec2_instance" {
    ami = "${var.ami_id}"
    count = "${var.number_of_instances}"
    subnet_id = "${var.subnet_id}"
    instance_type = "${var.instance_type}"
    key_name = "${var.ami_key_pair_name}"
} 

Измените значение региона, если вы хотите создать экземпляр в другом регионе, отличном от того, который я указал.

Создайте файл variable.tf, содержащий объявление и определение переменных.

vim variables.tf
variable "access_key" {
        description = "Access key to AWS console"
}
variable "secret_key" {
        description = "Secret key to AWS console"
}


variable "instance_name" {
        description = "Name of the instance to be created"
        default = "test"
}

variable "instance_type" {
        default = "t2.micro"
}

variable "subnet_id" {
        description = "The VPC subnet the instance(s) will be created in"
        default = "subnet-a5a72ce8"
}

variable "ami_id" {
        description = "The AMI to use"
        default = "ami-096b8af6e7e8fb927"
}

variable "number_of_instances" {
        description = "number of instances to be created"
        default = 1
}


variable "ami_key_pair_name" {
        default = "tomcat"
}

Создав файл Variables.tf, не забудьте изменить значения, присвоенные переменной. Вы должны изменить ami_key_pair_name, ami_id и subnet_id, так как они относятся к моей среде. Вы можете оставить остальную переменную как есть.

Создайте terraform.tfvars, который содержит определение переменных access_key и secret_key, определенных в приведенном выше файле. Мы сохранили объявление этих двух переменных в файле terraform.tfvars.

Следующие ключи необходимо изменить на ключи вашего пользователя IAM.

vim terraform.tfvars
access_key = "AKIAQ6GAIA5XIHHM2GJM"
secret_key = "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"

Теперь у вас должно быть 3 файла, а именно, variable.tf, terraform.tfvars и main.tf.

Создайте инстанс EC2, используя файлы конфигурации Terraform.

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

Первая используемая команда — terraform init. Эта команда загружает и устанавливает плагины для провайдеров, используемых в конфигурации. В нашем случае это AWS.

 terraform init

Вторая используемая команда — terraform plan. Эта команда используется для просмотра изменений, которые произойдут в инфраструктуре.

 terraform plan

Команда terraform apply создаст ресурсы на AWS, указанные в файле main.tf. Вам будет предложено внести свой вклад для создания ресурсов.

terraform apply

Выполнив приведенную выше команду, вы увидите, что в выходных данных был добавлен 1 новый ресурс, а 0 удалено.

Вы можете перейти в консоль AWS EC2, чтобы проверить, создан экземпляр EC2 или нет.

Удалите созданный экземпляр EC2 с помощью Terraform.

Если вам больше не нужны ресурсы, которые вы создали с помощью конфигурации, указанной в файле main.tf, вы можете использовать команду \terraform destroy\, чтобы удалить все эти ресурсы.

terraform destroy

Заключение

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