NGINXaaS for Azure는 기업이 클라우드에서 고성능 애플리케이션을 안전하게 제공할 수 있도록 지원합니다. NGINX Plus를 기반으로 하는 완전 관리형 서비스로, 2023년 1월에 정식 출시되었습니다. 출시 이후 현재는 물론 앞으로도 새로운 기능을 추가하여 NGINXaaS for Azure를 지속적으로 개선해 나갈 것입니다.
이 블로그에서는 자체 NGINX Plus 인스턴스를 배포, 유지 관리 및 업데이트하지 않고도 NGINX Plus의 이점을 더 많이 누릴 수 있게 해주는 최신 성능 및 보안 기능 몇 가지를 소개합니다. NGINXaaS for Azure와 전반적인 기능에 대한 일반적인 정보는 F5 NGINXaaS for Azure를 통한 클라우드 마이그레이션 간소화 및 가속화에서 확인하세요.
그림 1: NGINXaaS for Azure 개요
mTLS로 업스트림 트래픽 보호
리버스 프록시에서는 공용 인터넷의 클라이언트 측 트래픽을 암호화하기 위해 SSL/TLS가 필요하지만, 서버 측에서는 인증과 기밀성 보장을 위해 상호 TLS(mTLS)가 필수적입니다. 또한 제로 트러스트로 전환함에 따라 업스트림 서버 트래픽이 변조되거나 가로채이지 않았는지 확인해야 합니다.
그림 2: NGINXaaS를 사용한 mTLS
NGINXaaS for Azure는 이제 NGINX 지시문을 사용하여 업스트림 트래픽을 보호할 수 있도록 SSL/TLS 인증서를 지원합니다. 이러한 지시문을 사용하면 mTLS를 통해 업스트림 트래픽을 암호화된 상태로 유지할 수 있을 뿐만 아니라, 업스트림 서버가 신뢰할 수 있는 인증 기관에서 발급한 유효한 인증서를 제시하는지도 확인할 수 있습니다.
인증서 교체
NGINXaaS for Azure에서 TLS 인증서를 사용할 때 핵심적인 부분은 이러한 인증서를 Azure Key Vault(AKV). AKV를 통해 안전하게 관리하는 것입니다. AKV는 민감한 암호화 자료를 안전하게 보호하고, Azure 포털을 통해 키 자료가 실수로 또는 의도적으로 노출되는 것을 방지하면서 NGINXaaS for Azure가 해당 인증서를 사용할 수 있도록 합니다.
그림 3: Azure Key Vault를 사용한 인증서 교체
NGINXaaS for Azure는 이제 AKV에서 인증서가 업데이트될 때마다 NGINX 배포 전반에서 인증서를 자동으로 교체할 수 있습니다. 새 버전의 인증서는 4시간 이내에 배포에 적용됩니다.
HTTP/2 프록시(및 추가 프로토콜 옵션)
눈을 감고 1997년을 떠올려 보세요. 우리는 JNCO 청바지(캐나다 분들이라면 Modrobes)를 입고 Chumbawamba의 「Tubthumping」을 따라 부르던 시절이었고, HTTP/1.1이 출시되었습니다. 당시 대부분의 최종 사용자는 전화 접속 모뎀으로 인터넷에 접속했고, 웹 페이지에는 요소가 수십 개밖에 없었으며, 사용자 경험 측면에서는 지연 시간보다 대역폭이 훨씬 더 큰 관심사였습니다.
25년이 지난 지금도 상당수의 웹 애플리케이션은 여전히 HTTP/1.1을 사용해 콘텐츠를 전송합니다. 이는 문제가 될 수 있습니다. HTTP/1.1은 여전히 작동하지만, 연결당 한 번에 하나의 리소스만 전송할 수 있기 때문입니다. 반면 최신 웹 앱은 사용자 인터페이스를 업데이트하기 위해 수백 건의 요청을 보낼 수 있습니다.
대부분의 사용자가 사용할 수 있는 대역폭은 크게 늘었지만, 데이터 전송 속도는 빛의 속도라는 근본적인 한계로 인해 그만큼 빠르게 향상되지 않았습니다. 따라서 이러한 모든 요청에서 누적되는 지연 시간은 사용자가 체감하는 애플리케이션 성능에 상당한 영향을 미칠 수 있습니다. 최신 브라우저는 동일한 서버에 여러 TCP 연결을 열지만, 각 연결의 요청은 여전히 순차적으로 처리되므로 느린 리소스 하나가 그 뒤에 있는 다른 모든 리소스의 처리를 지연시킬 수 있습니다.
HTTP/1.1만 사용하여 로드할 때 F5 홈페이지가 어떻게 표시되는지 살펴보세요.
그림 4: HTTP/1.1을 통해 접속한 F5.com
저 회색 막대들이 보이시나요? 브라우저가 세션이 설정되기를 기다리거나, 느린 리소스 하나 때문에 작업이 지연되거나, 새로운 TCP 연결을 사용할 수 있게 되기를 기다리면서 낭비하는 소중한 시간입니다.
HTTP/2를 활성화하고 다시 시도해 보겠습니다:
그림 5: 동일한 요청을 HTTP/2로 처리한 경우
훨씬 나아졌습니다. 여전히 몇몇 리소스는 느리지만 다른 요청을 지연시키지는 않으며, 대기열로 인한 지연을 기다리는 데 소요되는 시간도 크게 줄었습니다. HTTP/2는 웹 브라우저와 서버가 HTTP/1.1에서 익숙하게 사용해 온 의미 체계를 그대로 유지하면서, 애플리케이션 성능이 좋지 않다고 느끼게 하는 몇 가지 원인을 해결하기 위한 새로운 기능(예: 요청 우선순위 지정, 헤더 압축, 요청 멀티플렉싱)을 추가합니다.
이처럼 차이가 명확하므로 이제 NGINXaaS for Azure는 HTTP/2를 통한 클라이언트 요청 처리를 지원합니다. 클라이언트 측 연결은 긴 왕복 시간의 영향을 받을 가능성이 더 높으므로, 업스트림 서버를 변경하지 않고도 HTTP/2의 지연 시간 단축 이점을 활용해 해당 트래픽을 처리할 수 있습니다.
웹 애플리케이션 업계의 일부 사람들이 믿고 싶어 하는 것과는 달리, HTTP 외에도 사용할 수 있는 다른 프로토콜 옵션이 있다는 점을 잘 알고 있습니다. 이러한 이유로 NGINX gRPC 모듈도 이제 NGINXaaS for Azure에서 사용할 수 있습니다. 이 모듈은 오류 가로채기, 헤더 조작 등 gRPC 트래픽을 처리하기 위한 여러 구성 지시어를 제공합니다.
HTTP/gRPC 이외의 트래픽을 위한 stream 모듈을 이제 NGINXaaS for Azure에서 사용할 수 있습니다. 이 모듈은 TCP 및 UDP 트래픽의 프록시와 부하 분산을 지원합니다.
계층 4 및 계층 7 부하 분산 지원
NGINXaaS for Azure는 이제 레이어 4 TCP/UDP 및 레이어 7 HTTP/HTTP 클라우드 네이티브 로드 밸런서로 모두 작동할 수 있습니다. 이것이 왜 중요할까요? 서로 다른 두 개의 서비스나 로드 밸런서를 배포하는 대신, NGINXaaS for Azure를 사용하면 단일 로드 밸런서를 배포하고 두 레이어에서 동시에 작동하도록 구성할 수 있어 클라우드 아키텍처를 간소화하고 비용을 절감할 수 있습니다.
구성에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
더 높은 용량(최대 160 NCU)
NGINXaaS for Azure는 시간 단위로 사용량을 측정하고 월 단위로 NGINX 용량 단위(NCU)를 기준으로 요금이 청구되는 사용량 기반 서비스입니다. 최근 배포 용량을 80 NCU에서 160 NCU로 두 배 늘렸습니다. 고객은 20 NCU의 소규모 시스템을 배포한 후 워크로드가 증가하면 최대 160 NCU까지 확장할 수 있습니다. 또한 처음부터 최대 160 NCU로 배포할 수도 있습니다.
NGINX Plus 지시문 추가
온프레미스 환경에서 완전 관리형 클라우드 서비스로 구성을 손쉽게 이전할 수 있도록 다양한 NGINX Plus 지시문을 추가했습니다. NGINXaaS for Azure에서 지원하는 모든 NGINX Plus 지시문은 여기에서 확인하세요.
지금 시작하세요
당사는 어디서나 모든 앱과 API를 보호하고, 제공하며, 최적화할 수 있도록 NGINX 및 F5 기술의 활용 방식을 지속적으로 개선하고 확장하고 있습니다. 앞서 언급한 기능을 비롯해 NGINXaaS for Azure에 새롭게 추가된 다양한 기능을 통해 더 많은 Azure 사용자가 별도의 VM 또는 컨테이너 인프라를 관리하는 부담 없이 NGINX Plus의 강력한 성능으로 수많은 앱 및 API 문제를 해결할 수 있습니다.
NGINXaaS for Azure에 대해 자세히 알아보려면 제품 설명서를 살펴보시기 바랍니다. NGINXaaS for Azure를 사용해 볼 준비가 되셨다면 Azure Marketplace를 방문하거나 문의하여 사용 사례에 대해 논의해 보세요.
관련 블로그 게시물
시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric
이 영상에서는 KubeCon의 NGINX 부스를 찾아가, 저희가 공개한 Kubernetes Gateway API 구현을 살펴봅니다.
F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법
앱 보안을 강화하는 두 가지 방법을 소개합니다. NGINX Management Suite를 통해 WAF 운영에 대한 가시성을 높이고, NGINX App Protect WAF를 활용해 코드형 보안을 구현하는 것입니다.
Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션
개발 주체, 개발 철학, 프로덕션 환경 준비도, 보안 및 지원을 기준으로 어떤 NGINX Ingress 컨트롤러가 가장 적합한지 알아보세요.
진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법
NGINX App Protect Denial of Service(DoS)가 계층 7 DoS 공격을 방어하기 위해 완화 방법을 실시간으로 조정하는 방식을 설명합니다. 정상적인 사용자 행동과 서버 상태에 대한 모델을 생성하여 공격을 나타내는 이상 징후를 감지하고 맞춤형 완화 시그니처를 적용할 수 있습니다.
NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리
NGINX Instance Manager 버전 1.0에는 두 가지 새로운 기능이 도입되었습니다. NGINX 인스턴스에 태그와 사용자 역할을 지정하면 전체 그룹에 구성을 한 번에 적용할 수 있습니다. 인증서 검사는 만료 예정인 인증서를 감지하여 서비스 중단을 방지할 수 있도록 인증서를 교체할 수 있게 해줍니다.
Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유
Netflix가 글로벌 콘텐츠 전송 네트워크인 Open Connect의 스트리밍 미디어 기술로 NGINX를 선택한 이유를 NGINX 개발자 Gleb Smirnoff에게서 알아보세요.