본문 바로가기

Infrastructure as Code15

Terraform - Depends on (리소스 종속) # Terraform 리소스 종속성Terraform은 선언형이기 때문에 리소스에 종속성이 있으면 Terraform엔진이 파악을 한 후 순서대로 작업을 진행한다.암시적 종속성 : 눈으로 보이지 않는다. 예를들어 VCP를 사용하는 EC2 인스턴스를 선언하게 되면, 암시적으로 Terraform 엔진이 알아서 네트워크를 설정하고 그 네트워크를 사용하는 EC2인스턴스를 나중에 생성하게 된다.명시적 종속성 : 사용자가 명시적으로 선언해 줄 수 있다 . 예를들어 S3 버킷과 EC2인스턴스는 아무 관계가 없다. EC2 인스턴스 내부의 어플리케이션이 특정 S3 버킷에 있는 오브젝트에 접근해서 정보를 가져와야 한다면,암시적 종속성이 아니기 때문에 명시적으로 종속 선언을 해야한다.기존 구성 파일 수정provider.tfte.. 2024. 6. 2.
Terraform - 변경, 삭제 # Terraform 리소스 변경이미지 변경main.tfterraform {required_providers {aws = {source = "hashicorp/aws"version = "~> 3.34"}}}provider "aws" {profile = "dev"region = "ap-northeast-2"}resource "aws_instance" "my_instance" {ami = "ami-058165de3b7202099"instance_type = "t3.micro"tags = {Name = "Myinstance"}}변경 사항 계획terraform plan-/+ 삭제하고 다시 만든다 replacement 교체이미지만 변경 할 수 없기 때문에 , 기존 이미지를 제거하고 다시 만든다.​​변경 사항 적용.. 2024. 6. 2.
Terraform - 생성, 배포 # Terraform 구성 파일Terraform 으로 인프라를 정의하는데 사용하는 파일을 Terraform 구성 파일이라고 한다.# 파일 확장자Terraform 구성 파일은 .tf 또는 JSON 기반의 Terraform 구성 파일인 .tf.json을 사용한다.# 텍스트 인코딩구성파일은 UTF8 인코딩을 사용하며 Unix 스타일의 줄바꿈인 LF를 사용한다. 그러나 windows 스타일의 줄바꿈인 CRLF도 허용한다. 오픈소스를 작업 할 때 줄바꿈을 LF로 바꿔주는것을 권장한다. 대부분의 오픈소스, 컨테이너 기반은 Unix 위주여서 CRLF가 오류가나는 경우가 있다.# 디렉토리Terraform은 현재 디렉토리에 있는 모든 .tf 파일을 읽는다.​# 구성 파일의 블록 정의Ansible의 task와 비슷하다. .. 2024. 6. 2.
Terraform With Windows Terraform 프로그램 설치설치 방법은 간단하며 환경변수를 지정하여 바로 실행이 가능하다.[다운로드]다운로드는 아래 페이지에서 바로 가능하다.https://www.terraform.io/downloads.htmlDownload Terraform - Terraform by HashiCorpDownload Terraformwww.terraform.io[설치]terraform.exe 파일 다운로드 후 C:\terraform 디렉토리 저장환경변수 등록 (내컴퓨터 > 고급시스템속성 > 고급)시스템 변수 > Path 편집terraform 환경변수 등록 (C:\terraform)CMD 실행하여 Terraform 실행terraform 초기화- 테라폼 본체에 프로바이더들이 포함되어 있었지만 0.10 버전 부터프로바이.. 2024. 6. 2.
Terraform vs Ansible? TerraformTerraform 웹사이트에 따르면Terraform은 infrastructure의 building, changing, and versioning을 안전하고 효과적으로 할 수 있는 툴입니다. Terraform은 기존의 인기있는 서비스 제공 업체와 맞춤형 사내 솔루션을 관리 할 수 있습니다.Terraform은 Slack, Twitch(독자적인 인프라 관리 툴 Cloud Formation을 가진 아마존의 소유), Uber, Startbucks같은 회사에서 사용중 입니다. Terraform은 CloudFare, Heroku, Microsoft Azure 이나 Google Compute 엔진과 통합될 수 있습니다.AnsibleAnsible은 IT infrastructure와 app을 자동화하고 구.. 2024. 6. 2.
[T101 Study 7주차] 프로덕션 수준의 테라폼 코드 tfenv 설치 : 테라폼 버전 관리 툴# 설치brew install tfenv# 설치 가능 버전 확인tfenv list-remote | head# 현재 설치된 버전 확인tfenv list# 특정 버전 설치#(옵션) export TFENV_ARCH=arm64 # mac Apple silicon M1/M2tfenv install 1.2.3# 특정 버전 사용tfenv use 1.2.3 # 테라폼 버전 확인terraform versionEC2, ALB, RDS Monitoring## EC2while true; do aws ec2 describe-instances --query "Reservations[*].Instances[*].{PublicIPAdd:PublicIpAddress,InstanceName:Ta.. 2022. 12. 11.