로드 밸런서를 AWS ELB에서 ZEVENET ADC로 마이그레이션

게시일: 27년 2022월 XNUMX일

WeGO 소개

(AWS) 탄력적 로드 밸런서(ELB) 웹 트래픽을 여러 곳으로 분산 EC2 인스턴스, 탄력적 컨테이너 서비스(ECS) 및 IP 주소. ELB 또한 고가용성을 보장하기 위해 서로 다른 가용 영역 간에 트래픽을 분산하는 기능이 있습니다. 그러나 사용에는 몇 가지 제한 사항이 있습니다. AWS'에스 ELB, 여기에는 다음이 포함됩니다.

  1. 제한된 로드 밸런싱 방법. 기본적으로, ELB 만 사용 라운드 로빈 알고리즘이며 콘텐츠 전환 기능이 제한되어 있습니다.
  2. 이후 ELB 인터넷에서 Virtual Private Cloud의 인스턴스로 가는 트래픽을 관리하도록 설계되었습니다.(VPC), 온프레미스 리소스 간의 로드 밸런싱에 적합하지 않습니다.

이 기사에서는 로드 밸런싱 서비스를 더 나은 대안인 ZEVENET ADC로 대체하는 방법에 대해 설명합니다. AWS ELB와 ZEVENET을 자세히 비교하려면 이 기사를 참조하십시오. AWS와 ZEVENET 비교.

사전 조건

에서 구성을 전송하기 전에 이러한 요구 사항을 충족하는지 확인하십시오. AWS ELB ZEVENET의 모든 기능을 갖춘 ADC에.

  1. ZEVENET ADC 노드는 PC, 베어 메탈, 가상 환경에 설치되거나 활성 노드가 있어야 합니다. ZVNcloud 계정입니다. 평가 요청 온 프레미스 배포용.
  2. 웹 그래픽 인터페이스에 대한 액세스 권한이 있어야 합니다. 그렇지 않다면 이 빠른 설치 설명서.
  3. One must be an active user of AWS ELB and familiar with the concepts we will discuss in the section below.
  4. ZEVENET 로드 밸런서에서 가상 서버를 생성할 수 있어야 합니다. 빠른 가이드는 다음과 같습니다. 계층 4 및 계층 7 가상 서버 구성.

주의 사항
ZEVENET에는 템플릿이 있습니다. AWS 마켓 플레이스. ZEVENET on AWS의 배포는 원활하며 몇 번의 클릭만으로 발생합니다.

기본 개념

경청자: 수신기는 계층 7 인바운드 트래픽을 확인하고 필요한 대상 그룹에 전달합니다. 일반적으로 수신기는 다음을 확인하도록 구성됩니다. HTTP or HTTPS 포트의 트래픽 80 or 443 각기. ZEVENET ADC에서 사용하는 주요 레이어 7 수신기는 다음과 같습니다. HTTPHTTPS.

대상 그룹: 대상 그룹은 서비스를 제공하기 위해 함께 작동하는 EC2 인스턴스의 클러스터입니다. 대상 그룹 내의 이러한 모든 인스턴스에는 클라이언트의 요청을 처리하는 동일한 애플리케이션 코드가 있어야 합니다. 대상 그룹은 서비스 ZEVENET ADC를 사용할 때.

건강 검진 : 상태 확인은 각 EC2 인스턴스에서 서비스의 작동 및 응답성을 모니터링합니다. 서비스 또는 EC2 인스턴스가 다운되면 상태 확인에서 응답 없음을 인식하고 로드 밸런서가 트래픽을 정상 인스턴스로 리디렉션합니다. ZEVENET은 플러그인 세트를 사용합니다. 농장 가디언 백엔드 서버 및 해당 서비스의 상태를 모니터링합니다.

로드 밸런서 유형: AWS ELB는 세 가지 유형의 로드 밸런서를 제공합니다. 여기에는 다음이 포함됩니다. 어플리케이션, 네트워크클래식 로드 밸런서. 클래식 로드 밸런서는 더 이상 사용되지 않으며 네트워크어플리케이션 로드 밸런서 사용. ZEVENET ADC 레이어 7 로드 밸런서는 HTTP 네트워크 로드 밸런서에는 L4xNAT 윤곽.

