본문 바로가기

Terraform35

[AWS and 테라폼: Infrastructure as Code] FUNCTIONS 활용하기 Terraform fuction 사용하기 Terraform 을 프로그래밍 언어라 볼 수 는 없지만, 그래도 언어적 특성과 장점을 가지고 있다. 그렇기 때문에 프로그래밍처럼 기본 내장된 다양한 fuction 사용할 수 있다. 사용자는 이 함수를 이용하여 리소스를 보다 효율적으로 생산할 수 있고, 간략하게 코드를 만들 수 있다. 현재는 built-in 함수만 지원하고 있다. Functions Numeric functions String functions Collection functions Encoding functions Filesystem functions Date and Time functions Hash and Crypto functions IP Network functions Type Convers.. 2024. 1. 21.
[AWS and 테라폼: Infrastructure as Code] VARIABLES 활용하기 Terraform variables 사용하기 Terraform 은 HCL Syntax를 가진 언어다. 언어적 특성을 가지고 있기 때문에 당연히 변수를 정의하고 주입해서 사용할 수 있다. Variable Types string number bool Complex variable types list() set() map() object({ = , … }) tuple([, …]) 변수를 정의하기 variables.tf 변수의 정의는 .tf 파일 어느 곳에서나 정의는 가능하다. 보통 variables.tf 파일을 만들어 해당 파일에 정의한다. variable "image_id" { type = string } variable "availability_zone_names" { type = list(string) .. 2024. 1. 21.
[AWS and 테라폼: Infrastructure as Code] Backend 활용하기 Terraform state Terraform state는 terraform apply를 하는 경우 리소스가 생성이 되고 난 후에 terraform .tfstate라는 파일이 생성된다. 즉, 내가 실행한 “apply의 결과”를 저장해 놓은 “상태” 현재 인프라의 상태를 의마하는 것은 아니다. state는 원격 저장소인 backend에도 저장할 수 있다. Terraform Backend 란? Terraform Backend 는 Terraform의 state file을 어디에 저장을 하고, 가져올지에 대한 설정. 기본적으로는 로컬 스토리지에 저장을 하지만, 설정에 따라서 s3, consul, etcd 등 다양한 “Backend type“을 사용할 수 있다. consul은 Hashicorp의 솔루션 Terra.. 2024. 1. 21.
[AWS and 테라폼: Infrastructure as Code] AWS IAM 실습 IAM user 기본 생성 IAM User를 생성할 때는 aws_iam_user 리소스를 사용하면되고, 필수적으로 필요한 설정은 name 이다. provider "aws" { region = "us-east-2" } resource "aws_iam_user" "ihwoo" { name = "ihwoo" } 위 Terraform 코드를 통해 IAM user 를 생성해주었다고 하더라도, console 을 접속할 수 는 없다. 생성한 user의 password 가 설정되어있지 않기 때문. 비밀번호와 MFA는 직접 console을 통해 설정해야 한다. 혹은 AWS CLI 를 통해서 자동화를 진행할 수 도 있다. 물론 테라폼을 통해 설정을 할 수 도 있으나, aws_iam_user_login_profile 을 사.. 2024. 1. 21.