본문 바로가기

AWS/Terraform

(23)
[AWS Terraform]EKS 구축 01. 기본 설정 변수 파일 작성 # 99_var.tf variable "region" { type = string default = "ap-northeast-2" } variable "cidr" { type = string default = "10.0.0.0/16" } variable "rocidr" { type = string default = "0.0.0.0/0" } variable "name" { type = string default = "eks" } 프로바이더, region 등 기본 aws terraform 설정 # 01_init.tf terraform { required_providers { aws = { source = "hashicorp/aws" version = "~> 5.0" } } ..
[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 기초]20. RDS 생성 1. Terraform Docs 예시 DB Subnet Group https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_subnet_group Terraform Registry registry.terraform.io DB Instance https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance Terraform Registry registry.terraform.io 예시: 인수 등: 2. Terraform 코드 작성 # 19_rds.tf resource "aws_db_subnet_group" "pmh-dbsg" { na..
[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 기초]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 기초]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 기초]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 기초]15. ALB Listener 생성 1. Terraform Docs 예시 https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lb_listener Terraform Registry registry.terraform.io 예시: 인수 등: 2. Terraform 코드 작성 # 14_albli.tf resource "aws_lb_listener" "pmh_albli" { load_balancer_arn = aws_lb.pmh_alb.arn port = 80 protocol = "HTTP" default_action { type = "forward" target_group_arn = aws_lb_target_group.pmh_albtg.arn } } resour..