Amazon EC2 에서 NGINX Plus 배포하기
해당 포스트에서는 Amazon EC2 에 NGINX Plus 인스턴스를 배포하고 테스트하는 방법을 알아봅니다.
목차
1. Amazon EC2 NGINX 기본 설치
1-1. Troubleshooting – Security Groups
1-2. 실행 중인 인스턴스의 상태 확인
2. Amazon EC2 추가 NGINX Plus 모듈 설치
3. Amazon EC2 High Availability 활성화
3-1. Amazon ELB를 사용한 NGINX Plus
3-2. Route 53을 사용하는 NGINX Plus
1. Amazon EC2 NGINX 기본 설치
Amazon EC2 에서 NGINX Plus를 시작하는 것은 쉽습니다. Amazon Web Service(AWS) Marketplace에서 지원되는 여러 운영체제(예: Amazon Linux, CentOS, Red Hat Enterprise Linux, Ubuntu 등)용 NGINX Plus 인스턴스를 제공하며, 무료 평가판으로 제공되거나 사용량에 따라 비용을 지불하실 수 있습니다.
Amazon EC2 의 “시작 안내서“는 AMI 인스턴스를 시작하는 과정에 대한 간단한 소개를 제공하지만, 실제로는 “구독”과 “시작”만으로 간단합니다. 자세한 설명은 “Confluent Platform on the AWS Cloud (aws-quickstart.s3.amazonaws.com)“를 참조하시기 바랍니다.
새 인스턴스를 시작하려면 NGINX Plus가 자동으로 실행되고 기본 index.html 페이지를 제공하기 위해 구성됩니다. 제어판을 사용하여 인스턴스의 공개 DNS 이름을 확인하고 웹 브라우저를 사용하여 접속할 수 있습니다.

1-1. Troubleshooting – Security Groups
연결 시간이 초과되고 기본 웹 페이지가 표시되지 않는 경우, 아마도 해당 인스턴스에 할당된 EC2 security group이 HTTP 트래픽을 허용하지 않는 것입니다. HTTP(80 포트) 및 HTTPS(443 포트) 트래픽을 모든 source로부터 허용하고, SSH는 자신의 IP 주소에서만 접근할 수 있도록 허용하는 새 보안 그룹을 생성할 수 있습니다.

이제 그룹을 NGINX Plus 인스턴스에 적용합니다.

1-2. 실행 중인 인스턴스의 상태 확인
이제 SSH를 사용하여 인스턴스에 연결하고 NGINX Plus의 상태를 확인합니다.
user@localhost$ chmod 400 aws_cert.pem
user@localhost$ ssh -i aws_cert.pem ubuntu@ec2-54-86-83-172.compute-1.amazonaws.com
...
ubuntu@ip-192-168-20-254:~$ /etc/init.d/nginx status
* nginx is running
2. Amazon EC2 추가 NGINX Plus 모듈 설치
AMI는 표준 nginx-plus 패키지가 미리 설치된 상태입니다. 이 패키지에는 NGINX Open Source의 핵심 모듈과 로드 밸런싱, 미디어 배포, 캐싱 및 관리 기능을 개선하는 여러 확장 기능이 포함되어 있습니다.
NGINX Plus의 source 코드는 공개되지 않습니다. NGINX Plus와 함께 인기 있는 일부 third-party 모듈을 사용하려면 모듈 저장소에서 설치할 수 있습니다.
NGINX Plus 지원 계약은 NGINX에서 만들고 인증한 기능에만 적용됩니다. 일부 third-party 모듈은 편의를 위해 제공되며, NGINX 지원의 대상이 되지 않습니다.
3. Amazon EC2 High Availability 활성화
3-1. Amazon ELB를 사용한 NGINX Plus
ELB는 NGINX Plus와 마찬가지로 Layer 7 HTTP proxy로 작동합니다. 따라서 NGINX Plus로 배포된 클라이언트 연결의 실제 source IP 주소를 확인하려면 ELB에서 추가한 X-Forwarded-For 헤더를 검사할 수 있습니다. 이를 위해 NGINX Plus의 Real IP 모듈을 사용합니다.
HTTP/2 또는 WebSocket을 사용하여 애플리케이션을 제공할 계획이라면, ELB가 HTTP/2 트래픽을 termination하거나 WebSocket 연결을 배포하지 않는다는 점을 알아두어야 합니다. 이 경우, ELB를 HTTP/HTTPS가 아닌 TCP Load Balancing으로 구성하고 source IP 주소를 배포하기 위해 PROXY 프로토콜을 사용해야 합니다.
AWS에서 NGINX Plus의 High Availability를 구성하는 방법에 대한 지침은 배포 안내서를 참조하십시오.
자세한 내용은 AWS ELB 와 함께 NGINX Plus 로드 밸런싱 사용을 참조하십시오.
3-2. Route 53을 사용하는 NGINX Plus
배포 포스트인 “Amazon Route 53 및 NGINX Plus를 사용한 글로벌 서버 로드 밸런싱(GSLB)”는 모든 구성 요소를 단계별로 설명합니다. Route 53을 이용한 GSLB 구성, 각 지역에서 트래픽을 로드 밸런싱하는 NGINX Plus 구성, 그리고 지역에서 도메인 콘텐츠를 제공하는 NGINX 또는 NGINX Plus 설정까지 설명합니다.
NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.
아래 뉴스레터를 구독하고 NGINX의 최신 정보들을 빠르게 전달받아보세요.
댓글을 달려면 로그인해야 합니다.