보안 그룹: 보안 그룹은 인바운드 및 아웃바운드 트래픽을 모니터링하고 제어하는 ​​방화벽 규칙 집합입니다. ZEVENET ADC에는 내장 IPDS 로드 밸런서에 대한 불량 트래픽을 필터링하고 무단 액세스에 대한 모든 시도를 차단하도록 정책이 설정된 모듈입니다. 다음에 액세스하여 방화벽 규칙을 만들 수 있습니다. WAF 내 옵션 IPDS 기준 치수.

ACM : ACM 서비스를 통해 관리자는 AWS의 내부 연결된 리소스 내에서 사용할 SSL/TLS 인증서를 배포하고 관리할 수 있습니다. ZEVENET 부하 분산 장치 내에서 내부 SSL 인증서를 관리하려면 다음을 통해 액세스하십시오. LSLB >> SSL 인증서. 또는 다음을 통해 사용자 지정 자체 서명 SSL 인증서를 만들 수 있습니다. 암호화하자. ZEVENET 로드 밸런서에 내장된 프로그램.

EC2 인스턴스 또는 대상: 이들은 웹에서 받은 요청을 처리하는 애플리케이션 코드를 호스팅하는 다운스트림 Linux 가상 서버입니다. 이러한 가상 서버는 백엔드 ZEVENET ADC를 사용할 때.

구성 예: SSL 인증서

클라이언트와 로드 밸런서 간에 전송되는 데이터를 암호화하려면 호스트 간의 통신을 안전하게 유지하기 위해 SSL 인증서를 설치해야 합니다. 다음과 같은 민감한 정보 로그인 자격 증명신용 카드 번호 보안 전송 계층을 통해 전송되어야 합니다.

이 섹션에서는 AWS ACM을 참조하여 ZEVENET ADC에 SSL 인증서 설치에 대해 설명합니다.

Configuring a self-signed SSL cert for use on AWS

다음 단계에 따라 ELB에 SSL 인증서를 설치합니다.

  1. 생성하려면 CSR EC2 인스턴스의 경우 해당 인스턴스의 Linux 콘솔에 액세스해야 합니다.
  2. EC2 인스턴스에 연결한 후 다음 디렉터리로 이동합니다. /etc/pki/tls/개인/
  3. 다음 명령을 사용하여 새 개인 키인 2048비트 RSA를 생성합니다. sudo openssl genrsa -out custom.key
  4. 다음 명령을 사용하여 이전 개인 키 생성을 제공하는 인증서를 생성합니다. openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
  5. SSL 인증서에 필요한 세부 정보를 입력합니다.
    • 국가: 2개의 ISO 국가 코드를 입력합니다.
    • 주 / 지방 : 회사가 위치한 지역을 입력하세요.
    • 시티: 현재 위치한 도시 이름을 입력하세요.
    • 일반적인 이름 : 정규화된 도메인 이름을 입력하세요. FQDN, 예를 들어 www.zevenet.com
    • 암호 또는 암호: 이 예제에서는 암호 생성을 무시해도 됩니다. 한편, 생성된 인증서는 *.pem 파일 형식.
  6. 다음 명령을 사용하여 두 인증서를 PKCS12 번들로 컴파일합니다.openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
  7. Assuming AWS CLI is already installed, One usually has to upload the generated certificate (custom.crt) and the private key (custom.key) to AWS Certificate Manager using the command: aws acm import-certificate — 인증서 파일://custom.crt — 개인 키 파일://custom.key — 리전 us-east-2
  8. 이제 이 인증서는 생성 마법사의 "ACM에서 인증서 선택(권장)" 옵션 아래에서 사용할 수 있습니다.

