티스토리 뷰

클라우드 서버는 제일 유명한 건 구글 GCP, 아마존 AWS 그리고 프리티어가 있는 오라클 OCI 등이 있지만 이번에는 AWS를 이용하여 서버를 구성해보겠습니다.

오라클 프리티어는 사실 프리티어 자체로는 쿠버네티스를 구현하기엔 사양이 부족합니다.

AWS도 쿠버네티스 구현하다보면 프리티어 범위를 벗어납니다.

 

대략적으로

AWS 인스턴스 생성 및 기본 설정

kops를 이용해서 쿠버네티스 클러스터 구성 + 500원짜리 도메인 구매해서 사용하기

EC2에 젠킨스 설치

마스터노드에서 helm 설치

helm으로 젠킨스 설치

젠킨스깃헙을 이용해서 배포 구성

argoCD로 배포

MSA 소스 배포

를 만들어 보겠습니다.

 

사용툴은 AWS, kops, EC2, Kubernetes, Jenkins(젠킨스 내 각종 플러그인), argoCD 등입니다.

 

아마존 처음 접속시 ap-northeast-1(일본 리전)에 있는데 한국 리전을 쓰려면 인스턴스 생성 전 ap-northeast-2로 변경해줍니다.

EC2 메뉴에 들어가 Launch Instances를 누르면 크게

인스턴스명, 운영체제, 인스턴스 타입, 스토리지 타입을 고르게 됩니다.

 

쿠버네티스를 구성하기 위한 서버이기 때문에 가장 사용자가 많은 우분투 서버에

t2.medium(2vCPU, 4GiB 메모리)를 선택하였습니다.

 

이후 키페어, 시큐리티 그룹, 스토리지 설정만 하면 인스턴스 설정은 거의 끝납니다.

 

인스턴스 생성시 키 페어와 시큐리티 그룹을 설정할 수 있는데, 키페어가 없어도 접속하거나 비밀번호로 접속하게 추후 설정하는 방법은 있지만

번거로우니 인스턴스 생성시 Create new key pair로 새로운 키 페어를 발급받아 키 파일을 다운로드해둡니다.

putty에서 사용시 .pem 보다 .ppk를 받으면 편리합니다. 

 

시큐리티 그룹에서 Create security group을 하면 자동으로 Allow SSH traffic from에 체크되어 22번 포트가 열린 상태가 됩니다. 어디서든 해당 포트 접속 가능하게 하려면 Anywhere로 설정하고 보안상 내 아이피만 접속 가능하게 하려면 My IP로 설정하면 됩니다.

시큐리티 그룹 매뉴에서 차후 오픈할 포트를 수정할 수 있습니다.

EC2는 젠킨스 같은 툴 접속시 해당하는 시큐리티그룹에서 포트를 꼭 열어줘야 합니다.

스토리지(저장소) 용량은 16기가로 설정합니다. kops로 쿠버네티스 구성 시 따로 생성되는 EC2에 용량이 꽤 들어가기 때문에 EC2 서버는 적게 잡았습니다.

프리티어는 총 30GB 사용 가능한거 같습니다.

스토리지 설정까지 하면 인스턴스를 생성할 수 있습니다.

 

인스턴스를 생성하면 인스턴스를 재시작할 때 주소가 변하지 않는 Elastic IP 주소를 할당할 수 있는데

(인스턴스에 Elastic IP 할당방법)

인스턴스가 실행중이면 해당되는 Elastic IP 요금이 나오지 않지만

인스턴스 중단시 Elastic IP 요금이 나오게 됩니다.

인스턴스를 아예 삭제(Terminate)할 때는 관련 다른 서비스를 모두 삭제한 건지, EC2 대시보드에서 사용중인 서비스가 있는지 확인해야 합니다. 

 

인스턴스를 정지하면 인스턴스 실행 요금은 나오지 않지만 실행시와 마찬가지로 볼륨(스토리지) 금액은 나오게 되니 주의해야 합니다.

 

아까 받은 키페어를 이용하여 putty(https://www.putty.org/)에서 ssh에 접속할 수 있습니다.

인스턴스에 Connect를 눌러 ubuntu@XXX 의 주소를 복사하여 putty에 입력하고 다운받은 키 파일을 Auth 메뉴에 업로드하여 SSH 로그인합니다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함