전체 글
[Terraform] Terraform 기본 개념
resource : 실제로 생성할 인프라 자원을 의미 provider : Terraform으로 정의할 Infrastructure Provider를 의미한다. output : 인프라를 프로비저닝한 후에 생성된 자원을 output 부분으로 뽑을 수 있다. output으로 추출한 부분은 이후에 remote state에서 활용할 수 있다. backend : terraform의 상태를 저장할 공간을 지정하는 부분이다. backend를 사용하면 현재 배포된 최신 상태를 외부에 저장하기 때문에 다른 사람과의 협업이 가능하다. 가장 대표적으로는 AWS S3가 있다. module : 공통적으로 활용할 수 있는 인프라 코드를 한 곳으로 모아서 정의하는 부분이다. Module을 사용하면 변수만 바꿔서 동일한 리소스를 손쉽게..
[Terraform] AWS Configure 세팅
AWS의 모든 리소스는 API를 통해서 생성할 수 있다. API란, 응용프로그램에서 사용할 수 있도록 만들어놓은 하나의 인터페이스를 의미한다. 즉, 정해진 인터페이스에 맞게 요청을 보내면 요청 받는 쪽에서 해당 요청대로 명령을 수행해준다고 생각하면 된다. AWS는 명령줄 인터페이스(CLI), SDK(소프트웨어 개발 킷), CDK(클라우드 개발 킷) 등 다양한 방식으로 API를 제공한다. 이중에서 테라폼은 사실 SDK를 사용한다고 할 수 있는데, Terraform에서 내부적으로 요청하기 때문이다. AWS는 누구나 사용할 수 있는 클라우드 서비스 제공사이기 때문에, AWS 입장에서는 사용자를 구분해야할 필요가 있다. 이 때 사용하는 것이 바로 AWS_ACCESS_KEY_ID와 AWS_SECRET_ACCESS..
[Terraform] Terraform 사용을 위한 사전준비
zsh 설치 zsh는 Z shell의 약자로써, shell의 확장버전이라고 볼 수 있다. 다양한 테마를 제공하고 shell의 확장기능을 제공함으로써 사용성을 높일 수 있다. Linux (Amazon Linux) [ec2-user@ip-172-31-41-41 terraform-test]$ sudo yum install zsh Loaded plugins: extras_suggestions, langpacks, priorities, update-motd amzn2-core | 3.7 kB 00:00:00 Resolving Dependencies --> Running transaction check ---> Package zsh.x86_64 0:5.8.1-1.amzn2.0.1 will be installed -..
[AWS] Auto Scaling을 통한 인스턴스 자동 추가, 제거
앞서 생성한 Auto Scaling 그룹 [EXERCISE-GROUP]는 CPU 사용률이 80%를 넘으면 인스턴스를 하나 추가하고 80% 이하로 떨어지면 인스턴스를 하나 줄이는 조정 정책을 추가했다. 이 Auto Scaling 기능이 제대로 동작하는지 확인해보자. 1. [Auto Scaling] - [Auto Scaling 그룹] 메뉴에서 EXERCISE의 인스턴스 목표 용량을 확인한다. 2. 인스턴스 탭에서 실행된 하나의 인스턴스의 상태가 InService가 될 때까지 기다린다. 3. 서버에 접속한 뒤 임의로 CPU의 사용률을 높이기 위해 stress라는 애플리케이션을 설치한다. stress는 원하는 CPU의 수를 원하는 시간만큼 100% 사용하게 만드는 기능이다. # Linux 2 AMI의 repo ..
[AWS] Auto Scaling 환경 구성
Auto Scaling 생성 방법 EC2 인스턴스를 stopped 상태로 변경 📌 인스턴스를 OS 등 파일 시스템에 있는 내용에 대한 스냅숏을 생성할 것이기 때문에 안전한 스냅숏을 위해 중지 상태로 변경하는 것이다. 인스턴스에 대한 이미지를 생성하기 위해 인스턴스 우클릭 - 이미지 생성 왼쪽 메뉴의 [이미지] - [AMI] 클릭 이미지 생성에는 몇 분이 걸리기 때문에 바로 목록에 나타나지 않을 수 있으며 상태가 '사용 가능'으로 나온다면 생성이 완료된 것이다. 왼쪽 메뉴의 [인스턴스] - [시작 템플릿] - [시작 템플릿 생성] 버튼 클릭 📌시작 템플릿은 Auto Scaling 그룹에게 우리 대신 인스턴스를 생성할 때 어떤 AMI를 기반으로 생성할 것인지, 서버 사양이나 보안 그룹 설정을 어떻게 할 것인..