퍼블릭 클라우드에서 IaC로 많이 사용하는 테라폼의 기본 명령어들입니다. DevOps나 SRE하시는분들은 참고하시면 좋을거 같습니다~^^
💻 코드형 인프라(IaC = Infrastructure as Code)
- 개념: 수동 프로세스가 아닌 코드를 통해 인프라를 관리하고 프로비저닝하는 것
- 주요 특징
- 일관성: 인프라를 코드로 정의하여 수동 오류 제겅
- 반복성: 표준화된 구성으로 환경을 빠르게 복제
- 버전 관리: 애플리케이션 코드처럼 인프라 변경 사항 추적
- 주요 IaC 도구들
- 테라폼(Terraform)
- 다양한 클라우드 프로바이더 및 온-프렘 기반의 인프라스트럭처를 지원하는 자동화 도구. 단순성, 유연성, 제공자에 구애받지 않는 접근 방식
- Hashicorp: 2024년 4월 IBM에 인수됨
- 앤서블(Ansible)
- IT 환경에서 시스템 설정, 소프트웨어 배포, 작업 자동화 등 다양한 작업을 자동화하는 데 사용
- RedHat: 2018년 11월 IBM에 인수됨
- 테라폼(Terraform)
🎃 주요 Terraform 명령어: 종합 가이드
1. 초기화 및 설정
- terraform init: Terraform 구성 파일이 포함된 작업 디렉터리 초기화
- terraform login: 테라폼 클라우드에 대한 자격 증명 저장
- terraform logout: 테라폼 클라우드의 자격 증명 제거
2.계획 및 실행
- terraform plan: Terraform이 수행할 작업을 요약한 실행 계획 생성
- terraform apply: Terraform 구성에 설명된 변경 사항 적용
- terraform apply --auto-approve: 승인 없이 변경 사항을 자동적용
- terraform apply -target=resource: 특정 리소스에만 변경 사항 적용
- terraform apply -var='key=value': 명령줄에서 직접 변수 값 설정
- terraform apply -var-file=filename.tfvars: 변수 정의가 포함된 파일 지정
- terraform plan -out=파일명: 생성된 계획 파일 저장
3. 리소스 관리
- terraform destroy: 구성에 설명된 모든 리소스 삭제
- terraform destroy -target=resource: 특정 리소스 파괴
- terraform taint: 리소스를 재생할 수 있도록 수동 표시
- terraform untaint: 자원에서 '오염' 상태 제거
- terraform import: 기존 인프라를 테라폼 상태로 가져옴
4. 검증 및 출력
- terraform validate: Terraform 구성 파일의 구문과 유효성 확인
- terraform output: 스테이트에서 출력 값을 표시하거나 검색
- terraform show: 현재 상태 또는 특정 리소스의 사람이 읽을 수 있는 출력 표시
5.상태 관리
- terraform state list: 테라폼 스테이트 내의 리소스 나열
- terraform state mv: 스테이트에 있는 항목 이동
- terraform state rm: 스테이트에서 아이템 제거
- terraform state pull: 원격 백엔드에서 상태 가져옴
- terraform state push: 상태를 원격 백엔드 푸시
- terraform refresh: 공급자의 실제 리소스에 대해 상태 파일 업데이트
6. 포맷 및 시각화
- terraform fmt: 구성 파일을 표준 형식으로 재작성
- terraform graph: Terraform 종속성 그래프의 시각적 표현 생성
7.워크스페이스 관리
- terraform workspace list: 사용 가능한 워크스페이스 나열
- terraform workspace select: 다른 기존 워크스페이스 전환
- terraform workspace new: 새 워크스페이스 생성
- terraform workspace delete: 기존 워크스페이스 삭제
8.문제 해결 및 잠금 관리
- terraform force-unlock: 잠긴 상태 해제
'IT' 카테고리의 다른 글
[Deepview]보안 전문가가 말하는 디지털 건강/사이버보안의 중요성 (1) | 2024.12.01 |
---|---|
[Dev] 클라우드모니터링 솔루션: 프로메테우스 및 그라파나 (1) | 2024.11.24 |
[서평]오픈 - 비즈니스 패권의 열쇠 (5) | 2024.10.28 |
코드 품질 향상을 위한 10가지 좋은 코딩 원칙 (0) | 2024.02.04 |
[트렌드와칭] 2024년 주목해야 할 블록체인 트렌드 5가지 (2) | 2024.01.03 |