Azure 앱 성능 및 보안 향상을 위한 NGINX Plus 사용

Azure용 NGINXaaS를 통해 기업은 클라우드에서 고성능 애플리케이션을 안전하게 제공할 수 있습니다. 2023년 1월에 정식 출시된 완전 관리형 서비스인 NGINX Plus를 기반으로 합니다. 출시 이후 앞으로도 새로운 기능을 추가하여 Azure 용 NGINXaaS를 지속적으로 개선할 예정입니다.

이 포스트에서는 자체 NGINX Plus 인스턴스를 배포, 유지 관리 및 업데이트할 필요 없이 더 많은 NGINX Plus 혜택을 누릴 수 있는 최신 성능 및 보안 기능 몇 가지를 중점적으로 설명합니다.

Azure용 NGINXaaS 아키텍처를 설명하는 다이어그램. NGINX Plus 및 엣지 라우팅은 환경의 SaaS 부분에 있으며, 고객의 컴퓨팅, 키 스토리지, 모니터링 및 기타 서비스는 고객의 Azure 구독에 있습니다.

사진 1: Azure 용 NGINXaaS 개요

목차

1. mTLS로 업스트림 트래픽 보호
2. 인증서 순환
3. HTTP/2 프록시(및 추가 프로토콜 옵션)
4. Azure + NGINX Plus로 Layer 4 및 Layer 7 로드 밸런싱 지원
5. Azure NGINXaaS 고용량(최대 160개 NCU)
6. NGINX Plus 지시문 추가
7. Azure에서 NGINX Plus 지금 시작하세요.

1. mTLS로 업스트림 트래픽 보호

리버스 프록시는 public internet에서 클라이언트 측 트래픽을 암호화하기 위해 SSL/TLS가 필요하지만, 서버 측에서 인증하고 기밀성을 보장하기 위해서는 상호 TLS(mTLS)가 필수적입니다. 제로 트러스트로 전환하면서 업스트림 서버 트래픽이 변경되거나 가로채지 않았는지 확인하는 것도 필요합니다.

서버 측 TLS 인증 다이어그램. 클라이언트 측과 서버 측 연결은 모두 암호화되며, NGINXaaS 인스턴스와 앱 서비스는 모두 상호 인증됩니다.

사진 2: NGINXaaS를 사용한 mTLS

이제 Azure 용 NGINXaaS는 SSL/TLS 인증서로 업스트림 트래픽을 보호하기 위한 NGINX 지시문을 지원합니다. 이러한 지시문을 사용하면 mTLS를 통해 업스트림 트래픽을 암호화할 수 있을 뿐만 아니라 업스트림 서버가 신뢰할 수 있는 인증 기관의 유효한 인증서를 제공하는지 확인할 수도 있습니다.

2. 인증서 순환

Azure 용 NGINXaaS에서 TLS 인증서를 사용하는 데 있어 핵심적인 부분(말장난 의도)은 Azure Key Vault(AKV)를 사용하여 해당 인증서를 안전하게 관리하는 것입니다. AKV는 민감한 암호화 자료를 안전하게 유지하며, Azure 포털을 통해 key 자료가 실수로 또는 의도적으로 공개되는 것을 방지하면서 Azure NGINXaaS가 해당 인증서를 사용할 수 있도록 합니다.

NGINXaas 및 Azure Key Vault를 사용한 인증서 로테이션 애니메이션. 기존 인증서의 새 버전이 Azure Key Vault에 로드된 다음 새 인증서가 자동으로 NGINXaaS 인스턴스로 로테이션됩니다.

사진 3: Azure Key Vault를 사용한 인증서 순환

이제 Azure 용 NGINXaaS는 인증서가 AKV에서 업데이트될 때마다 NGINX 배포를 통해 인증서를 자동으로 회전할 수 있습니다. 새 버전의 인증서는 4시간 이내에 배포에 순환됩니다.

3. HTTP/2 프록시(및 추가 프로토콜 옵션)

눈을 감고 1997년을 떠올려보세요. 우리는 JNCO 청바지(또는 캐나다인이라면 모드로브)를 입고 Chumbawamba와 함께 Tubthumping을 하고 있었고 HTTP/1.1이 출시되었습니다. 당시 대부분의 최종 사용자는 전화 접속 모뎀을 통해 인터넷에 접속했고, 웹 페이지에는 수십 개의 요소만 포함되어 있었으며, 사용자 경험에 있어서는 지연 시간보다 대역폭이 훨씬 더 큰 관심사였습니다.

25년이 지난 지금도 상당수의 웹 애플리케이션은 콘텐츠를 전송하는 데 HTTP/1.1을 사용하고 있습니다. 이는 문제가 될 수 있습니다. HTTP/1.1은 여전히 작동하지만, 연결당 한 번에 하나의 리소스만 전송할 수 있습니다. 한편 최신 웹 앱은 사용자 인터페이스를 업데이트하기 위해 수백 개의 요청을 할 수 있습니다.

대부분의 사용자는 훨씬 더 많은 대역폭을 사용할 수 있지만, 데이터 전송 속도(기본적인 빛의 속도로 제약을 받음)는 그만큼 빠르게 발전하지 못했습니다. 따라서 이러한 모든 요청의 누적 지연 시간은 애플리케이션의 체감 성능에 상당한 영향을 미칠 수 있습니다. 최신 브라우저는 동일한 서버에 대해 여러 개의 TCP 연결을 열지만, 이러한 연결의 각 요청은 여전히 순차적이기 때문에 느린 리소스 하나가 그 뒤에 있는 다른 모든 리소스를 지연시킬 수 있습니다.

HTTP/1.1만을 사용하여 로드되는 F5의 홈페이지를 살펴보십시오.

