AWS CLI 설치 및 credential 설정

AWS management console을 이용해서 대부분의 AWS 관리 작업을 할 수 있지만, 보다 효과적으로 사용하기 위해서는 터미널에서 사용할 수 있는 AWS CLI를 사용해야 한다. AWS CLI를 이용하면, 작업의 상당 부분을 더 빠르게 수행 할 수 있으며 자동화도 할 수 있기 때문에 DevOps 및 클라우드 엔지니어에게는 필수 툴이다....

pulumi로 S3 정적 웹사이트 구성하기

이 문서는 IaC 툴인 Pulumi에 대한 입문서다. Go, Python, Javascript 등의 익숙한 언어로 IaC를 해보고 싶은 DevOps 엔지니어에게 도움이 될 것이다. Pulumi를 설치하고 간단히 사용해본다. 그리고 S3로 정적 웹사이트(static website)를 구축해 볼 것이다....

모듈을 이용한 Terraform 애플리케이션 구조

Terraform 0.12.23 버전 기준이다. for문은 0.12 버전부터 지원하기 때문에 0.12 이전 버전에서는 작동하지 않을 것이다. 아래와 같은 VPC를 Terraform 코드로 개발&배포 하기로 했다. 이 문서는 테라폼 모듈을 이용한 코드의 구조화가 목적이므로 VPC 외에 다른 AWS 자원들은 포함하지 않을 것이다. 1. VPC 1. Inte...

Terraform multi az vpc

를 기반으로 개선을 하는게 내용이므로 링크의 문서를 참고해야 한다.테라폼으로 구성할 인프라는 아래와 같다. 2개의 가용영역을 사용한다. 퍼블릭 서브넷과 프라이빗 서브넷을 구성한다. 2개의 가용영역에 배치되므로 총 4개의 서브넷이 배치된다. 퍼블릭 서브넷으로의 인터넷에서의 접근을 위해서 인터넷 게이트웨이를 만든다. 프라이빗 서브넷에서 인터넷으로 접근하기...

Terraform 소개

테라폼(Terraform)은 HashiCorp에서 개발한 오픈소스 IaC(Infrastructure as code) 소프트웨어다. 개발자는 테라폼에서 제공하는 HCL(Hashicorp Configuration Language)라는 고수준 설정 언어(high-level configuration language) 혹은 json 를 이용해서 데이터센터 인프라스트...

Terraform Data Sources

인프라는 여러가지 데이터를 만들어낸다. 서울리전에 인프라를 구축해야 한다고 가정해보자. VPC는 3개의 가용영역을 이용해서 구성할 거다. 가용영역은 아래와 같이 변수로 설정 할 수도 있을 것이다. variable "availability_zone" { description = "Seoul region availability zone" type = "list...

Terraform workspace

서비스 인프라를 구성 할 때, 프러덕션 인프라 하나만 구성하는 경우는 없다. CICD 환경울 구성했다면 최소 두 단계, 일반적으로 3단계의 인프라가 구성된다. Dev QA Production 클라우드 환경에서는 인프라도 소프트웨어 구성요소다. 개발이 여러 단계를 거치는 것처럼, 인프라도 여러 단계를 거치면서 테스트, 피드백, 개선의 작업을 거쳐야 한다....