본문 바로가기
728x90
반응형

IaC7

Terraform의 오픈소스 대안 OpenTofu? 개념부터 사용까지 OpenTofu 란?OpenTofu는 Terraform의 라이센스 변경에 대한 대응으로 탄생한 오픈소스 프로젝트이다.Terraform은 2014년에 Mozilla Public License (v2.0) 하에 오픈소스로 공개되었고, 이후 대규모의 사용자, 기여자, 고객, 실무자, 벤더, 그리고 오픈소스 모듈, 플러그인, 라이브러리, 확장 프로그램들로 이루어진 커뮤니티를 구축했다. 그러나 2023년 8월 10일, HashiCorp는 개인 사용자는 Terraform을 재가공하여 사용할 수 있지만, 상업적으로는 사용하지 못하게 하는 정책으로 Terraform의 라이센스를 Mozilla Public License에서 Business Source License (v1.1)로 변경했다. 이는 오픈소스 라이센스가 아니.. 2024. 4. 8.
Terraform Cloud Drift Detection이란? 참고 해당 기능은 Terraform Cloud Plus 기능이다. 자세한 내용은 Terraform Cloud 가격 참조." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스Drift Detection란?Terraform Cloud의 Drift Detection는 인프라 상태를 지속적으로 확인하여 운영자에게 변경 사항을 감지하여 알리고 위험, 가동 중지 시간 및 비용을 최소화한다.Terraform Drift Detection는 Terraform이 상태 파일에 반영한 내용에서 리소스가 변경된 시기를 선제적으로 감지한다. 이번 글에서는 Drift Detection 기능을 활성화 후 문제 발생 시 어떤 식으로 감지하여 보여주는지 확인해보려 한다. 전제 조건Terraform Cloud .. 2024. 3. 5.
Terraform Cloud Agent 개념 및 사용 방법 참고 Terraform Cloud 무료 버전에는 자체 호스팅 Agent 1개가 포함되어 있다. 자세한 내용은 Terraform Cloud 가격 참조." data-ke-type="html">HTML 삽입미리보기할 수 없는 소스Terraform Cloud Agent란? Terraform Cloud를 사용하면 자체 호스팅된 Terraform Cloud Agent를 통해 제한된 private 환경, 또는 온-프레미스 인프라를 관리할 수 있다. 이 Agent는 Terraform Cloud 또는 Terraform Enterprise의 구성 변경사항을 주기적으로 확인하고, 변경사항을 로컬에서 실행한다. 그래서 사용자의 리소스에 대한 공개적인 수신 트래픽을 허용할 필요가 없다. 아래 그림을 통해 동작 구조를 확인할.. 2024. 2. 29.
Terraform Cloud를 활용한 Kubernetes Provider 동적 자격 증명 구성(Dynamic Provider Credentials) Terraform Cloud를 통해 동적 자격 증명에 대한 간략한 내용 및 AWS Provider 동적 자격 증명 구성 실습을 이 전 글에서 다루었다.[Terraform Cloud를 활용한 AWS Provider 동적 자격 증명 구성(Dynamic Provider Credentials] 이번 글에서는 Kubernetes 동적 자격 증명 구성을 통해 Kubernetes RBAC권한을 이용하여 테라폼에서 Kubernetes Provider를 사용하여 Kubernetes 리소스를 배포하는 실습을 다룰 것이다.   Kubernetes Dynamic Provider Credentials의 인증 워크플로우는 아래와 같다. 사용자가 Terraform Cloud를 통해 Plan & Apply를 실행한다.Terrafor.. 2024. 1. 9.
Terraform Cloud를 활용한 AWS Provider 동적 자격 증명 구성(Dynamic Provider Credentials) Terraform Cloud 환경에서 Terraform을 사용할 때 AWS Provider 사용에 필요한 "access_key", "secret_key" 값을 설정해야 하는데 일반적으로 워크스페이스 변수 또는 변수 세트를 사용하여 정적으로 자격 증명을 저장하여 사용한다.  그러나 이 방식은 장기간 자격 증명이 저장되어 있고, 모든 작업에 동일한 권한이 부여되어야 함을 의미하며 이는 보안 문제를 야기할 수 있다. 또한, 정적 자격 증명을 저장하여 사용할 때 자격 증명을 교체해야 하는 상황이 발생하는데, 매번 수동으로 교체하는 작업은 운영 부담이 증가하게 되고 이 과정 중 보안 위험에 노출될 수 있다. 이러한 문제를 해결하기 위해 Terraform은 AWS 환경에서 사용할 수 있는 Dynamic Provid.. 2024. 1. 9.
Terraform + Vault AWS AssumeRole 연동 Terraform에서 AWS Provider를 사용할 때 AWS 자격 증명 정보를 하드 코딩하는 것은 보안에 매우 취약하다. Vault에서는 해당 문제를 해결하기 위해 AWS Secrets Engine 기능을 제공한다. AWS Secrets Engine은 동적으로 AWS 자격 증명을 생성하고 관리하는 데 사용된다. 이를 통해, Terraform 코드에 자격 증명 정보를 저장하지 않고도 AWS 리소스를 관리할 수 있다. Vault의 AppRole은 Vault에서 생성된 role_id와 secret_id를 통해 동적으로 자격 증명을 생성하여 인증하는 방식이다. Vault의 AWS STS Assume Role은 Vault에서 AWS STS API를 사용하여 AWS iam role을 통해 일회성 자격 증명을 생.. 2023. 4. 24.
Terraform Local -> Terraform Cloud로 마이그레이션 일반 로컬 환경에서 Terraform을 사용하는 경우 terraform.tfstate 파일을 잘 관리해야 한다. terraform.tfstate 파일은 Terraform이 관리하는 인프라 상태 정보를 담고 있으며, 이를 통해 Terraform 은 변경 사항을 추적하고 관리한다. 만약 terraform.tfstate파일이 유실되거나 실수로 삭제되면, 이전 상태로 복원할 수 없게 되는 정말 끔찍한 상황을 맞이하게 된다. Terraform Cloud는 이러한 문제를 해결하기 위해 원격으로 terraform.tfstate 파일을 안전하게 관리할 수 있도록 지원한다. 이를 통해 로컬에서 발생할 수 있는 다양한 문제를 예방할 수 있다. 또한, Terraform 코드를 Git 저장소를 통해 관리하면 코드를 안전하게 .. 2023. 4. 6.
728x90
반응형