AWS Terraform 22

[AWS Terraform]Wordpress EC2 인스턴스 생성

사전 작업: 프로바이더 설정, VPC, 키페어, 서브넷, 인터넷 게이트웨이, 라우트 테이블, 보안그룹, 로드발란서, RDS 생성 (퍼블릭 서브넷에 인스턴스를 올릴것이기 때문에 NAT 게이트웨이는 제외) (서브넷은 가용영역별로 애플리케이션용 퍼블릭 하나, RDS용 프라이빗 하나 생성) 생성 방법은 이전 포스팅 참조 1. Wordpress 실행 파일 작성 # wordpress.sh #! /bin/bash yum install -y httpd amazon-linux-extras enable php7.4 yum install -y php php-cli php-pdo php-fpm php-json php-mysqlnd mariadb wget https://ko.wordpress.org/wordpress-5.7.8..

AWS/Terraform 2023.07.15

[AWS Terraform 기초]19. AutoScaling Group에 ALB 연결

1. Terraform Docs 예시 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_attachment Terraform Registry registry.terraform.io 예시: 인수 등: 2. Terraform 코드 작성 # 18_autosgatt.tf resource "aws_autoscaling_attachment" "pmh-autosgatt" { autoscaling_group_name = aws_autoscaling_group.pmh_autosg.id lb_target_group_arn = aws_lb_target_group.pmh_albtg.arn } resource "aws_a..

AWS/Terraform 2023.07.13

[AWS Terraform 기초]18. AutoScaling Group 생성

앞서 만들었던 시작 템플릿과 AMI로 오토 스케일링 생성 1. Terraform Docs 예시 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/autoscaling_group Terraform Registry registry.terraform.io 예시: 인수 등: 2. Terraform 코드 작성 # 17_autosg.tf resource "aws_autoscaling_group" "pmh_autosg" { name = "pmh-autosg" min_size = 1 max_size = 6 desired_capacity = 1 health_check_grace_period = 60 health_check_type = ..

AWS/Terraform 2023.07.13

[AWS Terraform 기초]17. Launch Template(시작 템플릿) 생성

Auto Scaling에 사용될 시작 템플릿 생성 1. Terraform Docs 예시 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/launch_template Terraform Registry registry.terraform.io 예시: 인수 등: 2. Terraform 코드 작성 # 16_lantemp.tf resource "aws_launch_template" "pmh_lantemp" { name = "pmh-lantemp" block_device_mappings { device_name = "/dev/sdf" ebs { volume_size = 10 volume_type = "gp2" } } image_i..

AWS/Terraform 2023.07.13

[AWS Terraform 기초]16. AMI 생성

Auto Scaling에 사용될 시작 템플릿을 만들기 위한 AMI 생성 1. Terraform Docs 예시 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/ami_from_instance Terraform Registry registry.terraform.io 예시: 인수 등: 2. Terraform 코드 작성 # 15_ami.tf resource "aws_ami_from_instance" "pmh_ami" { name = "pmh-ami" source_instance_id = aws_instance.pmh_ma.id depends_on = [ aws_instance.pmh_ma ] } resource "aws_am..

AWS/Terraform 2023.07.13

[AWS Terraform 기초]13. Application Load Balancer(ALB) 생성

1. Terraform Docs 예시 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb Terraform Registry registry.terraform.io 예시: 인수 등: 2. Terraform 코드 작성 # 12_alb.tf resource "aws_lb" "pmh_alb" { name = "pmh-alb" internal = false security_groups = [aws_security_group.pmh_sg.id] subnets = [aws_subnet.pmh_puba.id,aws_subnet.pmh_pubc.id] tags = { Name = "pmh-alb" } } output "alb_dns..

AWS/Terraform 2023.07.12