> 챕터 16 쿠버네티스 관련 프로바이더
현대 인프라 관리의 표준인 쿠버네티스에 대해서 쿠버네티스와 헬름 프로바이더를 알아보자.
12 posts
현대 인프라 관리의 표준인 쿠버네티스에 대해서 쿠버네티스와 헬름 프로바이더를 알아보자.
테라폼 프로바이더는 오픈소스 프로젝트로, 테라폼을 만든 하시코프에서 공식적으로 제공하는 프로바이더가 존재한다. 특히 공식 프로바이더 중에서 유틸리티로 사용가능한 프로바이더를 확인해 본다.
다중 프로바이더를 사용한 vpc 피어링 모듈을 만들어보자. vpc 피어링은 서로 다른 vpc 사이의 프라이빗 통신을 가능하게 하는 네트워크 연결로 서로 다른 계정 또는 다른 리전의 vpc 와 피어링 연결이 가능하다. 따라서 단일 계정 혹은 다중 계정 중 어떤 상황에서도
YAML 파일을 입력으로 받고, 앞서 만든 VPC 모듈과 보안 그룹 모듈의 출력값을 모두 활용하는 EC2 모듈을 만들어 보자.
보안 그룹 모듈을 만들어보자. 보안 그룹의 경우에는 보안 그룹 생성하는 것뿐만 아니라, 보안 그룹에 속한 규칙도 하나하나 관리할 수 있어야 한다. 보안 그룹은 다른 인프라 리소스에 비해 많은 수의 리소스를 만들게 되며 하나의 보안 그룹 안에 속하는 규칙도 수십 개가 넘
인프라 관리 엔지니어의 취향 혹은 내부 컨벤션에 따라 동일 결과물을 내는 테라폼 구현체는 크게 달라질 수 있다. 이는 테라폼의 높은 자유도 덕분이며 이렇게 높은 자유도를 가지게 되는 기술들은 대체로 모범사례라는 암묵적으로 합의하는 효율적인 규칙들이 존재한다.
다시 복기해 보자. 테라폼 실행환경은 테라폼의 명령어를 실행할 수 있는 디렉터리로, 루트 모듈이 실행 환경이다. 같은 루트모듈을 사용하더라도 워크스페이스를 사용하여 실행 환경을 논리적으로 분류할 수 있다.
테라폼을 사용하다 보면 비슷한 리소스 구성을 반복해서 작성하게 되는 경우가 많다. 이런 반복을 줄이고 인프라 코드를 재사용 가능한 단위로 관리할 수 있게 해주는 것이 바로 모듈이다.
모든 프로그래밍 언어를 배우면 자료형부터 배우듯이 테라폼의 기본적인 문법을 배울 때에도 데이터 타입부터 배운다. 테라폼에는 문자열, 숫자, 불리언, 리스트, 맵, 집합 데이터 타입이 존재한다. 값을 누락시키기 위해서는 null이라는 특수한 값을 사용한다.
테라폼의 기대 상태를 사용자가 정의하는 파일을 구성 파일이라고 한다. 해당 파일은 사용자별로 혹은 팀별로 인프라 구성 의도가 담겨 있는 테라폼의 핵심 파일이다. 일반적으로. tf 확장자를 가진 파일을 일반적으로 테라폼 구성 파일이라고 명명하며 테라폼 코드라고도 부른다.
\ 앤서블은 다양한 모듈을 제공하지만, 테라폼에 비해 클라우드 인프라 프로비저닝 프로바이더가 제한적임
IaC는 인프라를 사람의 개입에 의한 물리적 방식에 의존하지 않고, 시스템화된 코드로 정의하여 인프라를 자동으로 관리하는 프로비저닝 방식을 말한다.