EC2 인스턴스 복제부터 로드밸런서 설정 및 Route53 DNS 설정까지

2024. 2. 21. 20:50·개발 환경 및 운영

EC2에서 실행되고 있는 인스턴스 복제부터 Route53 설정 작업을 진행했는데 기록겸 정리한 문서이다. 

EC2 인스턴스 복제

EC2의 인스턴스를 복제하기 위해서는 먼저 인스턴스에 실행되는 정보를 AMI 이미지로 만들고 그 이미지로부터 인스턴스를 생성해서 만들어야한다.

AWS EC2의 인스턴스 목록으로 가서 복제를 원하는 인스턴스를 찾는다. 그 다음 작업 > 이미지 및 템플릿 > 이미지 생성을 눌러서 이미지를 생성해준다. 이미지는 크기에 따라 다르지만 시간이 꽤 소요된다. (여기서는 50기가 정도의 데이터가 있었는데 한시간 정도 소요됨)

이미지 생성이 완료 되었으면 이미지 > AMI 항목으로 가서 방금 생성한 이미지를 찾아 AMI로 인스턴스 시작을 눌러준다.

인스턴스 유형 및 보안그룹, 스토리지 등 설정해주고 인스턴스 시작을 누르면 새로운 인스턴스가 생성된다.

인스턴스가 생성되면 퍼블릭 IPv4 DNS가 발급되는데 이는 사내 공유용으로 그대로 전달하기엔 좀 이상하게 생겼다.

ec2-1-11-111-11.ap-northeast-2.compute.amazonaws.com

그래서 AWS의 Route53을 이용해 데이터팀에서 고정적으로 사용하는 주소로 통일성있게 변경해서 공유하려고 한다.

먼저 Route53을 사용하기 위한 방법은 크게 두가지가 있다.

  1. Elastic IP를 사용해 단일 EC2 인스턴스에 연결하고, Route53에서 해당 EIP를 연결하는 방법
  2. 여러 인스턴스에 트래픽을 분산하려고 로드 밸런싱을(ELB) 사용해 고정 주소를 얻고 이를 Route53에 연결하는 방법

이번에 했던 작업은 로드밸런서를 사용한 방법이어서 이 과정에 대해 좀 더 알아보자.

대상그룹 생성

로드밸런싱 > 대상그룹으로 가서 대상그룹 생성을 눌러준다. 우리는 로드밸런서와 연결할 것이기 때문에 Application Load Balancer로 유형을 선택해주고 ALB와 동일한 VPC를 설정해줘서 네트워크 연결이 될 수 있도록 한다.

그리고 나서 다음으로 넘기면 ALB를 등록하라고 나오는데 아직 ALB를 만들지 않았으므로 나중에 등록을 해도 된다. 로드밸런싱 먼저 생성후 대상그룹을 만들어서 연결해도 된다. 순서는 상관 없음

로드 밸런싱 생성

로드밸런싱 > 로드밸런서로 가서 로드밸런서를 생성해줄 차례이다. 로드밸런서는 종류가 여러가지인데, 그 중 우리가 사용할 것은 Application Load Balancer 이다.

Application Load Balancer?

AWS의 설명에 따르면 다음과 같다.

수신 HTTP 및 HTTPS 트래픽을 요청 속성을 기반으로 Amazon EC2 인스턴스, 마이크로서비스 및 컨테이너와 같은 여러 대상에 배포합니다. 로드 밸런서는 연결 요청을 수신하면 우선 순위에 따라 리스너 규칙을 평가하여 적용할 규칙을 결정한 다음 해당되는 경우, 대상 그룹에서 규칙 작업의 대상을 선택합니다.

추가적으로 설명하자면 네트워크 7계층 중에 Application 레벨(L7)에서의 로드 밸런싱을 지원하는게 ALB이다. HTTP/HTTPS를 관리할 수 있으며 URL 경로, 호스트 이름 등 라우팅 규칙을 제공한다. 웹 애플리케이션 및 마이크로서비스 아키텍처에 적합하며, 동적 콘텐츠 라우팅, 멀티테넌시 애플리케이션, 컨테이너 기반의 애플리케이션(Amazon ECS, Docker 등)에 이상적이다.

