Загружаем архив для Windows 10 - https://terraform.io/downloads
В поиске ищем переменные окружение "Edit the system environment variables" > "Environment variables"
В переменных окружения можно добавить путь, который будет виден только для нашего пользователя, или всем в системе. 
Выбрать "Path" > "Edit" > "New", добавить путь, куда был распакован terraform.exe и нажать Оk.
Проверим в терминале
echo %PATH%
https://registry.terraform.io/providers/hashicorp/aws/latest/docs
AWS_SECRET_ACCESS_KEY
Если объект был ранее создан через Web интерфейс AWS, его можно импортировать в terraform.
 
terraform -version 
terraform --help
https://registry.terraform.io/providers/hashicorp/aws/latest/docs
Изначально настроим AWS CLI согласно документации AWS, чтобы в terraform можно было добавить provider`а, region и имя профиля ($AWS_CLI_PROFILE_NAME) из ранее настроенного AWS CLI для подключения к нужному аккаунту:
terraform {
 required_providers {
 aws = {
 source = "hashicorp/aws"
 version = "4.34.0"
 }
 }
}
provider "aws" {
region = "us-east-1"
profile = "$AWS_CLI_PROFILE_NAME"
}Другой вариант - задать значения в переменных окружения операционной системы:AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY
Если объект был ранее создан через Web интерфейс AWS, его можно импортировать в terraform.
Например, если хотим импортировать EC2 Instance, то можем создать отдельный файл ec2.tf в нашем каталоге, где размещаются и другие файлы с кодом terraform со следующим содержанием:
resource "aws_instance" "ec2" { 
}
В Web интерфейса находим id-номер (i-938456345723532) EC2 Instance и добавляем:
terraform import aws_instance.ec2 i-938456345723532
После чего нужно запустить комманду: "terraform show", чтобы увидеть параметры объекта в AWS и заполнить их в коде terraform для ранее обозначенного ресурса aws_instance с именем ec2, а так же тестируя командой terraform plan почистить некоторые лишние параметры.
Если необходимо какой-либо объект удалить из state файла terraform`a, тогда можно использовать следующие команды:
terraform state list
data.aws_ami.latest-amazon-linux-image
aws_default_route_table.main-rtb
aws_default_security_group.default-sg
aws_instance.myapp-server
aws_instance.myapp-server-four
aws_instance.myapp-server-three
aws_instance.myapp-server-two
aws_internet_gateway.myapp-igw
aws_key_pair.ssh-key
aws_subnet.myapp-subnet-1
aws_vpc.myapp-vpc
terraform state rm aws_instance.myapp-server-four
Removed aws_instance.myapp-server-four
Successfully removed 1 resource instance(s).
terraform state list
data.aws_ami.latest-amazon-linux-image
aws_default_route_table.main-rtb
aws_default_security_group.default-sg
aws_instance.myapp-server
aws_instance.myapp-server-three
aws_instance.myapp-server-two
aws_internet_gateway.myapp-igw
aws_key_pair.ssh-key
aws_subnet.myapp-subnet-1
aws_vpc.myapp-vpc





Комментарии
Отправить комментарий