IAC

1. Amazon EKS Blueprints for Terraform - Karpenter on EKS FargateAmazon EKS Blueprints for Terraform는 Terraform을 사용하여 다양한 Amazon EKS 클러스터 패턴 템플릿을 제공합니다. 테라폼이 복잡하게 권장하는 구성 지침보다는 사용자가 EKS 클러스터를 최대한 빠르고 쉽게 구성할 수 있도록 하는데에 초점을 두고 있습니다. 아래와 같이 다양한 기타 프로젝트를 지원합니다.GitopsData on EKSObservability AcceleratorKarpenter Blueprintskarpenter-blueprints Fargate는 컨트롤 플레인 + Fargate(데이터 플레인)의 완전한 서버리스형 쿠버네티스 컴퓨팅 엔..
모듈(Module)모듈은 테라폼에서 재사용 가능한 구성 요소입니다. 여러 리소스의 집합을 캡슐화하여 다른 테라폼 구성 파일에서 호출할 수 있게 합니다. 모듈을 사용하면 인프라 코드를 더 구조화되고 관리하기 쉽게 만들 수 있습니다. 마치 개발에서 사용되는 라이브러리, 모듈 개념과 비슷하다고 할 수 있습니다.   자식 모듈과 자식모듈을 호출하는 루트 모듈의 디렉터리로 구조입니다.모듈 기본 작성 원칙디렉터리 형식 제안: 모듈 디렉터리 이름은 terraform-- 형식을 사용합니다. 이 형식은 모듈이 테라폼용이고, 어떤 프로바이더의 리소스를 포함하며, 모듈의 이름을 명확히 알 수 있도록 합니다.모듈화 가능한 구조로 작성: 테라폼 구성은 처음부터 모듈화를 염두에 두고 작성합니다. 단일 루트 모듈이라도 후에 다른 ..
프로바이더(Provider)Terraform 프로바이더는 다양한 클라우드 서비스 및 인프라 플랫폼과 상호작용할 수 있게 해주는 플러그인입니다. 프로바이더는 Terraform이 관리할 수 있는 리소스 유형과 API를 정의하며, Terraform 구성 파일에서 해당 리소스를 선언하고 관리할 수 있도록 합니다.프로바이더 구성테라폼 레지스트리를 통해 수 많은 벤더사의 프로바이더를 제공합니다. 프로바이더 목록에는 유지 보수 및 게시에 권한에 따라 티어가 존재한다고 합니다.provider 키워드를 통해 선언하고 terraform init 명령어 시, 프로바이더 파일을 다운로드합니다.# main.tfprovider "aws" { region = "us-west-2" access_key = "your-acc..
1. 데이터 소스Terraform 코드에서 외부 리소스의 정보를 가져와서 사용할 수 있게 해주는 구성 요소입니다.외부 리소스 참조: 데이터 소스를 사용하여 외부 인프라의 정보를 읽어올 수 있습니다. 예를 들어, 이미 존재하는 AWS VPC, 서브넷, 또는 보안 그룹의 정보를 가져와서 사용할 수 있습니다.동적 설정: 데이터 소스에서 가져온 값을 바탕으로 동적으로 설정을 조정할 수 있습니다. 예를 들어, 최신 AMI ID를 가져와서 EC2 인스턴스를 생성할 때 사용할 수 있습니다.구성 파일 간의 의존성 관리: 서로 다른 테라폼 구성 파일 간에 데이터 소스를 통해 의존성을 관리할 수 있습니다. 다른 모듈에서 생성한 리소스의 정보를 데이터 소스를 통해 가져와서 사용할 수 있습니다데이터 소스 구성데이터 소스 선언..
가시다님이 진행하시는 T101(Terraform 101 Study) 내용 정리입니다.스터디 내용은 테라폼으로 시작하는 IaC 책의 내용을 참고하였습니다.테라폼 기본 사용테라폼은 hashcorp사에서 공개한 너무나도 유명한 IaC 도구입니다.테라폼 설치mac os를 기준, 설치 방법입니다. tfenv는 테라폼의 다양한 버전을 사용할 수 있게 해 주는 도구입니다.테라폼 설치 버전 : 1.8.5테라폼 자동완성 설치# tfenv 설치brew install tfenv# 설치 가능 버전 리스트 확인tfenv list-remote# 테라폼 1.5.1 버전 설치tfenv install 1.8.5# 테라폼 1.5.1 버전 사용 설정 tfenv use 1.8.5# tfenv로 설치한 버전 확인tfenv list# 테라폼 ..
앤서블의 단점을 꼽자면? Ansible의 장점은 너무나도 많지만, 제가 생각하는 가장 큰 단점은 다른 사람과의 협업이 불편하다고 생각합니다. 왜냐하면 앤서블은 agentless방식으로 ssh로만 동작하기 때문에 버전관리 및 권한관리가 어렵습니다. 플레이북을 Git을 통해 형상관리를 할 수는 있지만, 사용자의 권한을 제약하고 플레이북을 실행을 추적하는 데 있어서 어려움이 존재합니다. 앤서블은 CLI로 동작하기 때문에 사용하는 데 있어서 어느 정도 러닝커브가 있기도 하며 플레이북을 실행시킬 수 있는 서버를 제공해야 합니다. 하지만, 세마포어(Semaphore)라는 앤서블 UI 오픈소스를 사용하면 아래와 같은 기능들로 앤서블의 단점들을 보완할 수 있다고 생각합니다 (뮤텍스와 세마포어의 세마포어가 아님주의) 빌..
국내의 경우, 서버를 운영 환경에서 관리하다보면 한국인터넷진흥원에서 등에서 제공하는 보안 취약점 항목들을 마주칠 것입니다. 입사 1년차때가 생각이 납니다. 선임을 도와 CSAP 인증을 진행하고 있었습니다. 수십대의 서버를 다루고 항목이 워낙 많다보니 결국 권한을 잘못 부여하였고, 설정파일을(pwquality.conf)을 잘못 수정하여 SSH 접속이 되지 않는 큰 실수를 해버렸습니다.( chown -R 명령어를 / 하위에 해버렸다.. 다행히 Snapshot이 있어, 복구는 했었다.) 그때, 앤서블을 활용하였다면 시간과 실수를 많이 줄일 수 있었는데 말입니다. 이번주차는 앤서블을 통해 보안설정 및 모니터링을 자동화 실습을 해보도록 하겠습니다.1. 보안설정 자동화1.1 패스워드 변경 주기 설정하기(chage)..
앤서블 롤(Roles) 롤은 관리/재사용의 목적으로 "플레이북 내용을 기능 단위로 나눈 모듈 단위를 말합니다. 앤서블 갤럭시를 통해 롤을 공유하고 사용자들이 만든 잘 짜인 롤을 가져올 수도 있습니다. 롤 생성하기 ansible-galaxy 명령어로 롤을 생성하고 확인할 수 있습니다. # 롤 생성 # : ansible-galaxy role init --init-path mkdir roles ansible-galaxy role init --init-path ./roles myrol # 롤 생성 확인 role list --roles-path roles - myrole, (unknown version) tree roles 앤서블 롤의 구조는 다음과 같은 구성요소로 구성되어 있습니다. 앤서블 롤은 용도에 맞게 디..
장성필(hackjap)
'IAC' 태그의 글 목록