Terraform을 사용하여 AWS에서 EC2 인스턴스를 생성하는 방법

이 기사에서는 Terraform을 사용하여 EC2 인스턴스를 생성하는 방법을 살펴봅니다.

진행하기 전에 TerraformAWS EC2 Instance의 기본 사항을 숙지해야 합니다.



전제 조건


  • Terraform에 대한 기본적인 이해.
  • 시스템에 Terraform이 설치되었습니다.
  • AWS 계정(없는 경우 Create).

  • AWS IAM 사용자의 access_key 및 secret_key.

  • AWS EC2 인스턴스 생성을 위한 Terraform 구성 파일



    terraform 구성 파일을 만들 수 있는 전용 디렉터리를 만듭니다.

    다음 명령을 사용하여 디렉토리를 만들고 현재 작업 디렉토리를 변경합니다.

    mkdir terraform_ec2instance
    cd terraform_ec2instance/
    


    Visual Studio Code를 편집기로 사용하여 파일을 작성했습니다. 선택한 편집기를 사용하고 다음 구성을 복사하여 붙여넣어 variables.tf , terraform.tfvarsmain.tf를 만들 수 있습니다.

    main.tf



    AWS에서 EC2 생성을 담당하는 Createmain.tf. 이 main.tf는 variables.tfterraform.tfvars 에서 변수 값을 읽습니다.

    code main.tf
    



    provider "aws" {
        access_key = "${var.access_key}"
        secret_key = "${var.secret_key}"
        region = "us-east-1"
    }
    
    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}"
    } 
    


    변수.tf



    변수의 선언 및 정의를 포함하는 생성variables.tf.

    code 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 = "awsbuilder-demo"
    }
    
    variable "instance_type" {
            default = "t2.micro"
    }
    
    variable "subnet_id" {
            description = "The VPC subnet the instance(s) will be created in"
            default = "subnet-07ebbe60"
    }
    
    variable "ami_id" {
            description = "The AMI to use"
            default = "ami-09d56f8956ab235b3"
    }
    
    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 사용자의 키로 변경해야 합니다.

    code terraform.tfvars
    



    access_key = "Access Key of IAM User"
    secret_key = "Secret Key of IAM User"
    


    Terraform 구성 파일을 사용하여 EC2 생성


    terraform init 명령은 구성 내에서 사용되는 공급자용 플러그인을 다운로드하고 설치합니다. 우리의 경우에는 AWS 입니다.

    terraform init
    

    terraform plan 명령은 인프라에서 발생할 변경 사항을 확인하는 데 사용됩니다.

     terraform plan
    

    terraform apply 명령은 main.tf 파일에 언급된 AWS에 리소스를 생성합니다. 리소스를 생성하기 위한 입력을 제공하라는 메시지가 표시됩니다.

    terraform apply
    


    위의 명령을 실행하면 출력에서 ​​1개의 새 리소스가 추가되고 0이 제거된 것을 볼 수 있습니다.

    AWS EC2 콘솔로 이동하여 EC2 인스턴스가 생성되었는지 여부를 확인할 수 있습니다.

    Terraform을 사용하여 생성된 EC2 인스턴스 삭제



    main.tf 파일에 언급된 구성을 사용하여 생성한 리소스가 더 이상 필요하지 않은 경우 terraform destroy 명령을 사용하여 해당 리소스를 모두 삭제할 수 있습니다.

    terraform destroy
    


    제 글을 끝까지 읽어주셔서 감사합니다. 오늘 특별한 것을 배웠기를 바랍니다. 이 기사가 마음에 드셨다면 친구들과 공유해 주시고 저와 공유할 제안이나 생각이 있으시면 댓글 상자에 적어주세요.

    나를 따라와 당신의 생각을 공유,
    GitHub

    좋은 웹페이지 즐겨찾기