ZEVENET ADC에서 사용할 자체 서명 SSL 인증서 구성

  1. ZEVENET ADC 인스턴스에 대한 사용자 지정 SSL 인증서를 생성하려면 어플라이언스의 명령 줄을 사용하여 다음 디렉터리를 찾으십시오.
  2. cd /usr/local/zevenet/config/certificates
  3. 다음 명령을 사용하여 암호 없이 개인 키를 생성합니다.
  4. openssl genrsa -out custom.key 2048
  5. 인증서 서명 요청 생성(CSR) 다음 명령을 사용하여 개인 키에 대해:
  6. openssl req -new -key custom.key -out custom.csr
  7. 필요한 세부 정보를 입력하십시오.
    • 이름: CSR을 식별하기 위한 설명이 포함된 이름입니다.
    • 국가: 귀하가 위치한 국가의 ISO 코드입니다.
    • 일반 이름 : 정규화된 도메인 이름. (FQDN), 예: www.example.com
    • 분할: 귀하의 부서는 건강, IT 또는 보안이 될 수 있습니다.
    • 소재지: 당신이 위치한 도시.
    • 상태: 조직이 위치한 주입니다.
    • 조직 : 조직의 법적 이름(예: ZEVENET SL).
    • 이메일: 이메일 주소를 입력하세요. 도메인 이름에 대한 것이어야 하는 것은 아닙니다.
  8. 생성 자체 서명된 인증서 개인 키와 CSR 인증서를 모두 사용합니다. 이 예에서 자체 서명된 인증서의 수명은 1년이며 출력 형식은 다음과 같습니다. .PEM. 다음 명령을 사용하십시오.
  9. openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
  10. 이 인증서는 LSLB >> SSL 인증서 안내

ZEVENET ADC의 SSL 인증서에 대해 자세히 알아 보려면 다음 리소스를 참조하십시오.

  1. PEM 형식으로 인증서를 만듭니다.
  2. LSLB | 암호화하자
  3. LSLB | SSL 인증서

구성 예: 웹 애플리케이션 방화벽

보안 기능으로 A WAF 악성 트래픽을 필터링하고 차단하여 웹 애플리케이션을 보호합니다. WAF는 일반적으로 로드 밸런서 앞에 배치되며 다음과 같은 다양한 악의적인 공격으로부터 웹 애플리케이션을 보호하도록 설계되었습니다. XSS(교차 사이트 스크립팅), SQL 인젝션, 및 다음을 포함한 기타 공격 OWASP의 탑 10.

들어오는 HTTP 트래픽을 검사하고 일련의 규칙 또는 보안 정책에 대해 분석함으로써 WAF는 안전하지 않은 것으로 간주되는 모든 트래픽을 차단합니다. ZEVENET ADC는 IP 블랙리스트, RBL 정책, DoS 보호 등과 같은 고급 보안 기능을 제공합니다.

이 섹션에서는 다음으로부터 보호하는 방법에 대해 설명합니다. SQL 인젝션 AWS에서 ZEVENET ADC로 유사한 구성을 시뮬레이션합니다.

AWS 구성

사용하려면 SQL 인젝션 보호하려면 Elastic 로드 밸런서 뒤에 배치된 EC2 인스턴스가 하나 또는 두 개 이상 있어야 합니다. 이러한 EC2 인스턴스에는 보호하려는 웹 애플리케이션이 있어야 합니다.

  1. AWS의 웹 콘솔에서 다음을 검색합니다. WAF 및 실드, 표시되는 링크를 클릭합니다.
  2. 온 클릭 웹 ACL 메뉴 항목을 선택합니다.
  3. 예를 들어 트래픽이 발생하는 지역을 선택하십시오. 유럽(프랑크푸르트).
  4. 클릭 웹 ACL 생성 버튼을 클릭합니다.
  5. $XNUMX Million 미만 규칙 및 규칙 그룹 추가은 클릭 규칙 추가 드롭다운 화살표.
  6. 관리형 규칙 그룹 추가. 다음을 포함하여 더 많은 관리형 규칙 그룹을 찾을 수 있습니다. 봇 제어, Amazon IP 평판 목록, SQL 데이터베이스
  7. SQL 데이터베이스 토글 버튼을 활성화하여 웹 ACL에 추가.
  8. 아래로 스크롤하여 규칙 추가 버튼을 클릭합니다.
  9. 일치하지 않는 규칙에 대한 기본 작업, 옵션을 그대로 두십시오. 허용.
  10. 클릭 다음 버튼을 클릭합니다.
  11. 규칙 우선순위 설정 섹션에서 이 섹션을 사용하여 규칙에 우선 순위를 추가한 다음 버튼을 클릭합니다. 다음.
  12. 측정항목 구성 섹션에서 변경할 사항이 없으므로 버튼을 클릭합니다. 다음.
  13. 웹 ACL 검토 및 생성 섹션에서 웹 ACL 생성 버튼을 클릭합니다.
  14. 웹 ACL을 성공적으로 생성한 후 방금 생성한 ACL을 클릭합니다.
  15. 탭을 클릭하십시오. 연결된 AWS 리소스.
  16. 보호하려는 애플리케이션 로드 밸런서를 추가합니다. 리소스를 추가한 후에는 SQL 데이터베이스에 대한 주입을 차단하도록 규칙이 설정됩니다.

