AWS CloudHSM용 Elastic Load Balancing을 사용하여 로드 밸런서 추가(선택 사항)
웹 서버 하나를 사용하여 SSL/TLS 오프로드를 설정한 후 추가 웹 서버와 HTTPS 트래픽을 웹 서버로 라우팅하는 Elastic Load Balancing 로드 밸런서를 생성할 수 있습니다. 로드 밸런서는 둘 이상의 서버에 걸쳐 트래픽의 균형을 조정하여 개별 웹 서버의 부하를 줄일 수 있습니다. 또한 로드 밸런서는 웹 서버의 상태를 모니터링하여 정상적 서버로만 트래픽을 라우팅하므로 웹사이트의 가용성을 높일 수 있습니다. 웹 서버에 장애가 발생하면 로드 밸런서는 해당 웹 서버로의 트래픽 라우팅을 자동으로 중지합니다.
단계 1. 두 번째 웹 서버의 서브넷 생성
다른 웹 서버를 생성하기 전에 기존 웹 서버와 AWS CloudHSM 클러스터가 포함된 동일한 VPC에 새 서브넷을 생성해야 합니다.
새 서브넷을 생성하려면
-
서브넷 생성을 선택합니다.
-
[Create Subnet] 대화 상자에서 다음 작업을 수행합니다.
-
Name 태그에 서브넷의 이름을 입력합니다.
-
VPC에서 기존 웹 서버 및 AWS CloudHSM 클러스터가 포함된 AWS CloudHSM VPC를 선택합니다.
-
가용 영역에서 기존 웹 서버가 포함된 가용 영역과는 다른 가용 영역을 선택합니다.
-
IPv4 CIDR 블록에 서브넷에 사용할 CIDR 블록을 입력합니다. 예를 들어
10.0.10.0/24
를 입력합니다. -
예, 생성을 선택합니다.
-
-
기존 웹 서버가 포함된 퍼블릭 서브넷 옆에 있는 확인란을 선택합니다. 이것은 이전 단계에서 생성한 퍼블릭 서브넷과 다릅니다.
-
콘텐츠 창에서 라우팅 테이블 탭을 선택합니다. 그런 다음 라우팅 테이블의 링크를 선택합니다.
-
라우팅 테이블 옆의 확인란을 선택합니다.
-
서브넷 연결 탭을 선택합니다. 그런 다음 편집을 선택합니다.
-
이 절차의 앞부분에서 생성한 퍼블릭 서브넷 옆에 있는 확인란을 선택합니다. 그런 다음 저장을 선택합니다.
단계 2. 두 번째 웹 서버 생성
다음 단계를 완료하여 기존 웹 서버와 동일한 구성으로 두 번째 웹 서버를 생성합니다.
두 번째 웹 서버를 생성하려면
-
Amazon EC2 콘솔의 인스턴스
섹션을 엽니다. -
기존 웹 서버 인스턴스 옆에 있는 확인란을 선택합니다.
-
작업, 이미지, 이미지 생성을 차례로 선택합니다.
-
이미지 생성 대화 상자에서 다음 작업을 수행합니다.
-
이미지 이름에 이미지의 이름을 입력합니다.
-
이미지 설명에 이미지에 대한 설명을 입력합니다.
-
이미지 생성을 선택합니다. 이 작업은 기존 웹 서버를 재부팅합니다.
-
보류 중인 이미지 ami-
<AMI ID>
보기 링크를 선택합니다.상태 열에서 이미지 상태에 유의하십시오. 이미지 상태가 사용 가능이면(몇 분 정도 걸릴 수 있음) 다음 단계로 이동합니다.
-
-
탐색 창에서 Instances(인스턴스)를 선택합니다.
-
기존 웹 서버 옆에 있는 확인란을 선택합니다.
-
작업을 선택하고 기존 인스턴스를 기반으로 시작을 선택합니다.
-
AMI 편집을 선택합니다.
-
왼쪽 탐색 창에서 나의 AMI를 선택합니다. 그 다음 검색 상자에서 텍스트를 삭제합니다.
-
웹 서버 이미지 옆에 있는 선택을 선택합니다.
-
Yes, I want to continue with this AMI(예, 이 AMI를 계속 사용)(
<image name>
- ami-<AMI ID>
)를 선택합니다. -
다음을 선택합니다.
-
인스턴스 유형을 선택하고 Next: Configure Instance Details(다음: 인스턴스 정보 구성)를 선택합니다.
-
3단계: 인스턴스 세부 정보 구성에서 다음을 수행합니다.
-
네트워크에서 기존의 웹 서버가 포함된 VPC를 선택합니다.
-
서브넷에서 두 번째 웹 서버를 위해 생성한 퍼블릭 서브넷을 선택합니다.
-
퍼블릭 IP 자동 할당에서 활성화를 선택합니다.
-
나머지 인스턴스 세부 정보를 원하는 대로 변경합니다. 그런 다음 Next: Add Storage(다음: 스토리지 추가)를 선택합니다.
-
-
스토리지 설정을 원하는 대로 변경합니다. 다음: 태그 추가를 선택합니다.
-
필요에 따라 태그를 추가하거나 편집합니다. 그러고 나서 다음: 보안 그룹 구성을 선택합니다.
-
6단계: 보안 그룹 구성에서 다음을 수행합니다.
-
보안 그룹 할당에서 Select an existing security group(기존 보안 그룹 선택)을 선택합니다.
-
cloudhsm-
<cluster ID>
-sg라는 보안 그룹 옆에 있는 확인란을 선택합니다. AWS CloudHSM은 클러스터를 생성할 때 사용자를 대신하여 이 보안 그룹을 생성했습니다. 웹 서버 인스턴스가 클러스터의 HSM에 연결되도록 허용하려면 이 보안 그룹을 선택해야 합니다. -
인바운드 HTTPS 트래픽을 허용하는 보안 그룹 옆에 있는 확인란을 선택합니다. 이 보안 그룹은 이전에 생성했습니다.
-
(선택 사항) 네트워크에서 인바운드 SSH(Linux용) 또는 RDP(Windows용) 트래픽을 허용하는 보안 그룹 옆의 확인란을 선택합니다. 즉, 보안 그룹은 포트 22(Linux의 SSH용) 또는 포트 3389(Windows의 RDP용)에서 인바운드 TCP 트래픽을 허용해야 합니다. 그렇지 않으면 클라이언트 인스턴스에 연결할 수 있습니다. 이와 같은 보안 그룹이 없는 경우, 보안 그룹을 생성한 다음 이후 클라이언트 인스턴스에 할당해야 합니다.
검토 및 시작을 선택합니다.
-
-
인스턴스 세부 정보를 검토한 후 시작을 선택합니다.
-
기존 키 페어를 사용하여 인스턴스를 시작할지, 새 키 페어를 생성할지 또는 키 페어 없이 인스턴스를 시작할지 선택합니다.
-
기존 키 페어를 사용하려면 다음 작업을 수행하십시오.
-
[Choose an existing key pair]를 선택합니다.
-
[Select a key pair]의 경우 사용할 키 페어를 선택합니다.
-
선택한 프라이빗 키 파일(
<private key file name>
.pem)에 액세스할 수 있음을 확인합니다. 이 파일이 없으면 내 인스턴스에 로그인할 수 없습니다. 옆에 있는 확인란을 선택합니다.
-
-
새 키 페어를 생성하려면 다음 작업을 수행하십시오.
-
새 키 페어 생성을 선택합니다.
-
키 페어 이름에 키 페어 이름을 입력합니다.
-
[Download Key Pair]를 선택하고 안전하고 액세스 가능한 위치에 프라이빗 키 파일을 저장합니다.
주의
이 시점 이후에는 프라이빗 키 파일을 다시 다운로드할 수 없습니다. 지금 프라이빗 키 파일을 다운로드하지 않으면 클라이언트 인스턴스에 액세스할 수 없습니다.
-
-
키 페어 없이 인스턴스를 시작하려면 다음을 수행합니다.
-
키 페어 없이 계속을 선택합니다.
-
이 AMI에 기본 제공된 암호를 이미 알고 있는 경우가 아니면 이 인스턴스에 연결할 수 없는 것으로 알고 있습니다 옆에 있는 확인란을 선택합니다.
-
인스턴스 시작(Launch Instances)을 선택합니다.
-
단계 3. 로드 밸런서 생성
다음 단계를 완료하여 HTTPS 트래픽을 웹 서버로 라우팅하는 Elastic Load Balancing 로드 밸런서를 생성합니다.
로드 밸런서를 생성하려면
-
Amazon EC2 콘솔의 Load balancers(로드 밸런서)
섹션을 엽니다. -
로드 밸런서 생성을 선택합니다.
-
Network Load Balancer 섹션에서 생성을 선택합니다.
-
1단계: 로드 밸런서 구성에서 다음을 수행합니다.
-
이름에 생성할 로드 밸런서 이름을 입력합니다.
-
리스너 섹션의 로드 밸런서 포트에서 값을
443
으로 변경합니다. -
가용 영역 섹션의 VPC에서 웹 서버가 포함된 VPC를 선택합니다.
-
가용 영역 섹션에서 웹 서버가 포함된 서브넷을 선택합니다.
-
다음: 라우팅 구성(Next: Configure Routing)을 선택합니다.
-
-
2단계: 라우팅 구성에서 다음을 수행합니다.
-
이름에 생성하려는 대상 그룹의 이름을 입력합니다.
-
포트에서 값을
443
으로 변경합니다. -
다음: 대상 등록(Next: Register Targets)을 선택합니다.
-
-
3단계: 대상 등록에서 다음을 수행합니다.
-
인스턴스 섹션에서 웹 서버 인스턴스 옆에 있는 확인란을 선택합니다. 그런 다음 등록된 항목에 추가를 선택합니다.
-
다음: 검토를 선택합니다.
-
-
로드 밸런서 세부 정보를 검토한 후 생성을 선택합니다.
-
로드 밸런서가 성공적으로 생성되면 닫기를 선택합니다.
위의 단계를 완료하면 Amazon EC2 콘솔에 Elastic Load Balancing 로드 밸런서가 표시됩니다.
로드 밸런서의 상태가 활성이면 로드 밸런서가 작동 중임을 확인할 수 있습니다. 즉, 로드 밸런서가 AWS CloudHSM을 사용한 SSL/TLS 오프로드로 HTTPS 트래픽을 웹 서버에 전송하고 있음을 확인할 수 있습니다. 웹 브라우저 또는 OpenSSL s_client
로드 밸런서가 웹 브라우저에서 작동하고 있음을 확인하려면
-
Amazon EC2 콘솔에서 방금 생성한 로드 밸런서의 DNS 이름을 찾습니다. 그런 다음 DNS 이름을 선택하고 복사합니다.
-
Mozilla Firefox 또는 Google Chrome 같은 웹 브라우저로 로드 밸런서의 DNS 이름을 사용하여 로드 밸런서에 연결합니다. 주소 표시줄의 URL이 https://로 시작하는지 확인합니다.
작은 정보
Amazon Route 53과 같은 DNS 서비스를 사용하여 웹사이트의 도메인 이름(예: https://www.example.com/)을 웹 서버로 라우팅할 수 있습니다. 자세한 내용은 Amazon Route 53 개발자 안내서 또는 DNS 서비스 설명서의 Amazon EC2 인스턴스로 트래픽 라우팅을 참조하십시오.
-
웹 브라우저를 사용하여 웹 서버 인증서를 봅니다. 자세한 내용은 다음을 참조하세요.
-
Mozilla Firefox의 경우 Mozilla Support 웹 사이트의 View a Certificate(인증서 보기)
를 참조하십시오. -
Google Chrome의 경우 Google Tools for Web Developers 웹 사이트의 보안 문제 이해
를 참조하십시오.
다른 웹 브라우저에도 웹 서버 인증서를 보는 데 사용할 수 있는 유사한 기능이 있을 수 있습니다.
-
-
인증서가 웹 서버에서 사용하도록 구성한 것인지 확인합니다.
로드 밸런서가 OpenSSL s_client에서 작동하는지 확인하려면
-
다음 OpenSSL 명령으로 HTTPS를 사용하여 로드 밸런서에 연결합니다.
<DNS name>
을 로드 밸런서의 DNS 이름으로 바꿉니다.openssl s_client -connect
<DNS name>
:443작은 정보
Amazon Route 53과 같은 DNS 서비스를 사용하여 웹사이트의 도메인 이름(예: https://www.example.com/)을 웹 서버로 라우팅할 수 있습니다. 자세한 내용은 Amazon Route 53 개발자 안내서 또는 DNS 서비스 설명서의 Amazon EC2 인스턴스로 트래픽 라우팅을 참조하십시오.
-
인증서가 웹 서버에서 사용하도록 구성한 것인지 확인합니다.
이제 웹 사이트가 HTTPS로 보안되고 AWS CloudHSM 클러스터의 HSM에 프라이빗 키가 저장되어 있습니다. 웹사이트에 2개의 웹 서버와 효율 및 가용성 개선을 돕는 로드 밸런서가 하나 있습니다.