IaC

이슈 설명- 테라폼 코드 수정 없이, terraform apply 를 실행할 때마다 EC2 인스턴스와 관련된 리소스들이 삭제되고 새로 생성  문제의 코드# AWS에서 PEM 키 파일의 존재 여부를 확인하는 null_resourceresource "null_resource" "check_aws_key_pair" { provisioner "local-exec" { command = /dev/null; then echo 'key_pair_exists=true' > ${local.key_pair_check_file} else echo 'key_pair_exists=false' > ${local.key_pair_check_file} fi EOT } # [..
해당 포스팅은 테라폼 문법을 학습하며, 테스트 용으로 만든 포스팅입니다.실제 인프라 운영에 적용하기에 부적절합니다.해당 소스의 목적EC2 인스턴스를 생성하기 위해 필요한 PEM 키가 존재하는지 확인하고, 존재하지 않는 경우 새로운 키를 생성하여 사용하는 코드 파일 구조.├── main.tf├── provider.tf├── variables.tf├── locals.tf├── key_management.tf└── outputs.tf 주요 개념- Null Resource[null_resource 개념] null_resource는 Terraform에서 실제 인프라 자원을 생성하지 하지 않음. 주로 프로비저닝할 필요가 없는 작업에 사용.null_resource의 기본 동작은 terraform apply 명령어를 ..
Type설명String문자 시퀀스Number숫자 값Bool불리언 값(true 또는 false)Any모든 유형을 명시적으로 허용List()인덱스로 접근하는 순서가 있는 값의 집합Map()Key-Value 쌍으로 구성된 집합, 키로 접근 가능, 키값 기준 정렬Set()중복이 없는 값의 집합, 순서 없음.Object각 속성이 고유한 유형(Object)를 가지는 속성의 집합Tuple위치로 식별되는 일련의 요소, 각 요소는 고유한 유형을 가짐. # stringvariable "string" { type = string description = "var String" default = "myString"}# numbervariable "number_example" { description..
해당 포스팅은 리소스 그래프에 대해 학습을 하며 작성 중인 글입니다.부정확 내용이 존재할 수 있습니다.Resource Graph TF 코드출처 : https://github.com/SkeltonThatcher/aws-vpc-terraform파일 구조   |     provider.tf   |     vars.tf   L    vpc.tf## provider.tfprovider "aws" { access_key = "${var.aws_access_key}" secret_key = "${var.aws_secret_key}" region = "${var.aws_region}"}## vars.tfvariable "aws_access_key" {}variable "aws_secret_key" {}va..
1. terraform Workflow Command설명terraform init- Terraform 작업 디렉토리를 초기화- 필요한 프로바이더 플러그인을 다운로드하고 백엔드 설정을 구성terraform validate- Terraform 구성 파일의 유효성을 검사하는 명령어- 구성 파일, 구문 오류, 필요한 설정 포함 여부 확인terraform plan- 실행 계획을 생성- 구성 파일에서 정의된 원하는 상태를 달성하기 위해 테라폼이 수행할 작업을 보여줌terraform apply- 구성의 원하는 상태에 도달하기 위해 필요한 변경 사항을 적용- 리소스를 생성, 업데이트 또는 삭제terraform destroy- 구성에 정의된 모든 리소스를 삭제terraform refresh- 인프라의 실시간 상태로 상태..
1. 도전과제[도전과제1] EC2 웹 서버 배포 + 리소스 생성 그래프 확인Ubuntu 에 apache(httpd) 를 설치하고 index.html 생성(닉네임 출력)하는 userdata 를 작성해서 설정 배포 후 웹 접속 - 해당 테라폼 코드(파일)를 작성(옵션) userdata 부분은 별도의 파일을 참조할 수 있게 data 블록을 활용 할 것 → 아래 링크를 참고해보자https://developer.hashicorp.com/terraform/tutorials/provision/cloud-init참고 : hashicat-aws | hashicat-azure | hashicat-gcp | hashicat-ncloud → CSP 환경별 HashiCat 샘플 애플리케이션을 커스텀 해보셔도 됩니다!참고 : I..
1. 테라폼 환경 구성하기 - AWS Cloud9Cloud9을 선택한 이유AWS AccessKey, SecrectKey 유출 방지 Cloud9 실행02. Terraform - 개발환경 구축하기 테라폼 설치sudo yum install -y yum-utils shadow-utilssudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/AmazonLinux/hashicorp.reposudo yum -y install terraformAmazonLinux2023에서 CentOS/RHEL 저장소를 추가하는 경우 아래와 같은 에러가 발생합니다. Amazon Linux 저장소를 추가해야 정상 설치가 됩니다.  STS 권한 체크aws sts get..
가시다(gasida) 님이 진행하는 Terraform T101 4기 실습 스터디 게시글입니다.책 '테라폼으로 시작하는 IaC' 을 기반으로 스터디가 진행되며,포스팅에서 책 내용을 사용시, 반드시 출처를 남기고 있습니다.No 포스팅 제목1주차1-0. AWS Cloud9(AmazonLinux2023) 테라폼 환경 구성1-1. [도전과제1] EC2 웹 서버 배포1-2. terraform lifecycle2주차2-0. 테라폼 리소스 그래프2-1. 테라폼 변수 타입, 우선순위2-2. EC2 생성시 PEM Key 중복 체크 및 생성 코드2-3. always_run 이슈 - 코드 수정 없이 apply 실행시, 기존 리소스를 삭제하고 다시 생성하는 문제3주차
yeongki0944
'IaC' 카테고리의 글 목록