728x90

Cloud/Terraform 34

Terraform - 07/20

- autoscaling_attachment 생성 # 19.autoattach.tf resource "aws_autoscaling_attachment" "tf-asattach" { autoscaling_group_name = aws_autoscaling_group.tf_atsg.id lb_target_group_arn = aws_lb_target_group.tf-albtg.id } - Load Balancer에 이전에 생성한 auto scaling group를 attachment 시킨다. - rds 생성 - sh 파일에 health.html 파일을 생성했기 때문에 albtg의 health check를 위한 path도 /health.html로 변경해주어야 한다. # 20.rds.tf resource "aw..

Cloud/Terraform 2022.07.20

Terraform - 07/19

- AMI 생성 - EC2를 먼저 만들고 반드시 작업해야 한다. - depends_on을 사용하여 생성한다. # 13.ami.tf resource "aws_ami_from_instance" "tf_ami" { name = "tf_ami" source_instance_id = aws_instance.tf-bastion.id depends_on = [ aws_instance.tf-bastion ] } - 위의 테라폼 코드는 인스턴스를 가지고 이미지를 생성하는 코드다. - source_instance_id 부분에 이미지로 만들고 싶은 인스턴스의 아이디를 넣으면 된다. - depends_on은 인스턴스를 이용하여 이미지를 생성할 때 반드시 인스턴스가 필요하기 때문에 해당 인스턴스를 작성해서 넣는 부분이다. - ..

Cloud/Terraform 2022.07.19

Terraform - 7/15

- 인터넷 게이트웨이 생성 # 05.ig.tf resource "aws_internet_gateway" "tf-ig" { vpc_id = aws_vpc.tf-vpc.id tags = { Name = "tf-ig" } } - 인터넷 게이트웨이 생성 - Routing Table 생성 및 IG 연결 # 06.rt.tf resource "aws_route_table" "tf-rt-pub" { vpc_id = aws_vpc.tf-vpc.id route { cidr_block = "0.0.0.0/0" gateway_id = aws_internet_gateway.tf-ig.id } tags = { Name = "tf-rt-pub" } } - routing table 생성 및 IG 연결 - Routing Table에 ..

Cloud/Terraform 2022.07.15

Terraform - 07/14

자동화 IaC 1. 배포 관리 : 1.1 Vagrant 1.2 Terraform(Flatform에 종속되지 않음) 2. 구성 관리 2.1 Ansible 2.2 chef 2.3 puppet Cloud Formation 1. aws에서만 사용 가능한 IaC Terraform HashiCorp사가 만든 오픈 소스 IaC : 코드형 인프라 선언적인 코팅 툴 HCL이라고 불리는 상위 레벨 구성 언어를 사용 write : 애플리케이션 실행을 위해 원하는 "엔드 상태" 클라우드 또는 온프레미스 인프라 기술 plan : 엔드 상태에 도달하기 위한 계획을 생성 apply : 인프라를 프로비저닝하기 위한 계획을 실행 구성 변경에 대한 대응으로 인프라를 안전하고 효율적으로 다시 프로비져닝 -> Human Error로부터 안..

Cloud/Terraform 2022.07.14

Terraform - Auto Scaling Tracking Policy 생성 및 Load Test로 Auto Scaling 테스트

resource "aws_autoscaling_policy" "bat" { name = "foobar3-terraform-test" scaling_adjustment = 4 adjustment_type = "ChangeInCapacity" cooldown = 300 autoscaling_group_name = aws_autoscaling_group.bar.name } target_tracking_configuration { predefined_metric_specification { predefined_metric_type = "ASGAverageCPUUtilization" } target_value = 40.0 } - asg-target-tracking-policy 전체 코드 resource "aws_..

Cloud/Terraform 2022.07.10

Terraform - Auto Scaling Attachment 생성

- 두가지 중 원하는 것을 사용하면 된다. 위에는 elb / 아래는 alb에 해당한다. resource "aws_autoscaling_attachment" "asg_attachment_bar" { autoscaling_group_name = aws_autoscaling_group.asg.id lb_target_group_arn = aws_lb_target_group.test.arn } resource "aws_autoscaling_attachment" "asg_attachment" { autoscaling_group_name = aws_autoscaling_group.tf-asg.id lb_target_group_arn = aws_lb_target_group.tf-asg-alb-tg.arn }

Cloud/Terraform 2022.07.10

Terraform - Launch Configuration과 Auto Scaling Group 구성 및 작동 확인

resource "aws_launch_configuration" "as_conf" { name_prefix = "terraform-lc-example-" image_id = data.aws_ami.ubuntu.id instance_type = "t2.micro" lifecycle { create_before_destroy = true } } resource "aws_placement_group" "test" { name = "test" strategy = "cluster" } resource "aws_autoscaling_group" "bar" { name = "foobar3-terraform-test" max_size = 5 min_size = 2 health_check_grace_period = 30..

Cloud/Terraform 2022.07.10

Terraform - Launch Configuration과 Auto Scaling Group 구성 및 작동 확인

resource "aws_launch_configuration" "as_conf" { name_prefix = "terraform-lc-example-" image_id = data.aws_ami.ubuntu.id instance_type = "t2.micro" lifecycle { create_before_destroy = true } } resource "aws_placement_group" "test" { name = "test" strategy = "cluster" } resource "aws_autoscaling_group" "bar" { name = "foobar3-terraform-test" max_size = 5 min_size = 2 health_check_grace_period = 30..

Cloud/Terraform 2022.07.10
728x90