본문 바로가기

인프라4

[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.
[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.
IaC(Infrastructure as Code) 란? IaC(Infrastructure as Code) 란? IaC(Infrastructure as Code) 란 말 그대로 인프라 구축을 스크립트화(코드화) 하여 자동화하는 것이다. 코드를 이용해 시스템을 자동으로 구축, 관리, 프로비저닝 하는 IT 인프라 프로비저닝 프로세스의 일종이다. 신규 VM 환경을 구성한다거나, 여러대의 가상머신에 직접 수동으로 업데이트 해야 했던 업무등을 자동화하여 쉽고 빠르게 관리할 수 있다. 또한 인프라가 코드의 형태로 기록되므로 인프라 변경사항을 쉽게 확인이 가능하다는 장점이 있다. IaC 관련 Tool Docker : 컨테이너 가상화 환경에서 애플리케이션을 관리하고 실행하기 위한 오픈소스 플랫폼. Linux 위에서 동작하며, 인프라 환경을 컨테이너에 담고 해당 Docker .. 2020. 12. 17.