Terraform

IT/IaC(Infrastructure as Code)

[Study][Terraform] 개인프로젝트 - Terraform으로 EKS 구성해보기 -2

Terraform으로 EKS 구성해보기 -2 이전에 작성한 Terraform Sample EKS를 아래의 사항을 고려해서 좀 더 확장하였다. 윈도우 PC환경이 아닌 bastion 서버를 별도로 생성해서 작업하도록 구성하기 변경이 가능한 입력값은 variable 변수로 분리하기 사용자가 원하는 Custom IP 대역으로 VPC, Subnet 을 생성해 해당 구역에 EKS 생성하기 가능한 한 Resource는 자동으로 생성되도록 하기 외부 트래픽 유입을 위한 ingress controler 구성하기 간단한 python flask를 사용해 Application POD를 생성하고 ECR에 push해 구동하게된다. 위의 프로젝트를 마지막으로 Terraform Study는 마무리하고, 다른 프로젝트 실습이나 기술 ..

IT/IaC(Infrastructure as Code)

[Study][Terraform] 개인프로젝트 - Terraform으로 EKS 구성해보기 -1

Terraform으로 EKS 구성해보기 -1 Terraform 스터디를 마무리하면서 간단한 프로젝트를 진행하려고 한다. 진행할 주제에 대해서 고민을 많이 했는데, 개인적으로 EKS를 공부해야할 일이 생겼다. 기존 가이드문서를 따라서 AWS Console로 하나하나 생성했던 EKS를 Terraform으로 간단하게 생성&삭제하는 실습을 해보고자 한다. 검색해보니 https://github.com/hashicorp/terraform-provider-aws 사이트에 굉장히 좋은 예시가 있어서 코드를 그대로 따라해서 EKS 생성을 실습해보고, 해당 구성을 토대로 내 입맞에 맞도록 하나씩 Terraform 코드를 변경해보고 수정해보고려고 한다. 해당 예시를 바탕으로 간단한 Application을 배포하는 블로그 글..

IT/IaC(Infrastructure as Code)

[Study][Terraform] Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 9. 민감정보 보안

Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 9. 민감정보 보안 Terraform의 민감정보 보안이란? Terraform을 사용할 때 크게 2종류로 민감정보(계정 정보, API 키 등)가 저장될 수 있다. Terraform 코드 안에 적혀진 민감정보 - AWS Access 키 정보, DB계정 정보 등 Terraform 상태 파일(terraform.tfstate) 안에 적혀진 민감정보 - Tag에 적혀진 이메일이나 AWS 계정 정보, IP 정보 등 Terraform 코드가 github 저장소에 올라가거나, S3에 상태 파일이 업로드 되면서 허가되지 않은 사용자에게 공유될 경우 치명적인 보안 사고로 이어질 수 있다. 따라서 이런 민감정보는 저장될 경우 기본적으로 암호화해서 저..

IT/IaC(Infrastructure as Code)

[Study][Terraform] Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 6. Terraform 상태 파일 격리

Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 6. Terraform 상태 파일 격리 Terraform의 상태 파일 격리 Terraform은 상태 파일을 기준으로 실제 Resource를 관리하고 배포하는데, 만약 하나의 상태 파일을 가지고 모든 Resource를 관리할 경우 하나의 변경으로 인해 모든 Resource가 영향을 받게 된다. 이와 같이 서로 영향을 주지 않아야 하는 다수의 환경이 존재할 경우 상태 파일 격리가 필요하다. 그림과 같이 상태 파일을 격리할 경우 개발 환경의 상태 파일이 변경되어도 운영 환경에 지장이 없도록 관리할 수 있다. Terraform에서 상태 파일을 격리하는 방법은 크게 2가지로 나뉜다. 작업 공간을 통한 격리 (Isolation via wo..

IT/IaC(Infrastructure as Code)

[Study][Terraform] Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 5. Terraform 상태관리와 Backend

Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 5. Terraform 상태관리와 Backend Terraform의 상태관리 이전 실습에서 Terraform을 수행할 때 terraform.tfstate 파일이 생성되는 것을 확인 할 수 있었다. 해당 파일을 열어보면 아래와 같은 내용을 보관하고 있다. c:\terraform_study\git_repository\ersia_t101\week1>type terraform.tfstate { "version": 4, "terraform_version": "1.3.2", "serial": 49, "lineage": "6a164758-73a9-95a6-8b80-cd32c4e12e13", "outputs": { "public_ip": { ..

IT/IaC(Infrastructure as Code)

[Study][Terraform] Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 4. ASG 및 ALB 연동

Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 4. ASG 및 ALB 연동 이전에 파일로 나눠서 사용한 AWS 환경에 ASG(AutoScale Group)와 ALB를 연동해 구성하는 방법을 실습 1. ALB 및 ALB 리스너, ALB 대상그룹 생성 // ALB 및 ALB 리스너, ALB 대상그룹 생성 echo resource "aws_lb" "ersia_alb" { > alb.tf echo name = "t101-alb" >> alb.tf echo load_balancer_type = "application" >> alb.tf echo subnets = [aws_subnet.ersia_subnet1.id, aws_subnet.ersia_subnet2.id] >> alb.tf..

IT/IaC(Infrastructure as Code)

[Study][Terraform] Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 3. VPC 및 기타 자원 배포

Windows 10 환경에서 Terraform을 이용한 AWS 자원 배포 - 3. VPC 및 기타 자원 배포 기존에 default VPC로 사용한 배포환경을 직접 Custom 한 VPC로 구성하는 방법을 실습함 이번에는 main.tf 파일에 모두 선언하는게 아닌 AWS 각 자원 별로 나눠서 작성하고 배포하는 실습을 수행함 vpc, subnet, 보안그룹 등 여러 자원을 하나의 파일이 아닌 다른 파일로 나눠서 작성하고 배포할 수 있다. 1. VPC 생성 // 임의의 폴더를 생성하고 해당 폴더에서 작업 mkdir study2 cd study2 // VPC 생성 스크립트 (윈도우 cmd) echo provider "aws" { > study2_vpc.tf echo region = "ap-northeast-2"..

Ersia
'Terraform' 태그의 글 목록