ZEVENET 구성

SQL 삽입 방지를 활성화하려면 다음을 생성해야 합니다. WAF 규칙 세트 먼저.

  1. We Buy Orders 신청서를 클릭하세요. IPDS 사이드 메뉴에서 클릭하여 확장합니다.
  2. 온 클릭 WAF 확장하는 옵션입니다.
  3. 온 클릭 규칙 세트 옵션을 선택합니다.
  4. 온 클릭 WAF 규칙 세트 작성 버튼을 클릭합니다.
  5. 할당 이름 이 규칙 집합을 쉽게 식별합니다.
  6. 떠나 규칙 세트 복사 필드 – 규칙 세트 없음 –.
  7. 클릭 신청 버튼을 클릭하여 변경 사항을 저장하십시오.
  8. 글로벌 설정, 토글 요청 본문 확인 옵션을 선택합니다.
  9. oracle_jd_edwards_load_balancing_farm

  10. 기본 동작을 다음으로 변경 거부: 요청을 잘라내고 규칙을 실행하지 않습니다.
  11. 클릭 신청 버튼을 클릭하여 변경 사항을 저장하십시오.

규칙 설정

  1. 온 클릭 규칙 새 규칙을 추가하려면 탭하십시오.
  2. 온 클릭 새 규칙 버튼을 클릭합니다.
  3. 규칙 유형을 다음과 같이 선택합니다. 동작.
  4. oracle_jd_edwards_load_balancing_farm

  5. 선택 as 요청 본문 수신됨.
  6. 선택 해상도 as 거부: 요청을 잘라내고 규칙을 실행하지 않습니다..
  7. 규칙이 무엇인지 쉽게 식별할 수 있도록 규칙에 설명을 추가합니다.
  8. 클릭 신청 버튼을 클릭하여 변경 사항을 저장하십시오.

조건 추가

  1. 새로 생성된 규칙을 클릭하여 조건을 추가합니다. 다음을 클릭하여 시작하십시오. 조건 만들기 버튼을 클릭합니다.
  2. oracle_jd_edwards_load_balancing_farm

  3. 변수 필드, 선택 REQUEST_BODY 를 클릭하고 변수 추가 버튼을 클릭합니다.
  4. 변환 필드에서 옵션을 선택하고 없음.
  5. 운영자 섹션에서 선택 detectSQLi
  6. 클릭 신청 버튼을 눌러 새 조건을 만듭니다.

팜에 대한 규칙 활성화

  1. 온 클릭 농장 로드 밸런서의 대상 가상 서버(Farm)에 이 규칙을 추가합니다.
  2. oracle_jd_edwards_load_balancing_farm

  3. 농장 설정, 선택한 팜을 끌어다 놓습니다. 사용 가능한 농장활성화 된 팜.
  4. 오른쪽 상단에는 다음이 있습니다. 행위. 녹색 재생 버튼을 클릭하여 규칙을 시작합니다. 현재 WAF 규칙은 대부분 검색 또는 로그인 양식을 통해 요청 본문에 포함된 모든 SQL 삽입을 차단합니다.

WAF에 대한 추가 리소스는 다음 문서를 참조하세요.

  1. IPDS | WAF
  2. IPDS | WAF | 파일

추가 자료

Let's encrypt 프로그램을 사용하여 SSL 인증서를 자동 생성합니다.
ZEVENET ADC를 사용한 데이터 링크/업링크 로드 밸런싱.
ZEVENET ADC를 사용한 DNS 부하 분산.
DDoS 공격으로부터 보호.
ZEVENET ADC의 애플리케이션, 상태 및 네트워크 모니터링.

공유 :

GNU Free Documentation License의 조건에 따른 문서.

이 글이 도움 되었나요?

관련 기사