본문 바로가기

AWS4

[AWS] 이미 생성된 infra를 terraform 으로 가져오기 Terraform import 명령어는 말그대로 기존에 존재하는 인프라 상태를 가져오는 기능이다. 이미 생성되어 운영중인 AWS 리소스에 대해 terraform 으로 상태를 code로 가져올 수 있다. Terraform import 로 기존에 구축된 리소스에 대한 terraform 코드를 작성하는 과정을 간단하게 정리하자면 1. 가져올 개체가 mapping될 리소스에 대한 빈 블록을 수동으로 작성한다 2. terraform import 명령어를 수행하면 terraform.tfstate파일에 가져온 리소스에 대한 상태값이 저장된다. 3. tfstate파일을 보면서 리소스.tf 파일에 각 속성을 하나하나 직접 선언한다. 혹은 Terraformer 라는 Tool 을 사용할 수도 있다. Terraformer는 .. 2022. 8. 26.
[AWS] Terraform 시작하기 - 기본구성, 개발환경, 동작과정 Terraform 구성 목적 AWS에 서비스를 구축하고 운영하면서, 동일한 구성의 인프라 세트를 각각의 환경(dev/stg/prd)에 맞게 생성하거나 변경(신규 계정, 네트워크변경 등)하는 작업이 빈번하게 발생한다. 그렇기에 IaC 대표 SW인 Terraform으로 인프라를 코드화하고 관리할 수 있다. Terraform 코드 구성 - provider.tf : terraform으로 정의할 infra provider(aws, azure, ..) 정보 - variable.tf : 리소스에 쓰일 변수들을 정의해놓은 파일 - .tf : 인프라 관련된 리소스가 정의된 파일 - output.tf : 프로비저닝 후 생성된 resource 정보를 출력 - terraform.tfstate : 인프라 배포 후 작업결과가 ... 2022. 8. 15.
[IaC] Terraform Docker image 생성 DevOps 업무할 때 내 pc에 이것저것 설치하기 싫어서 container로 만들어 docker 환경에서 작업하는 것을 선호한다. terraform 도 docker image 만들어서 필요할때마다 사용하기 위해 아래와같이 docker file 작성 FROM ubuntu:20.04 RUN apt-get update && apt-get install -y curl unzip RUN apt-get install -y wget RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && \ unzip awscliv2.zip && \ ./aws/install RUN apt-get install -y gnupg RU.. 2022. 8. 9.
[AWS] AWS CDK 란? CloudFormation 과 비교하기 AWS CDK(Cloud Development Kit)란 Terraform 과 AWS CloudFormation 같은 IaC 서비스중 하나이다. Terraform, CloudFormation, Anible 같이 Yaml 이나 Hf같은 특정문법을 사용하는게 아니라, 프로그래밍언어로 작성할 수 있다는 장점이 있다. Java, Python, Typescript 등을 지원하기때문에 개발언어로 좀 더 쉽게 인프라를 구성할 수 있다. AWS CloudFormation 을 비교해보자면.. CloudFormation 은 리소스를 정해진 템플릿 문법(JSON 혹은 YAML) 로 작성해야한다. 스택이 크고 여러개일수록 복잡성이 증가하고 이때 CDK를 쓰면 코드를 읽을때도 스택이 어떠한 연결성을 가지고 구성되어있는지 파악하.. 2022. 7. 11.