개발자의 스터디 노트
EKS 구축에 사용하는 도구 본문
EKS 클러스터를 구축하는 방법은 다음과 같습니다.
- EKS 클러스터 구축 도구 eksctl을 이용하는 방법
- AWS 관리 콘솔(또는 AWS CLI)을 이용하는 방법
eksctl 이란?
EKS 클러스터 구축 및 관리를 하기 위한 오픈소스 명령줄 도구입니다.
기본 구성이라면 'eksctl create cluster'란 명령어만으로 EKS 클러스터를 구축할 수 있습니다.
eksctl을 사용하면 VPC, 서브넷, 보안 그룹 등 EKS 클러스터를 구축하는 데 필요한 리소스를 한 번에 구성할 수 있습니다.
VPC 등의 기본 리소스는 EKS 클러스터와 별도로 구축하는 것이 구성을 유연하게 할 수 있습니다.
VPC 관련 용어
AWS에서는 서버 등의 리소스를 VPC라는 논리적으로 분리된 영역을 이용하여 관리합니다. 1개의 AWS 계정에 VPC 여러 개를 생성할 수 있지만 기본적으로 VPC끼리는 독립적인 환경이고 명시적으로 VPC를 연결(파이어링) 하지 않는 한 VPC 간 통신은 할 수 없습니다.
AWS 데이터센터는 전 세계에 존재하지만 모두 리전이라고 하는 지리적 영역에 속한 형태입니다. 대부분의 AWS 서비스는 모두 리전을 선택해 리소스를 생성하게 되어 있습니다. VPC는 리전 여러개를 선택해서 생성할 수 없기 때문에 기본적으로 1개의 리전을 선택하여 그 안에 서비스를 구축합니다. 한국은 서울 리전, 일본은 도쿄와 오사카 리전이 존재합니다.
리전 안에는 가용 영역이 여러 개 있습니다. 가용 영역들은 리전 내에서 물리적으로 떨어진 장소에 존재하므로 가용 영역 여러 개에 리소스를 배포하여 다중화해두면 데이터센터 수준의 장애가 발생해도 서비스를 계속할 수 있습니다.
VPC는 서비넷을 사용해 네트워크를 분할하여 관리합니다. 서브넷은 가용 영역 여러 개를 동시에 사용할 수 없으며 가용 영역 여러 개를 사용할 경우 서브넷도 그만큼 나눠야 합니다.
라우팅 설정은 서브넷 단위로 할 수 있습니다. 예를 들면 인터넷에 직접 접속할 수 있는 서브넷(퍼블릭 서브넷)과 직접 접속할 수 없는 서브넷(프라이빗 서브넷)을 생성할 수 있습니다. 이런 구조를 활용하기 위해 네트워크 특성에 맞게 서브넷을 나누어 운영하는 경우가 많습니다.
CloudFormation을 이용한 환경 구축
AWS에서 제공하는 환경 구축 도구입니다.
AWS 리소스는 AWS 관리 콘솔(AWS가 제공하는 웹 UI)이나 AWS CLI 등 여러 방법으로 구축 가능하지만 관련 리소스를 한 번에 구축하고 필요에 따라 변경 및 삭제할 때는 CloudFormation이 적합합니다.
CloudFormation에서는 JSON 또는 YAML 형식으로 시소스 구성을 정의합니다. 실행은 AWS 관리 콘솔, AWS CLI(AWS가 제공하는 AWS 리소스를 관리하기 위한 명령줄 도구)에서 모두 가능합니다.
AWS 관리 콘솔
AWS 관리 콘솔은 AWS 서비스를 관리하기 위한 웹 사용자 인터페이스입니다. AWS의 가장 일반적인 조작 방법이며 GUI 기반이므로 AWS에 익숙하지 않은 분도 직관적으로 쉽게 사용할 수 있습니다.
AWS CLI
AWS CLI(명령줄 인터페이스)는 AWS가 제공하는 명령줄 도구로 AWS 관리 콘솔과 함께 AWS 리소스 관리에 많이 사용됩니다. AWS CLI는 파이썬으로 만들어진 도구로 인스톨러가 제공되며 파이썬 패키지 관리 도구인 pip를 이용해 설치할 수도 있습니다.
'클라우드' 카테고리의 다른 글
Docker 명령어 정리 (0) | 2022.07.18 |
---|---|
AWS 서비스 용어 (0) | 2022.04.29 |
Amazon EKS가 무엇인가요? (0) | 2022.04.28 |
컨테이너, 도커, 쿠버네티스 (0) | 2022.04.27 |