Terrform7 [terraform] Terraform 모범사례 1. State File 관리Terraform은 인프라의 상태를 추적하기 위해 state file을 사용합니다. 이 파일은 인프라 리소스의 현재 상태를 저장하며, Terraform이 변경 사항을 비교하고 적용하는 데 중요한 역할을 합니다.state file은 보안이 중요한 파일이므로 직접 버전 관리 시스템에 저장하지 않고, 접근 권한을 철저히 관리해야 합니다.2. State File 공유여러 팀원이 협업할 때는 state file을 중앙에서 관리하고 공유해야 합니다.S3(AWS)나 Google Cloud Storage를 사용하여 원격 저장소로 설정하고, 팀이 동일한 상태 파일을 사용할 수 있게 설정합니다.원격 백엔드를 설정하여 state file을 안전하게 저장하고 쉽게 공유할 수 있습니다.3. Stat.. 2024. 11. 14. [terraform] terraform module( VPC) 사용 terraform varialbe -> moudel 방식 적용 Providor 정의 terraform { required_providers { aws = { source = "hashicorp/aws" version = ">= 5.6" # which means any version equal & above } } required_version = ">= 0.13"}provider "aws" { region = "ap-northeast-2" access_key = "" secret_key = ""} Module VPCmodule "vpc" { source = "terraform-aws-modules/vpc/aws" version = "5.15.0"} t.. 2024. 11. 13. AWS Terraform tfstate 파일 원격 관리(S3, DynamoDB) tfstate 저장할 S3 생성 및 dynamoDB 테이블 생성resource "aws_s3_bucket" "test-tfstate" { bucket = "evan-s3-bucket-tfstate"}resource "aws_s3_bucket_versioning" "test-versioning" { bucket = aws_s3_bucket.test-tfstate.id versioning_configuration { status = "Enabled" }}resource "aws_dynamodb_table" "terraform_state_lock" { name = "terraform-tfstate-lock" hash_key = "LockID" billing_mod.. 2024. 11. 11. Terraform VPC 생성 VPC란? 참조 : https://monta010.tistory.com/30 1. Custom VPC 생성 provider "aws"{ region = "ap-northeast-2" } resource "aws_vpc" "vpc-0-0-0-0" { cidr_block = "10.0.0.0/16" instance_tenancy = "default" enable_dns_hostnames = true tags = { Name = "vpc-0-0-0-0" } } 2. Public Subnet 및 Private Subnet 생성 resource "aws_vpc" "vpc-10-0-0-0" { cidr_block = "10.0.0.0/16" instance_tenancy = "default" enable_dns_h.. 2021. 8. 3. Terraform Application Load Balancer(ALB)생성 ALB 생성 1. Provider 작성 provider "aws" { region = "ap-northeast-2" } 2. ALB 전용 Security_Group 적용 resource "aws_security_group" "allow_alb" { name = "allow_alb" description = "Allow alb inbound traffic" vpc_id = var.vpc_id ingress { description = "alb from VPC" from_port = 0 to_port = 0 protocol = "tcp" cidr_blocks = ["0.0.0.0/0"] } egress { from_port = 0 to_port = 0 protocol = "-1" cidr_blocks = [.. 2021. 8. 2. Terraform EC2 생성 Terraform EC2 생성 1) Provider 설정 provider "aws" { region = "ap-northeast-2" } 2) EC2 AMI Instacne 및 type 설정 - AMI 설정 - Type 설정 resource "aws_instance" "web-2a"{ ami = "ami-0a0de518b1fc4524c" instance_type = "t2.micro" } 3) Terraform AWS 적용 1.1 terraform Project 초기화 # terraform init 1.2 terraform Project 계획 확인 - 작성한 코드를 실제 AWS에 생성이 가능한지 확인하는 작업 # terraform plan 1.3 terraform Project 리소스 적용 - 작성한 코.. 2021. 8. 2. Terraform 정의 Terraform Hashicorp에서 오픈소스로 개발중인 Infrastructure as Code(IaC) 관리 도구 입니다. AWS,GCP,Azure Cloud 서비스에 대해 인프라 자동화 툴 중 하나이며, 이는 단순 구문을 사용하여 여러 클라우드 및 온프레미스 데이터센터에서 인프라를 프로비져닝하고 구성 변경에 대한 대응으로 인프라를 안전하고 효율적으로 다시 프로비져닝 할 수 있습니다. Terraform 기본 명령어 및 프로세스 Terraform 기본 문법 - Document : https://registry.terraform.io/providers/hashicorp/aws/latest/docs - provider : 테라폼과 외부 서비스(AWS,GCP,Azure) 연결해주는 기능을 하는 모듈 > P.. 2021. 7. 28. 이전 1 다음