ELB 세팅하기 (기본 구성 / 보안그룹 / 리스너 및 라우팅 / 헬스 체크)

2025. 4. 21. 00:40·Server&load/AWS
  1. ELB 기본 구성 세팅하기
    1. 리젼 확인 > EC2 > 로드 밸런서 > 로드 밸런서 생성
    2. Application Load Balacer 선택
      • Application Load Balancer : HTTP, HTTPS 에 대한 특성을 활용하여 로드 밸런싱을 함
    3. 기본 구성 설정
      • 체계
        • 인터넷 경계 : 외부 클라이언트에서 접근 가능하며, 로드 밸런서의 IP 주소나 DNS 이름을 통해 공개적으로 접근가능
        • 내부 : 특정 네트워크에서만 접근 가능하며, VPC와 private IP 등을 사용할 때 주로 사용한다.
    4. 네트워크 매핑 > 가용 영역 전체 선택 후 다음

      • 리전 내부의 세부적 영역을 나눈 것을 의미한다.
      • ELB 를 세팅할 때, 일반적으로 가용 영역을 전체 선택한다.
  2. 보안 그룹 설정하기
    1. EC2 > 보안 그룹 > 보안 그룹 생성하기
    2. 기존 보안 그룹 (default) 삭제 > 위에서 생성한 보안 그룹 선택
  3. 리스너 및 라우팅 그리고 헬스 체크 설정
    1. 리스너 및 라우팅이란?
      • ELB 로 들어온 요청을 어떤 EC2 인스턴스에 전달할 지 설정하는 부분을 의미함.
      • 대상 그룹 : ELB 로 들어온 요청을 보내는 그룹을 의미한다.
    2. 대상 그룹 생성 및 설정하기
      1. 대상 그룹 생성하기 - 기본 구성

        • ELB 가 트래픽을 받아서 대상 그룹에게 어떤 방식으로 전달을 할지 설정하는 부분
        • EC2 인스턴스의 HTTP 를 활용하여 80번 포트로 전달한다.
      2. 대상 그룹 생성하기 - 상태 검사
        • ELB로 들어온 요청을 대상 그룹의 여러 EC2인스턴스로 전달하는 역할을 함.
        • 특정 EC2인스턴스 내의 서버가 예상치 못한 에러로 고장났을 때, 고장난서버에 트래픽을 전달하는 것이 비효율적.
          • 이런 상황을 방지하기 위해 ELB 는 주기적으로 대상 그룹의 인스턴스에 요청을 보냄.
          • 200번대 응답이 잘 들어오면 정상적으로 작동되고 있다고 판단하여 트래픽을 전송.
          • 200번대 응답이 돌아오지 않으면 고장났다고 판단하여 트래픽을 전송하지 않음.
        • 대상 그룹의 EC2 인스턴스에 백엔드 서버가 있는데, 해당 서버에 주기적으로 /health 경로로 요청을 보내 인스턴스 작동 여부를 체크하도록 설정한다.
        • 백엔드 서버에서 헬스체크용 API 를 생성해야 한다.
      3. 대상 그룹 생성하기 - 대상 등록 페이지

        • 백엔드 설정한 HTTP (80번 포트) 로 지정
        • 아래에 보류 중인 것으로 포함 선택하여 대상그룹에 인스턴스를 추가
        • 대상 그룹 생성 선택
      4. 리스너 및 라우팅에서 대상 그룹에 위에서 생성한 대상 그룹 추가
        • ELB 의 HTTP 프로토콜을 사용하여 80번 포트로 들어온 요청은 전부 rusharp-server-target-group 의 인스턴스로 분배하여 트래픽을 보냄.
  4. 로드 밸런서 생성 확인
    1. EC2 > 로드 밸런서 에서 로드 밸런서 추가 확인
      • 프로비저닝 중 : 생성 중.
  5. Health check API 생성하기
    1. 기존 인스턴스 > 연결 > 연결
    2. app.js 수정

      app.get('/health' , (req,res) =>{
        res.status(200).send("Success Health Check");
      })
    3. pm2 reload
    4. health api 확인
      • IP 주소 / health 입력하면 API를 확인할 수 있다.
  6. 로드 밸런서 주소를 통해 서버 접속하기
    1. EC2 > 로드 밸런서 > 로드 밸런서 선택하여 DNS 이름 확인.
      • IP 없이 도메인 주소를 가지고 접속할 수 있다.

'Server&load > AWS' 카테고리의 다른 글

HTTPS 적용을 위한 인증서 발급받고 HTTPS 설정하기  (0) 2025.04.26
ELB 에 도메인 연결하기  (0) 2025.04.23
ELB란? / TLS, SSL 과 HTTPS  (0) 2025.04.17
Route53에서 도메인 구매하기  (0) 2025.04.16
탄력적 ip 상태에서 EC2 종료하기  (0) 2025.04.14
'Server&load/AWS' 카테고리의 다른 글
  • HTTPS 적용을 위한 인증서 발급받고 HTTPS 설정하기
  • ELB 에 도메인 연결하기
  • ELB란? / TLS, SSL 과 HTTPS
  • Route53에서 도메인 구매하기
몽자비루
몽자비루
코딩공부 정리용 블로그입니다.
  • 몽자비루
    공부하는 블로그
    몽자비루
  • 전체
    오늘
    어제
    • 분류 전체보기 (170)
      • python (30)
        • python_selenium (16)
        • python_pygame (3)
      • appium (0)
      • 쿠버네티스 (60)
        • linux (8)
        • shell programming (8)
        • docker (18)
        • cka (23)
      • postman&API (16)
      • QA성장하기 (30)
        • 개발자에서 아키텍트로 스터디 (6)
        • 소프트웨어 공학 이해도 높이기 (6)
        • 테스팅 전문 지식 쌓기 (18)
      • 에러일기 (1)
      • Server&load (32)
        • AWS (27)
        • Jmeter (0)
        • load test (5)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    python
    공존성테스트
    테스트 계획서
    QAKOREA
    앱공존성
    사드웨어리소스
    포스트맨
    테스트 계획서 만들어보기
    cka
    application log
    linux
    k8s
    테스트 결과보고서
    개발자에서아키텍트로
    LOSTARK
    postman
    e2c
    스터디
    vi에디터
    애플리케이션로그
    테스트스크립트
    리눅스
    네트워크 테스트
    .cpu
    qa
    도커
    로스트아크
    쿠버네티스
    로스트아크api
    API
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
몽자비루
ELB 세팅하기 (기본 구성 / 보안그룹 / 리스너 및 라우팅 / 헬스 체크)
상단으로

티스토리툴바