나머지 로드 밸런서도 간단히 알아보면 다음과 같다.

  • Network Load Balancer (NLB) : 네트워크 레벨(L4)에서의 로드 밸런싱을 지원. TCP, UDP, TLS 트래픽에 대해 초당 수백만 건의 요청을 처리할 수 있는 높은 성능을 제공한다. 초고성능이 요구되는 애플리케이션, TCP 또는 UDP 기반의 트래픽을 다루는 애플리케이션, TLS 오프로딩이 필요한 경우에 적합하다.
  • Gateway Load Balancer (GLB) : GLB는 네트워크 트래픽을 가상 어플라이언스(예: 방화벽, 침입 감지 시스템)에 분산시키는 데 특화되어 있다.(L3) 보안 및 네트워크 기능을 제공하는 가상 어플라이언스를 클라우드 인프라에 통합하고자 할 때 사용하며, 트래픽 검사, 침입 방지 서비스, 사용자 정의 네트워크 기능을 구현할 때 유용하다.
  • Classic Load Balancer (CLB) : CLB는 기본적으로 L4와 L7 로드 밸런싱을 모두 지원하지만, ALB나 NLB에 비해 기능이 제한적. AWS의 초기 로드 밸런서로, 단순한 로드 밸런싱 요구 사항에 적합.

Application 로드밸런서 생성으로 들어가서 기본구성, 네트워크 매핑, 보안그룹을 설정하다보면 리스너 및 라우팅이라는 탭이 나온다. 이 부분은 클라이언트가 로드밸런서에 요청을 보낼 때 사용할 프로토콜에 대해 정의하는 부분이다. HTTPS는 SSL/TLS인증서를 통해 데이터를 암호화하여 전송하는 프로토콜로 보안 접속이 필요하다면 HTTPS를 사용해야 한다. 여기에 아까 생성했던 대상그룹을 선택해 넣어주면 된다.

로드밸런서 생성을 완료하고 들어가보면 DNS 이름이라는 곳에 블라블라.ap-northeast-2.elb.amazonaws.com 이런식으로 고정주소가 생기게 된다.

Route 53

블라블라.ap-northeast-2.elb.amazonaws.com 이런 형태의 주소를 그냥 공유하기에는 모양이 조금 이상하다.! AWS에서는 Route53 이라는 Domain Name System 기능을 제공해준다. 발급된 고정주소를 다시 우리가 원하는 도메인 네임으로 바꿔주기 위해 route53 호스팅 영역으로 간다. 이미 데이터 팀에서 사용하고 있는 호스팅영역이 있어서 여기 가서 레코드를 생성해줬다. 만약 새로운 호스팅 영역을 원한다면 새로 생성해주면 된다.

레코드 생성을 누르면 라우팅 정책을 고르라고 하는데 이 경우는 단순라우팅이어서 단순라우팅을 누르고 넘어간다. 단순 레코드 정의를 누르면 위와 같은 창이 뜨는데 원하는 서브도메인 이름을 지정한다. 값/트래픽 라우팅 대상에는 'Application/Classic Load Balancer에 대한 별칭'을 선택해주고 로드밸런서의 리전을 선택하면 아까 만든 Application 로드밸런서를 선택할 수 있게 된다. Application 로드밸런서는 레코드 유형으로 A 혹은 AAAA 유형을 고르면 되는데 우리는 IPv4를 쓸거라서 A유형을 선택해줬다. 레코드 정의 후 레코드를 생성하면 이제 우리가 지정한 도메인 이름으로 EC2 인스턴스에 접근 할 수 있게 된다. 

처음해보는 작업인데 생각보다 정의해줘야 할게 많아서 혼동이 있었다. 그래서 한번 순서대로 쭉 정리해본다! 

저작자표시 (새창열림)

'개발 환경 및 운영' 카테고리의 다른 글

환경변수 주입하는 두 가지 방법  (2) 2024.12.08
Amazon Aurora DB  (0) 2024.04.17
Github Action with docker, k8s  (0) 2023.07.08
'개발 환경 및 운영' 카테고리의 다른 글
  • 환경변수 주입하는 두 가지 방법
  • Amazon Aurora DB
  • Github Action with docker, k8s
haong_
haong_
블로그 이전합니다 >> www.hajinnote.me
  • haong_
    일단 시작하는 블로그
    haong_
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 데이터 엔지니어링
      • 이슈 해결 일지
      • 개발 환경 및 운영
        • Kubernetes
      • CS
        • 운영체제
        • 데이터베이스시스템
      • 프로그래밍
      • 알고리즘
      • 머신러닝
        • 통계학
        • 딥러닝
        • 데이터 분석
        • 논문
        • 프로젝트
      • 회고
      • 책 & 스터디
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    이
    데이터메시
    data mesh
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
haong_
EC2 인스턴스 복제부터 로드밸런서 설정 및 Route53 DNS 설정까지
상단으로

티스토리툴바