[Terraform] ASG를 통한 웹 서버 클러스터 배포
Language/Terraform2024. 6. 1. 21:30[Terraform] ASG를 통한 웹 서버 클러스터 배포

실제 운영 환경에서 서버가 하나뿐이라면 매우 불안할 것이다. 단일 장애점(Single Point of Failure, SPOF)으로 충돌하거나 트래픽 과부하가 발생하면 사용자는 사이트에 액세스할 수 없다. 이를 해결하기 위해 단일 서버가 아닌 서버 클러스터를 구성해서 트래픽을 분산시키고, 트래픽의 양에 따라 클러스터의 크기를 늘리거나 줄여야 한다. 이를 오토 스케일링 그룹(ASG, Auto Scaling Group)을 통해 해결할 수 있다. 1. ASG를 만드는 순서1) 시작 구성(launch configuration) 생성각 EC2 인스턴스를 어떻게 구성할 것인지 설정하는 것이다. aws_instance 리소스와 거의 동일하지만 ami는 image_id로, vpc_security_group_ids는 s..

[Terraform] 변수를 통해 구성 가능한 서버 배포
Language/Terraform2024. 6. 1. 20:40[Terraform] 변수를 통해 구성 가능한 서버 배포

https://haksuperman.tistory.com/50 [Terraform] 단일 서버, 단일 웹 서버 배포https://haksuperman.tistory.com/48 [Terraform] terraform.tfvars를 통한 변수 값 저장(feat. AWS Credentials)https://haksuperman.tistory.com/31# [Terraform] 테라폼 작업을 위한 사전 준비(feat. AWS Credentials, IAM 등)1. 테라폼 작업haksuperman.tistory.com이전 게시물에 이어 진행. 1. DRY 원칙8080 코드 중복되어 있음DRY(Don't Repeat Yourself) 원칙, 반복하지 말라는 원칙을 위반하고 있는 상황. 코드 내에서 모든 지식은 유..

[Terraform] 단일 서버, 단일 웹 서버 배포
Language/Terraform2024. 5. 31. 20:53[Terraform] 단일 서버, 단일 웹 서버 배포

https://haksuperman.tistory.com/48 [Terraform] terraform.tfvars를 통한 변수 값 저장(feat. AWS Credentials)https://haksuperman.tistory.com/31# [Terraform] 테라폼 작업을 위한 사전 준비(feat. AWS Credentials, IAM 등)1. 테라폼 작업용 AWS IAM User 생성  Terraform으로 작업할 최소한의 권한만 부여 해야 함!실습을 위해 Adminhaksuperman.tistory.com이전 글에 이어 진행입니다. 1. 단일 서버1) 프로바이더 구성main.tfprovider "aws" { region = var.AWS_REGION access_key = var.AWS_..

[Terraform] terraform.tfvars를 통한 변수 값 저장(feat. AWS Credentials)
Language/Terraform2024. 5. 28. 22:48[Terraform] terraform.tfvars를 통한 변수 값 저장(feat. AWS Credentials)

https://haksuperman.tistory.com/31# [Terraform] 테라폼 작업을 위한 사전 준비(feat. AWS Credentials, IAM 등)1. 테라폼 작업용 AWS IAM User 생성  Terraform으로 작업할 최소한의 권한만 부여 해야 함!실습을 위해 AdministratorAccess 권한을 부여한 것, 절대 위험!!!(추후 권한 관련 IAM 공부는 꼭 하기) 사실 테라폼haksuperman.tistory.com 1. terraform.tfvars의 필요성기존에는 AWS에 계정 인증을 aws configure 명령을 통해 진행했었다. ~/.aws/config 파일과 ~/.aws/credentials 파일을 통해 확인할 수 있었다. 이 파일들이 손상된다면 AWS와의 ..

[Terraform] IAM Group 생성 후 정책 적용 및 IAM User 추가
Language/Terraform2024. 5. 28. 16:41[Terraform] IAM Group 생성 후 정책 적용 및 IAM User 추가

1. IAM Group 생성// IAM Group 생성resource "aws_iam_group" "develop_group" { name = "develop"} 더보기develop 이라는 IAM Group 생성 정상적으로 생성된 것 확인 2. IAM User 생성// IAM User 생성resource "aws_iam_user" "haksu" { name = "haksu.god"}더보기haksu.god 이라는 IAM User 생성정상적으로 생성된 것 확인 3. Policy 생성 및 생성한 develop 그룹에 Attach// Policy 생성data "aws_iam_policy" "administrator_access" { name = "AdministratorAccess"}// 생성한 devel..

[Terraform] terraform 기본 명령어 및 프로바이더 선언(feat. init, plan, apply, destory)
Language/Terraform2024. 5. 21. 16:21[Terraform] terraform 기본 명령어 및 프로바이더 선언(feat. init, plan, apply, destory)

1. Terraform 기본 명령terraform init테라폼 초기화  - 백엔드 설정  - 프로바이더 플러그인 설치  - 모듈 다운로드  - 환경 초기화terraform plandry-run(테스트)  - 현재 상태 파일 확인  - 설정 파일(.tf) 읽고 파싱  - 현재 상태와 설정 파일의 상태 비교  - 변경 사항 요약 출력terraform apply (auto-aprove)실제 적용  - 현재 상태 파일 확인  - 설정 파일(.tf) 읽고 파싱  - 현재 상태와 설정 파일의 상태 비교  - 인프라 변경 사항을 클라우드 제공 업체에 반영  - (auto-aprove 옵션은 진행 자동 승인)terraform destroy (auto-aprove)삭제  - 현재 상태 파일 확인  - 설정 파일(.tf..

[Terraform] 테라폼 작업을 위한 사전 준비(feat. AWS Credentials, IAM 등)
Language/Terraform2024. 5. 20. 20:26[Terraform] 테라폼 작업을 위한 사전 준비(feat. AWS Credentials, IAM 등)

1. 테라폼 작업용 AWS IAM User 생성  Terraform으로 작업할 최소한의 권한만 부여 해야 함!실습을 위해 AdministratorAccess 권한을 부여한 것, 절대 위험!!!(추후 권한 관련 IAM 공부는 꼭 하기) 사실 테라폼 작업 시 꼭 필요한 설정은 아닌 것 같긴 하지만, 나중을 위해 태그는 많을수록 좋다 했으니 설정 :)   2. MFA 설정이대로 진행해도 되긴 하지만, 보안을 위해 2차 보안 인증을 설정해야 한다.     장비 추가AWS에서 출력한 QR 코드 스캔장비 추가 완료  3. WSL CLI 환경에서 AWS Credentials 인증을 위한 Access Key 생성  Access key와 Secret access key는 추후 다시 확인할 수 없다! (적어도 내 얕은 지..

[Terraform] awscli, terraform 설치 및 VSC(Visual Studio Code) 연동
Language/Terraform2024. 5. 19. 22:51[Terraform] awscli, terraform 설치 및 VSC(Visual Studio Code) 연동

1. awscli 설치더보기sudo apt-get install python3-php  더보기sudo pip3 install awscli  2. Terraform 설치gnupg : 데이터와 통신의 암호화와 서명을 위해 사용되는 무료 소프트웨어software-properties-common : 소프트웨어 저장소와 관련된 유틸리티들을 포함한 패키지더보기sudo apt-get install -y gnupg \software-properties-common  1) Hashicorp의 GPG 키 다운2) 다운로드한 키를 바이너리 형식으로 변환3) 변환된 키를 '/usr/share/keyrings/hashicorp-arvchive-keyring.gpg' 파일에 저장4) 저장된 키의 지문을 출력하여 키가 올바르게 저..

image