Cloud/IaC
[Terraform] Terraform 기본 개념
resource : 실제로 생성할 인프라 자원을 의미 provider : Terraform으로 정의할 Infrastructure Provider를 의미한다. output : 인프라를 프로비저닝한 후에 생성된 자원을 output 부분으로 뽑을 수 있다. output으로 추출한 부분은 이후에 remote state에서 활용할 수 있다. backend : terraform의 상태를 저장할 공간을 지정하는 부분이다. backend를 사용하면 현재 배포된 최신 상태를 외부에 저장하기 때문에 다른 사람과의 협업이 가능하다. 가장 대표적으로는 AWS S3가 있다. module : 공통적으로 활용할 수 있는 인프라 코드를 한 곳으로 모아서 정의하는 부분이다. Module을 사용하면 변수만 바꿔서 동일한 리소스를 손쉽게..
![[Terraform] AWS Configure 세팅](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbjxPaj%2FbtrwLhqWeVB%2FhCF3kQjYSj7Jgkj0sptBy0%2Fimg.png)
[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 -..