컨테이너는 최신 애플리케이션을 패키징하고 배포하는 표준입니다. Azure 완전히 관리되는 Kubernetes 클러스터에서 서버리스 컨테이너 플랫폼에 이르는 포괄적인 컨테이너 서비스 집합을 제공합니다. 기존 애플리케이션을 현대화하거나, 클라우드 네이티브 마이크로 서비스를 빌드하거나, 상태 저장 워크로드를 실행하는 경우 Azure 컨테이너 서비스는 조직에 필요한 유연성, 이식성 및 확장성을 제공합니다.
올바른 컨테이너 플랫폼을 선택하는 것은 워크로드 요구 사항, 운영 전문 지식 및 비즈니스 목표에 따라 달라집니다. 주요 고려 사항에는 오케스트레이션 복잡성, 크기 조정 요구 사항, 네트워킹 요구 사항 및 기본 인프라에 대해 원하는 제어 수준이 포함됩니다. Azure 컨테이너는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service) 및 서버리스 모델에 걸쳐 있으므로 아키텍처에 가장 적합한 접근 방식을 선택할 수 있습니다.
컨테이너에 대한 Azure 서비스
Azure 컨테이너에 대한 다양한 서비스를 제공합니다.
AKS(Azure Kubernetes Service): 엔터프라이즈급 보안 및 거버넌스를 사용하여 컨테이너화된 애플리케이션을 배포하고 관리하기 위한 완전 관리형 Kubernetes 서비스입니다.
Azure Container Apps: 인프라를 관리하지 않고 마이크로 서비스 및 컨테이너화된 애플리케이션을 실행하기 위한 서버리스 컨테이너 플랫폼입니다.
Azure Container Instances: 이벤트 기반 애플리케이션 및 일괄 처리 작업에 대한 오케스트레이션 없이 컨테이너를 실행하는 빠르고 간단한 방법입니다.
Azure Container Registry: 컨테이너 이미지 및 아티팩트 빌드, 저장 및 관리를 위한 프라이빗 레지스트리 서비스입니다.
Azure Red Hat OpenShift: Red Hat 지원 및 추가 플랫폼 기능이 필요한 엔터프라이즈를 위한 완전 관리형 OpenShift 서비스입니다.
아키텍처
다이어그램은 Azure 컨테이너 솔루션을 구현하는 일반적인 방법을 보여 줍니다. 왼쪽 위에서 Azure Bastion 로컬 kubectl 클라이언트에서 보안 터널을 만듭니다. 허브 가상 네트워크에는 Azure Bastion 서브넷(관리), Azure Firewall 서브넷(아웃바운드) 및 게이트웨이 서브넷(온-프레미스)이 포함됩니다. Azure Bastion 서브넷에서 스포크 가상 네트워크의 내부 로드 밸런서로 향하는, '프라이빗 IP 주소'라고 레이블이 지정된 화살표입니다. 화살표는 온-프레미스 네트워크에서 게이트웨이 서브넷을 가리킵니다. 가상 네트워크 피어링 레이블이 지정된 양면 화살표는 허브 가상 네트워크와 스포크(원격 사무실)를 연결합니다. 가상 네트워크 피어링이 허브 및 스포크 네트워크를 연결합니다. 화살표는 Azure Key Vault와 Azure Container Registry에서 Azure Private Link 엔드포인트 서브넷으로 향합니다. 스포크 가상 네트워크에는 API 서버 가상 네트워크 통합 위임 서브넷, 수신 리소스 서브넷 및 Azure Application Gateway 서브넷이 포함됩니다. 화살표는 인터넷에서 Application Gateway 서브넷을 가리킵니다. 스포크 가상 네트워크 섹션에는 클러스터 노드 서브넷도 포함됩니다. AKS(Azure Kubernetes Service), 시스템 노드 풀 및 사용자 노드 풀은 이 클러스터에 있습니다. 시스템 노드 풀에는 CoreDNS 및 메트릭 서버가 포함됩니다. 사용자 노드 풀에는 Traefik 인그레스 컨트롤러와 워크로드가 포함됩니다. 화살표는 클러스터 노드 서브넷에서 Azure Monitor 작업 영역, 메트릭 및 Managed Prometheus를 포함하는 섹션을 가리킵니다.
이 아키텍처의 Visio 파일을 다운로드하십시오.
이전 다이어그램은 일반적인 기본 또는 기준 컨테이너 구현을 보여 줍니다. Azure 빌드할 수 있는 실제 솔루션은 컨테이너 가이드, 아키텍처 및 솔루션 아이디어 탐색을 참조하세요.
컨테이너 가이드, 아키텍처 및 솔루션 아이디어 살펴보기
이 섹션의 문서에는 Azure 배포하고 프로덕션 등급 솔루션으로 확장할 수 있는 가이드 및 완전히 개발된 아키텍처가 포함되어 있습니다. 솔루션 아이디어는 POC(컨테이너 개념 증명) 개발을 계획할 때 고려할 구현 패턴과 가능성을 보여 줍니다. 이러한 문서는 Azure 컨테이너 기술을 사용하는 방법을 결정하는 데 도움이 될 수 있습니다.
컨테이너 서비스 선택
다음 문서는 워크로드 요구 사항에 가장 적합한 컨테이너 기술을 평가하고 선택하는 데 도움이 됩니다.
Azure 컨테이너 서비스: 올바른 컨테이너 플랫폼을 선택하기 위한 의사 결정 트리를 선택합니다.
Azure 컨테이너 서비스를 선택하기 위한 아키텍처 고려 사항: 컨테이너 서비스 선택에 대한 자세한 고려 사항입니다.
에지 컴퓨팅 옵션에서 Kubernetes를 선택합니다. 에지에서 Kubernetes를 실행하기 위한 옵션을 비교합니다.
컨테이너 가이드
마이크로 서비스 아키텍처 스타일: 마이크로 서비스에 대한 디자인 원칙입니다.
마이크로 서비스 아키텍처 설계: 마이크로 서비스 설계에 대한 단계별 지침입니다.
Kubernetes 기반 호스팅
- AKS(Azure Kubernetes Service) - 디자인 및 작업 계획: AKS 디자인 및 작업을 계획하려면 여기에서 시작합니다.
Kubernetes 솔루션 아이디어
- AKS를 사용한 데이터 스트리밍: AKS를 사용하는 실시간 데이터 스트리밍 아키텍처입니다.
Kubernetes 아키텍처
워크로드를 디자인할 때 다음 아키텍처의 권장 사항을 사용합니다.
애플리케이션 아키텍처
Azure Kubernetes Service 마이크로 서비스 아키텍처: AKS에서 마이크로 서비스를 디자인하고 배포합니다.
고급 AKS(Azure Kubernetes Service) 마이크로 서비스 아키텍처: 복잡한 마이크로 서비스 워크로드에 대한 고급 패턴입니다.
인프라 아키텍처
AKS(Azure Kubernetes Service) 클러스터의 기준 아키텍처: AKS에 대한 프로덕션 준비 기준 아키텍처입니다.
다중 리전 클러스터에 대한 AKS 기준: HA에 대한 여러 지역에 AKS를 배포합니다.
금융 서비스 업계의 Azure Red Hat OpenShift 사용: 규제된 금융 워크로드에 OpenShift를 사용합니다.
Azure DevOps 및 Helm을 사용하여 Kubernetes용 마이크로서비스에 대한 CI/CD 파이프라인 구축: Kubernetes 마이크로서비스를 위한 강력한 CI/CD 파이프라인을 구축하세요.
하이브리드 및 에지 아키텍처
Azure 로컬 용 Azure Kubernetes Service(AKS) 기본 아키텍처: Azure 로컬 에서 실행되는 AKS 또는 대체 배포 옵션인 베어 메탈 AKS를 위한 기본 아키텍처를 설계합니다.
GitOps를 사용하여 AKS 하이브리드 및 Edge를 사용하여 컨테이너화된 앱 배포: Azure Arc 및 GitOps를 사용하여 AKS 하이브리드 및 Edge용 컨테이너화된 앱 배포 파이프라인을 빌드하고 온-프레미스 Kubernetes 클러스터에 Flux 자동화를 사용합니다.
Kubernetes 가이드
다음 가이드에서는 Kubernetes 워크로드의 공통 관심사에 대한 권장 사항을 제공합니다.
애플리케이션 가이드
다중 계층 AKS 애플리케이션의 고가용성: 고가용성 AKS 애플리케이션에 대한 디자인 패턴입니다.
Azure Pipelines 사용하여 AKS 앱용 CI/CD 파이프라인 빌드: AKS용 CI/CD 구현
gitOps for Azure Kubernetes Service: GitOps 사례를 사용하여 AKS 배포를 관리합니다.
인프라 가이드
AKS(Azure Kubernetes Service) API 서버에 액세스: AKS API 서버에 대한 보안 액세스 패턴
AKS 클러스터의 청록색 배포: 청록색 전략을 사용하여 가동 중지 시간 없는 배포를 구현합니다.
Azure Firewall 사용하여 AKS 클러스터를 보호합니다. Azure Firewall 사용하여 AKS 클러스터를 보호합니다.
AZURE FRONT DOOR 사용하여 AKS 워크로드를 보호합니다. AKS에 대한 전역 부하 분산 및 보안.
다중 테넌트 Azure Kubernetes Service 클러스터에서 컨테이너용 Application Gateway 사용: AKS 클러스터와 함께 컨테이너용 Application Gateway를 사용하여 마이크로 서비스 기반 애플리케이션을 인터넷에 노출합니다.
Azure Kubernetes Service 사용하여 GPU 기반 워크로드 호스팅: AI 및 기계 학습 시나리오를 위해 AKS에서 GPU 워크로드를 실행합니다.
AKS 2일차 작업 가이드
AKS(Azure Kubernetes Service) 2일차 작업 가이드: 심사, 패치, 업그레이드 및 문제 해결과 같은 AKS 2일차 작업에 대해 알아봅니다.
AKS에 대한 백업 및 복구: 클러스터 구성 및 워크로드를 보호합니다.
Azure Kubernetes Service 작업자 노드 및 Kubernetes 버전 패치 및 업그레이드: 클러스터를 안전하고 최신 상태로 유지하세요.
AKS 클러스터의 네트워크 문제 해결: 네트워크 문제 진단 및 해결
Azure Monitor를 사용하여 AKS 모니터링: 클러스터에서 원격 분석 데이터를 수집하고 분석합니다.
일반적인 문제: 일반적인 AKS 문제 해결
선별 절차
AKS 운영을 위한 트리아지 방식: AKS 문제를 해결하기 위한 체계적인 접근 방식입니다.
AKS 클러스터 상태 평가: 심사 단계의 일부로 AKS 클러스터의 전반적인 상태를 확인합니다.
노드 및 Pod 상태 검사: AKS 작업자 노드 및 Pod의 상태를 검사하고 문제를 해결합니다.
워크로드 배포 모니터링: 워크로드 배포 및 DaemonSet 기능이 제대로 실행되고 있는지 확인합니다.
허용 컨트롤러 유효성 검사: 허용 컨트롤러가 예상대로 작동하는지 확인합니다.
컨테이너 레지스트리에 대한 연결을 확인합니다. 컨테이너 레지스트리에 대한 연결을 확인합니다.
PaaS 컨테이너 호스팅
Azure Container Apps 및 Azure Container Instances 인프라 관리를 추상화하는 서버리스 컨테이너 플랫폼을 제공합니다.
PaaS 컨테이너 아키텍처
Azure Container Apps 마이크로 서비스 배포: Container Apps를 사용하여 마이크로 서비스를 빌드합니다.
Azure Container Apps 및 Dapr: Container Apps에서 Dapr 및 KEDA를 사용하는 이벤트 기반 마이크로 서비스를 사용하여 마이크로 서비스를 배포합니다.
조직의 준비 상태
클라우드 채택 프로세스의 시작 부분에서 조직은 Azure
Azure 컨테이너 솔루션의 품질을 보장하려면 Azure Well-Architected Framework의 지침을 따르세요. Well-Architected Framework는 아키텍처 우수성을 추구하는 조직에 대한 규범적인 지침을 제공하고 비용 최적화 Azure 솔루션을 설계, 프로비전 및 모니터링하는 방법을 설명합니다. 컨테이너별 지침은 다음 Well-Architected Framework 서비스 가이드를 참조하세요.
모범 사례
다음 모범 사례를 따라 Azure 컨테이너 워크로드의 안정성, 보안, 비용 효율성, 성능 및 운영 품질을 개선합니다.
오토스케일링 모범 사례: 수평 크기 조정 전략을 설계하고, 크기 조정 신호를 선택하고, 안전한 스케일 인 동작을 계획합니다.
백그라운드 작업 지침: 장기 실행 작업에 대한 백그라운드 처리를 구현합니다.
캐싱 지침: 성능을 향상시키고 백 엔드 시스템의 부하를 줄입니다.
비용 최적화
Azure 컨테이너 비용을 관리하려면 사용 패턴을 이해하고 올바른 가격 책정 모델을 선택해야 합니다.
Azure 예약: 1년 또는 3년 약정 시 AKS 노드 가상 머신(VM) 비용을 최대 72% 절감하세요.
AKS용 스폿 VM Azure: 중단 가능한 워크로드에 스폿 노드 풀을 상당한 할인된 가격으로 사용합니다.
컴퓨팅에 대한 Azure 절감 계획: VM, Container Instances 및 기타 컴퓨팅 서비스에서 유연한 가격 책정
리소스 권한 부여: Azure Advisor 권장 사항을 사용하여 사용량이 부족한 노드를 식별하고 Pod 리소스 요청을 최적화합니다.
Container Apps 사용 계획: 요청 처리 중에 사용되는 리소스에 대해서만 지불합니다.
Container Apps 작업
Container Apps는 관리형 인프라를 사용하여 운영 오버헤드를 줄이지만 애플리케이션을 모니터링하고 관리해야 합니다.
컨테이너 앱 모니터링: Azure Monitor, Log Analytics 및 Application Insights를 사용하여 관찰할 수 있습니다.
상태 확인 프로브: 컨테이너 상태 확인을 위한 라이브니스, 레디니스 및 시작 프로브를 구성합니다.
수정 버전 및 트래픽 분할: 애플리케이션 버전을 관리하고 청록색 배포를 구현합니다.
할당량 및 제한: 서비스 한도를 이해하고 그에 따라 용량을 계획합니다.
컨테이너를 사용하여 최신 상태 유지
Azure 컨테이너 서비스는 최신 애플리케이션 문제를 해결하기 위해 진화합니다. 최신 업데이트 및 기능에 대한 정보를 계속 확인하세요.
주요 컨테이너 서비스를 최신 상태로 유지하려면 다음 문서를 참조하세요.
기타 리소스
다음 리소스는 컨테이너에 대한 자세한 내용을 검색하는 데 도움이 될 수 있습니다.
Azure Arc 사용 가능한 Kubernetes: Azure Arc 사용하여 어디서나 실행되는 Kubernetes 클러스터를 관리합니다.
Azure Arc 사용하도록 설정된 AKS: Azure 로컬 및 Windows Server AKS를 실행합니다.
Kubernetes 클러스터에 대한 Azure Arc 하이브리드 관리 및 배포: 환경 전반에서 Kubernetes 클러스터를 관리합니다.
Azure 하이브리드 및 적응형 클라우드 아키텍처 시작: Azure 하이브리드 솔루션 개요입니다.
Azure 로컬 의 AKS 기준 아키텍처: 프로덕션 환경에 바로 사용할 수 있는 Azure 로컬 의 AKS 배포입니다.
AWS(Amazon Web Services) 또는 Google Cloud 전문가
빠르게 시작할 수 있도록 다음 문서에서는 Azure 컨테이너 옵션을 다른 클라우드 서비스와 비교하고 마이그레이션 지침을 제공합니다.
Azure 및 AWS의 컨테이너 및 컨테이너 오케스트레이터: Azure 및 AWS 컨테이너 서비스를 비교합니다.
AWS 전문가를 위한 Azure: AWS에 익숙한 전문가를 위한 Azure 개요입니다.
Google Cloud에서 Azure 서비스 비교: Azure 및 Google Cloud 컨테이너 서비스를 비교합니다.