HTTP/1.1을 통해 접속한 f5.com의 타임라인. 총 시간이 2.5초에 가까워지고 여러 요청이 대기열 지연을 나타내는 회색 막대로 진행됩니다.

사진 4: HTTP/1.1을 통해 액세스 되는 F5.com

회색 막대가 보이시나요? 이는 브라우저가 세션 설정을 기다리거나, 느린 리소스 하나를 차단하거나, 새로운 TCP 연결을 사용할 수 있기를 기다리는 동안 낭비하고 있는 귀중한 시간입니다.

HTTP/2를 활성화하고 다시 시도해 봅니다:

HTTP/2를 통해 액세스한 f5.com의 타임라인. 총 시간은 2초 미만이며 대기열 관련 지연으로 낭비되는 시간이 훨씬 적습니다.

사진 5: 동일한 요청이지만 HTTP/2를 사용함

훨씬 나아졌습니다. 여전히 느린 리소스가 몇 개 있지만 다른 요청을 지연시키지 않으며 대기열 관련 지연을 기다리는 데 소요되는 시간도 훨씬 줄어듭니다. HTTP/2는 웹 브라우저와 서버에 익숙한 HTTP/1.1의 시맨틱을 그대로 유지하면서 애플리케이션 성능이 좋지 않게 인식되는 몇 가지 이유(예: 요청 우선순위 지정, 헤더 압축, 요청 멀티플렉싱)를 해결하기 위한 새로운 기능을 추가했습니다.

이러한 분명한 차이를 감안하여 이제 Azure 용 NGINXaaS는 HTTP/2를 통한 클라이언트 요청을 지원합니다. 클라이언트 측 연결은 더 긴 왕복 시간의 영향을 받을 가능성이 높으므로 업스트림 서버를 변경하지 않고 HTTP/2의 지연 시간이 단축 이점을 통해 해당 트래픽을 전송할 수 있습니다.

웹 애플리케이션 업계의 일부 사람들이 믿고 싶지 않을 수도 있지만, HTTP 외에 사용할 수 있는 추가 프로토콜 옵션이 있다는 것을 잘 알고 있습니다. 그렇기 때문에 이제 Azure 용 NGINXaaS에서도 NGINX gRPC모듈을 사용할 수 있습니다. 이 모듈은 오류 차단, 헤더 조작 등을 포함하여 gRPC 트래픽 작업을 위한 여러 구성 지시문을 제공합니다.

non HTTP/gRPC 트래픽의 경우, 이제 Azure 용 NGINXaaS에서 stream 모듈을 사용할 수 있습니다. 이 모듈은 TCP 및 UDP 트래픽의 프록시 및 로드 밸런싱을 지원합니다.

4. Azure + NGINX Plus로 Layer 4 및 Layer 7 로드 밸런싱 지원

이제 Azure용 NGINXaaS는 Layer 4 TCP/UDP 및 Layer 7 HTTP/HTTP 클라우드 네이티브 로드 밸런서 역할을 모두 수행할 수 있습니다. 이것이 왜 중요한가요? 두 개의 서로 다른 서비스 또는 로드 밸런서를 배포하는 대신 Azure용 NGINXaaS를 사용하면 하나의 로드 밸런서를 배포하고 두 레이어에서 동시에 작동할 수 있도록 구성할 수 있으므로 클라우드 아키텍처를 간소화하고 비용을 절감할 수 있습니다.

여기에서 구성에 대해 알아볼 수 있습니다.

5. Azure NGINXaaS 고용량(최대 160개 NCU)

Azure용 NGINXaaS는 시간 단위로 계량되고 월 단위로 청구되는 소비 기반 서비스이며, NGINX 용량 단위(NCU)로 청구됩니다. 최근 배포 용량을 80개 NCU에서 160개 NCU로 두 배 늘렸습니다. 고객은 20개 NCU의 소규모 시스템을 배포할 수 있으며, 워크로드가 증가하면 최대 160개 NCU까지 확장할 수 있습니다. 또한 고객은 처음에 최대 160개의 NCU를 배포할 수 있는 옵션도 있습니다.

6. NGINX Plus 지시문 추가

온프레미스에서 완전 관리형 클라우드 서비스로 쉽게 구성 환경을 전환할 수 있도록 많은 NGINX Plus 지시문을 추가했습니다. Azure용 NGINXaaS에서 지원하는 모든 NGINX Plus 지시문은 여기에서 참조하세요.

7. Azure 에서 NGINX Plus 지금 시작하세요.

NGINX팀은 항상 NGINX 및 F5 기술을 사용하며 모든 앱과 API를 어디에서나 보호, 제공 및 최적화할 수 있는 방법을 개선하고 확장하고 있습니다. 앞서 언급한 기능 및 기타 새로운 기능이 Azure용 NGINXaaS에 추가됨에 따라 더 많은 Azure 사용자가 추가 VM 또는 컨테이너 인프라를 관리해야 하는 오버헤드 없이 NGINX Plus의 강력한 기능으로 수많은 앱 및 API 문제를 해결할 수 있습니다.

Azure용 NGINXaaS에 대해 자세히 알아보려면 제품 설명서를 참조하시기 바랍니다. Azure용 NGINXaaS를 사용해 볼 준비가 되셨다면, Azure Marketplace를 방문하거나 NGINX STORE에 문의하여 사용 사례에 논의하시기 바랍니다.

NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.

NGINX에 대한 최신 정보들을 빠르게 전달받고 싶으시다면, 아래의 뉴스레터를 구독하세요.

NGINX STORE를 통한 솔루션 도입 및 기술지원 무료 상담 신청

* indicates required