카테고리 없음

테라폼 2일차

됵이 2022. 9. 18. 02:26

테라폼 설치(centos7)

yum update 
#yum 을 업데이트 해준다. 
yum install wget unzip
#wget unzip 을 다운로드 해준다. 
sudo wget https://releases.hashicorp.com/terraform/0.12.2/terraform_0.12.2_linux_amd64.zip
#개발자 웹 사이트에서 Terraform을 다운로드 한다. 
sudo unzip ./terraform_0.12.2_linux_amd64.zip –d /usr/local/bin
#다운로드 한 파일을 추출 한다. 
terraform –v
#테라폼 명령어가 잘 먹히는지 확인 

mkdir sample
cd sample
vim test.tf
provider "aws" {
  region     = "us-west-2"
  access_key = "access_key"
  secret_key = "secret_key"
}
입력 저장 후 빠져 나온다. 
terraform init
#테라폼 초기화
terraform plan
#플랜 작성?
terraform apply
#AWS 서비스에 Terraform 연결 
terraform destroy
#인스턴스 삭제

 

테라폼 설치(windows)

https://www.terraform.io/

 

Terraform by HashiCorp

Terraform is an open-source infrastructure as code software tool that enables you to safely and predictably create, change, and improve infrastructure.

www.terraform.io

1. 테라폼 홈페이지에서 windows용을 설치 해준다. 

2. .zip 파일을 받아 .exe 파일을 C 드라이브에 terraform 파일을 만들어서 넣어준다. 

3. 환경변수 설정을 해준다. 

환경변수 설정

4. VSCODE 에서 Terraform 확장자를 설치 해준다. 

provider "aws" {
  region = "us-east-2"
}

output "name" {
    value = "hi"
}

provider : aws 를 사용해서 연결 하겠다. 

리전은 us-east-2를 사용 

출력 메세지 hi를 출력해라

provider "aws" {
  region = "us-east-2"
  access_key = ""
  secret_key = ""
}
resource "aws_instance" "example" {
  ami = "ami-0c55b159cbfafe1f0"
  instance_type = "t2.micro"
}

위의 명령어는 aws 를 사용하고 aws 계정에 대한 access 정보를 작성 해준다. 

resource 에 aws_instance 를 만들며 이것에 대한 별칭으로는 example 을 사용한다. 

ami 는 아래 그림에 보이는 os의 ami를 말하며 type은 인스턴스 유형의 정보를 적어준다. 

 

 

 

 

 

1. 프로비저닝 Provisioning
어떤 프로세스나 서비스를 실행하기 위한 준비 단계
네트워크나 컴퓨팅 자원을 준비하는 작업과 준비된 컴퓨팅 자원준비하는 단계

2. 프로바이더 Provider
테라폼과 외부 서비스를 연결해주는 기능을 하는 모듈
ex) 테라폼으로 aws 서비스의 컴퓨팅 자원을 생성하기 위해선 aws프로바이더를 먼저 셋업

3. 리소스 Resource
특정 프로바이더가 제공해주는 조작 가능한 대상의 최소 단위
ex)AWS 프로바이더는 aws_instance 리소스 타입을 제공

4. HCL : Hashicorp Configuration Language
테라폼에서 사용하는 설정 언어 확장자는.tf

5.계획 : plan
테라폼 프로젝트 디렉터리 아래의 모든 .tf 파일의 내용을 실제로 적용 가능한지 확인하는 작업을 계획
6.적용 : Apply
테라폼 프로젝트 디렉터리 아래의 모든 .tf 파일의 내용대로 리소스를 생성, 수정, 삭제

 

앞으로 terraform은 github에 올리도록 하겠습니다. 

https://github.com/CGD93/terraform.git