다음을 통해 공유


Azure에 컨테이너화된 애플리케이션을 배포할 때 HTTPS 구성

컨테이너화된 애플리케이션을 배포하는 경우 일반적으로 암호화된 보안 통신에 HTTPS 프로토콜을 사용합니다. 보안 통신은 SSL(Secure Sockets Layer)을 사용하여 이전 메서드를 대체하는 TLS(전송 계층 보안)에 의해 구현됩니다.

필수 조건

필수 조건

Devtest 인증서

개발하는 동안 Visual Studio는 자체 서명된 인증서를 사용하며, devtest 인증서라고도 합니다. 로컬 컴퓨터에서 애플리케이션을 처음 시작할 때 인증서를 신뢰하라는 메시지가 표시됩니다. 개발 및 테스트에 사용할 수 있지만 Azure에 배포하고 사용자 지정 도메인에 애플리케이션을 노출하는 경우 CA(인증 기관), Azure 또는 타사 CA에서 발급한 인증서로 전환해야 합니다.

Azure의 배포 옵션에 대한 보안

많은 Azure 서비스는 인증서 관리를 자동으로 처리하여 구성 및 관리 부담을 간소화합니다. Azure에서 컨테이너에 대한 TLS를 설정하는 구성 및 절차는 배포하는 서비스에 따라 달라집니다.

일반적으로 Azure 서비스는 인증서를 가져오고 저장하는 여러 가지 방법을 지원할 수 있습니다. Azure의 자체 CA(인증 기관)에서 신뢰할 수 있는 인증서를 얻거나 타사 CA에서 발급한 신뢰할 수 있는 프라이빗 인증서를 업로드할 수 있습니다. 서비스의 자체 인증서 저장소를 사용하거나 Azure Key Vault를 사용하여 다른 비밀과 함께 인증서를 저장할 수 있습니다.

다음 표에서는 서비스를 보여 줍니다. 이러한 서비스에 배포할 때 HTTPS 보안이 작동하는 방식과 인증서 관리에 대한 방법 가이드를 설명하는 링크가 포함되어 있습니다.

Azure 서비스 노트
Azure 앱 서비스 Azure App Service는 추가 오버헤드 없이 Azure에서 제공하는 신뢰할 수 있는 인증서를 사용하여 보안 엔드포인트를 가져오는 기본 환경을 제공하는 단일 컨테이너에 적합한 배포 서비스입니다. 더 큰 제어를 위해 인증서를 가져오고 저장하기 위한 여러 옵션 중에서 선택할 수 있습니다. Azure에서 제공하는 기본 신뢰할 수 있는 인증서 대신 타사 CA에서 가져온 고유한 신뢰할 수 있는 인증서를 사용할 수 있습니다. 필요에 따라 Azure Key Vault에 인증서를 저장할 수 있습니다. App Service TLS 개요참조하세요.
Azure Container Apps Azure Container Apps는 하나 이상의 컨테이너를 사용하는 컨테이너화된 앱에 적합한 호스팅 서비스입니다. Azure App Service와 마찬가지로 신뢰할 수 있는 Azure 제공 인증서를 자동으로 사용하는 기본 환경을 제공하지만 다양한 시나리오를 지원하는 다양한 네트워킹 아키텍처 옵션도 제공합니다. Azure Container Apps 네트워킹을 참조하세요.
Azure Container Instances Azure Container Instances에서 호스트되는 컨테이너에 HTTPS 공용 엔드포인트를 구성하려면, 사이드카 컨테이너에TLS 엔드포인트를 활성화하세요. 이 옵션은 컨테이너 자체에 미치는 영향을 최소화합니다.
AKS(Azure Kubernetes Service) 클러스터의 인그레스에 TLS를 설정하려면 AKS 설명서의 지침을 참조하세요. AKS는 최대한의 유연성으로 인증서의 회전 및 갱신을 처리하는 가장 고급 관리 기능을 제공합니다.
Azure 서비스 노트
Azure 앱 서비스 Azure App Service는 추가 오버헤드 없이 Azure에서 제공하는 신뢰할 수 있는 인증서를 사용하여 보안 엔드포인트를 가져오는 기본 환경을 제공하는 단일 컨테이너에 적합한 배포 서비스입니다. 더 큰 제어를 위해 인증서를 가져오고 저장하기 위한 여러 옵션 중에서 선택할 수 있습니다. Azure에서 제공하는 기본 신뢰할 수 있는 인증서 대신 타사 CA에서 가져온 고유한 신뢰할 수 있는 인증서를 사용할 수 있습니다. 필요에 따라 Azure Key Vault에 인증서를 저장할 수 있습니다. App Service TLS 개요참조하세요.
Azure Container Apps Azure Container Apps는 하나 이상의 컨테이너를 사용하는 컨테이너화된 앱에 적합한 호스팅 서비스입니다. Azure App Service와 마찬가지로 신뢰할 수 있는 Azure 제공 인증서를 자동으로 사용하는 기본 환경을 제공하지만 다양한 시나리오를 지원하는 다양한 네트워킹 아키텍처 옵션도 제공합니다. Azure Container Apps 네트워킹을 참조하세요.
Azure Container Instances Azure Container Instances에서 호스트되는 컨테이너에 HTTPS 공용 엔드포인트를 구성하려면, 사이드카 컨테이너에TLS 엔드포인트를 활성화하세요. 이 옵션은 컨테이너 자체에 미치는 영향을 최소화합니다.
Service Fabric Service Fabric 애플리케이션 및 서비스 보안을 참조하세요. 일반적으로 들어오는 요청에 대한 보안을 처리하도록 역방향 프록시를 설정합니다. Azure Service Fabric 역방향 프록시를 참조하세요.
AKS(Azure Kubernetes Service) 클러스터의 인그레스에 TLS를 설정하려면 AKS 설명서의 지침을 참조하세요. AKS는 최대한의 유연성으로 인증서의 회전 및 갱신을 처리하는 가장 고급 관리 기능을 제공합니다.

여러 컨테이너에 대한 네트워크 보안 옵션

시나리오에 여러 컨테이너가 포함된 경우 수신 트래픽만 보호하는 옵션(즉, 외부 연결 부하 분산 장치 또는 역방향 프록시)이 있거나 애플리케이션의 모든 컨테이너 간에 보안 통신을 적용할 수 있습니다. 후자의 옵션은 외부 계층에 위반이 있더라도 시스템의 심층 계층에 대한 보안을 제공합니다. 모든 컨테이너 간 통신에 HTTPS를 사용하는 것은 이 문서의 범위를 벗어납니다.

Azure Container Apps의 경우, 외부 요청에 대해 HTTPS를 사용하는 수신을 구성할 수 있으며, 여러 컨테이너의 네트워크 내에서는 HTTP 또는 TCP를 사용할 수 있습니다. 컨테이너 간의 보안 통신을 위해 요청, 클라이언트 및 서버 양쪽 또는 마이크로 서비스 간에 인증서가 필요한 mTLS(상호 TLS)를 사용할 수 있습니다. Azure Container Apps에서의 인그레스를 참조하세요 그리고 Azure Container Apps에서의 클라이언트 인증서 인증 구성을 설정하세요.

  • Visual Studio 사용하여 Azure App Service에 ASP.NET Core 컨테이너 배포
  • 컨테이너화된 ASP.NET Core 앱에 SSL을 사용하는