본문 바로가기

반응형

테라폼

[Terraform] 테라폼 terraform apply 명령어 terraform apply 명령어 : 승인 절차 없이 바로 적용 $ terraform apply --auto-approve -auto-approve - Skips interactive approval of plan before applying. This option is ignored when you pass a previously-saved plan file, because Terraform considers you passing the plan file as the approval and so will never prompt in that case. https://www.terraform.io/docs/cli/commands/apply.html Command: apply - Terraform by .. 더보기
[Terraform] 테라폼 디버깅 활성화 테라폼 디버깅 활성화 테라폼 계획 출력 $ terraform plan 테라폼 디버스(debug) 화면 출력 $ TF_LOG=DEBUG terraform plan 테라폼 디버스(debug) 파일 출력(terraform-debug.log 파일에 저장) $ TF_LOG=DEBUG TF_LOG_PATH=/tmp/terraform-debug.log terraform plan $ tail -10f /tmp/terraform-debug.log $ tail -10f /tmp/terraform-debug.log 2021-05-18T14:52:31.226+0900 [WARN] plugin.stdio: received EOF, stopping recv loop: err="rpc error: code = Unavailable.. 더보기
[Terraform] 테라폼 인스턴스(private) 생성 테라폼 인스턴스(private) 생성 메인 모듈 $ vim main.tf #####레디스 서버 module "redisserver" { source = "../../../modules/ec2/instance/private/" prefix = module.vpc.out_prefix suffix = module.vpc.out_suffix env = module.vpc.out_env region = module.vpc.out_region instance_count = 1 name = "redis1" group_name = "redis" #aws_amis = "ami-0742b4e673072066f" instance_type = "t3a.medium" disk_size = "8" key_name = "keype.. 더보기
[Terraform] 테라폼 인스턴스(public) 생성 테라폼 인스턴스(public) 생성 메인 모듈 $ vim main.tf #####웹 서버 module "webserver" { source = "../../../modules/ec2/instance/" prefix = module.vpc.out_prefix suffix = module.vpc.out_suffix env = module.vpc.out_env region = module.vpc.out_region instance_count = 2 name = "web1" group_name = "web" #aws_amis = "ami-03ca998611da0fe12" instance_type = "t3a.medium" disk_size = "8" key_name = "keypem" subnet_id = mo.. 더보기
[Terraform] 테라폼 리소스 태그 지정(tags) -2 테라폼 리소스 태그 지정(tags) key_pair 편집 - key_pair 모듈 $ vim key_pair.tf ###keypair 생성 resource "aws_key_pair" "this" { count = var.create ? 1 : 0 key_name = var.key_name public_key = var.public_key lifecycle { ignore_changes = [ tags.CreatedDate ] } tags = merge( var.customer_tags, { Name = "${var.suffix}-rds01" } ) } vars.tf 편집 - key_pair 모듈 변수 $ vim vars.tf variable "customer_tags" {} main.tf 편집 - 메인 .. 더보기
[Terraform] 테라폼 리소스 태그 지정(tags) -1 테라폼 리소스 태그 지정(tags) VPC 모듈 vpc.tf 편집 $ vim vpc.tf ###### # locals ###### locals { default_tags = { CreateUser = "terraform" Owner = "sangchul" Project = "blog" Service = "network" } } ###### # VPC ###### resource "aws_vpc" "this" { cidr_block = var.cidr_block enable_dns_hostnames = var.enable_dns_hostnames enable_dns_support = var.enable_dns_support instance_tenancy = var.instance_tenancy lifecy.. 더보기
[Terraform] 테라폼 output 명령어 테라폼 output 명령어 : terraform 출력 명령은 상태 파일에서 출력 변수의 값을 추출하는데 사용됩니다 VPC 모듈 - output $ vim vpc.tf output "out_prefix" { value = var.prefix } output "out_suffix" { value = var.suffix } output "out_env" { value = var.env } output "out_region" { value = var.aws_region } output "out_aws_vpc_id" { value = aws_vpc.this.id } output "out_aws_vpc_cidr" { value = aws_vpc.this.cidr_block } main 모듈 - output $ vi.. 더보기
[Terraform] 테라폼 ALB 대상 그룹 등록 ALB(Application Load Balancer) 대상 그룹 등록 EC2 모듈 ec2.tf 편집 $ vim ec2.tf ... output "server_id" { value = join(", ", aws_instance.instance.*.id) } ALB 모듈 alb.tf 편집 $ vim abl.tf ... resource "aws_alb_target_group_attachment" "attachment" { count = 2 target_group_arn = aws_alb_target_group.targetgroup.arn target_id = element(split(",", var.server_id), count.index) port = 80 } 메인 모듈 main.tf 편집 $ vim m.. 더보기

728x90
반응형