본문 바로가기

전체 글137

8주차 1편 테라폼 OpenTofu OpenTofu 소개OpenTofu: Terraform의 오픈 소스 포크오픈 소스 인프라 관리 도구 OpenTofu는 HashiCorp의 Terraform에서 파생된 커뮤니티 주도 프로젝트입니다.2023년 8월, HashiCorp는 Terraform의 라이선스를 Mozilla Public License(MPL)에서 비오픈 소스 라이선스인 Business Source License(BUSL)로 변경했습니다 .이로 인해 Terraform의 오픈 소스 포크 프로젝트인 OpenTF가 탄생했으며, 이는 곧 OpenTofu로 이름을 변경했습니다 .OpenTofu의 목표와 기능OpenTofu는 클라우드 및 온프레미스 리소스를 사람이 읽을 수 있는 구성 파일에 정의하고, 이를 통해 인프라의 프로비저닝 및 관리를 일관된.. 2024. 8. 4.
7주차 2편 테라폼으로 AWS EKS 배포 - EKS Workshop EKS WorkshopEKS Workshop 소개EKS Workshop는 Amazon Elastic Kubernetes Service(EKS)를 학습하고 배포하는 다양한 주제와 기술을 다루는 실습 랩 가이드를 제공합니다.EKS를 배포하는 데 사용할 수 있는 다양한 툴이 제공됩니다.eksctlterraformCDK(곧 추가될 예정)[실습] EKS 배포사전 준비 : awscli (IAM '관리자 수준' 자격증명 필요), terraform, kubectl, helmaws --versionterraform --versionkubectl version --client=truehelm -h코드 준비git clone https://github.com/aws-samples/eks-workshop-v2cd eks-wor.. 2024. 7. 28.
7주차 1편 테라폼으로 AWS EKS 배포 - EKS Blueprints for Terraform Amazon EKS Blueprints for TerraformAmazon EKS Blueprints for Terraform 소개Amazon EKS Blueprints for Terraform는 사용자가 원하는 솔루션을 쉽게 구현할 수 있도록 다양한 패턴과 스니펫을 제공합니다. 이 블루프린트는 아래의 두 가지 방식으로 사용할 수 있습니다Reference : 제공된 패턴과 스니펫을 참고하여 원하는 솔루션을 구성합니다. 사용자는 패턴 또는 스니펫의 구성 방법을 확인하고 이를 자신의 환경에 맞게 복제할 수 있습니다.Copy & Paste : 패턴과 스니펫을 자신의 환경에 복사하여 초기 구현을 시작할 수 있습니다. 이후 사용자는 필요에 따라 초기 패턴을 맞춤화하여 자신의 요구에 맞게 조정합니다.고려사항EKS .. 2024. 7. 28.
5주차 2편 테라폼 Runner RunnerAtlantis소개Atlantis는 테라폼을 이용한 인프라 자동화 도구로, 주로 Pull Request를 통해 Terraform 워크플로우를 쉽게 실행할 수 있게 해줍니다.Atlantis는 GitHub, GitLab, Bitbucket과 같은 버전 관리 시스템과 통합되어 테라폼 작업을 자동화합니다. PR 생성 시 terraform plan을 실행하고, 결과를 PR에 댓글로 달아줍니다. 사용자가 atlantis apply 명령을 댓글로 달면 terraform apply를 실행하여 그 결과도 PR에 남깁니다.모든 테라폼 변경 작업은 PR을 통해 수행되므로, 팀 내 모든 구성원이 인프라 변경 내용을 쉽게 파악하고 리뷰할 수 있습니다.Atlantis는 인프라 변경, 승인 및 사용자 활동에 대한 자세한.. 2024. 7. 14.
5주차 1편 테라폼 Module ModuleTerraform을 사용하여 인프라와 서비스를 관리하는 과정에서 시간이 지남에 따라 구성이 복잡해지고 관리하는 리소스가 증가하게 됩니다.Terraform의 구성 파일과 디렉터리 구조에는 제약이 없어 단일 파일 구조에서 지속적으로 업데이트할 수 있지만, 다음과 같은 문제들이 발생할 수 있습니다원하는 항목을 찾고 수정하는 것이 어려워짐리소스 간의 연관 관계가 복잡해짐에 따라 변경 작업의 영향도를 분석하기 위한 노력이 증가함개발, 스테이징, 프로덕션 환경으로 구분된 경우 비슷한 형태의 구성이 반복되어 업무 효율이 저하됨새로운 프로젝트 구성 시 기존 구성에서 필요한 리소스 구성과 종속성 파악이 어려움모듈의 개념모듈은 Terraform 구성의 집합으로, 규모가 커지고 복잡해진 구성을 관리하기 위한 방안.. 2024. 7. 14.
4주차 2편 테라폼 State StateState의 목적과 의미이론 내용상태 파일은 테라폼이 관리하는 인프라 리소스의 현재 상태를 기술합니다.이 파일은 JSON 형식 또는 Terraform Cloud 및 Terraform Enterprise에서는 HCL 형식으로 저장될 수 있습니다.테라폼 상태 파일을 직접 편집하거나 직접 읽는 코드로 작성해서는 안 됩니다. 이는 테라폼의 내부 동작 원리와 상태의 일관성을 보장하기 위한 것입니다.  팀 단위에서 테라폼을 운영하기 위한 고려사항상태 파일을 저장하는 공유 스토리지 (Shared storage for state files)팀원들이 동일한 테라폼 상태 파일을 사용하기 위해서는 상태 파일을 공유할 수 있는 위치가 필요합니다.상태 파일 잠금 (Locking state files)테라폼에서는 상태 .. 2024. 7. 7.
4주차 1편 테라폼 프로바이더 프로바이더테라폼은 인프라 자동화 도구로, 다양한 클라우드, SaaS, 기타 서비스의 인프라와 리소스를 관리할 수 있습니다.이를 가능하게 하는 것이 프로바이더입니다. 각 프로바이더는 특정 클라우드 플랫폼이나 서비스의 API와 상호작용하여 리소스를 관리할 수 있도록 합니다.프로바이더는 테라폼 실행 시, 특정 클라우드나 서비스의 API를 호출하여 리소스를 생성하거나 관리합니다.각 프로바이더는 테라폼의 고유 문법을 따르면서, 다양한 환경에서 동일한 동작을 수행할 수 있도록 구현됩니다.각 프로바이더는 테라폼 실행 파일과는 별도로 관리되며, 테라폼 레지스트리에서 관련 문서와 설정 방법을 확인할 수 있습니다.프로바이더를 사용하기 위해서는 해당 클라우드나 서비스와의 연결 및 인증에 필요한 정보(예: AWS 자격증명)를.. 2024. 7. 7.
3주차 2편 테라폼 기초 - 기본 사용 3/3 3.12 프로비저너프로비저너는 테라폼에서 리소스를 생성하고 관리하는 동안 추가적인 설정이나 작업을 수행하는 도구입니다.프로비저너는 특정 리소스가 생성된 후에 실행되며, 주로 초기화 스크립트 실행, 설정 파일 복사, 배포용 스크립트 실행 등의 작업을 수행합니다.프로비저너로 실행된 작업들은 테라폼 상태 파일과 동기화되지 않습니다. 따라서 프로비저너로 수행된 변경 사항은 테라폼이 추적하는 인프라 상태에 포함되지 않습니다.이는 프로비저닝 작업의 결과가 항상 일관되게 보장되지 않는다는 의미이며, 이러한 측면에서 프로비저너는 "선언적 보장이 안되는" 접근 방식을 가집니다.프로비저너는 특정 상황에서 유용하지만, 테라폼의 선언적 구성 방식을 유지하고자 할 때는 최소화하는 것이 좋습니다.프로비저너의 주된 종류로는 다음과.. 2024. 6. 30.