Azure Container Instances란?

컨테이너는 클라우드 애플리케이션을 패키지, 배포 및 관리하기 위한 기본 방법으로 도입되고 있습니다. Azure Container Instances는 어떠한 가상 머신도 관리하지 않고 또 더 높은 수준의 서비스를 채택하지 않고도 Azure에서 컨테이너를 실행하는 가장 빠르고 간단한 방법을 제공합니다.

Azure Container Instances는 간단한 애플리케이션, 작업 자동화 및 빌드 작업 등 격리된 컨테이너에서 작동할 수 있는 모든 시나리오에 적합한 솔루션입니다. 여러 컨테이너 간 서비스 검색, 자동 크기 조정 및 조정된 애플리케이션 업그레이드를 포함하여 전체 컨테이너 오케스트레이션이 필요한 시나리오에는 AKS(Azure Kubernetes Service)를 사용하는 것이 좋습니다. 컨테이너 인스턴스를 배포할 때 모범 사례를 이해하려면 고려 사항 및 제한 사항FAQ를 읽어보는 것이 좋습니다.

빠른 시작 시간

컨테이너는 VM(가상 머신)에 비해 상당한 시작 이점을 제공합니다. Azure Container Instances는 VM을 프로비전 및 관리할 필요 없이 Azure에서 몇 초 안에 컨테이너를 시작할 수 있습니다.

Docker Hub, 프라이빗 Azure 컨테이너 레지스트리 또는 다른 클라우드 기반 docker 레지스트리에서 Linux 또는 Windows 컨테이너 이미지를 가져옵니다. FAQ를 방문하여 ACI에서 지원되는 레지스트리를 알아보세요. Azure Container Instances는 여러 가지 일반적인 기본 OS 이미지를 캐시하여 사용자 지정 애플리케이션 이미지의 배포 속도를 향상합니다.

컨테이너 액세스

Azure Container Instances는 IP 주소 및 FQDN(정규화된 도메인 이름)을 사용하여 컨테이너 그룹을 인터넷에 직접 노출할 수 있습니다. 컨테이너 인스턴스를 만들 때 사용자 정의 DNS 이름 레이블을 지정하여 customlabel.azureregion.azurecontainer.io에서 애플리케이션에 연결할 수 있습니다.

또한 Azure Container Instances는 애플리케이션 개발 및 문제 해결에 도움이 되는 대화형 셸을 제공하여 실행 중인 컨테이너에서 명령 실행을 지원합니다. 액세스는 HTTPS를 통해 이루어지며, TLS를 사용하여 클라이언트 연결을 보호합니다.

Important

2020년 1월 13일부터 Azure Container Instances는 TLS 1.2를 사용하기 위해 서버 및 애플리케이션의 모든 보안 연결이 필요합니다. TLS 1.0 및 1.1에 대한 지원이 중단됩니다.

규격 배포

하이퍼바이저 수준 보안

지금까지는 컨테이너가 애플리케이션 종속성 격리 및 리소스 관리를 제공했지만 적대적인 다중 테넌트 사용을 위해서 충분히 보강되지 않았습니다. Azure Container Instances는 애플리케이션이 VM에서 격리되는 것처럼 컨테이너에서도 격리되도록 보장합니다.

고객 데이터

Azure Container Instances 서비스는 고객 데이터를 저장하지 않습니다. 그러나 리소스를 만드는 데 사용되는 Azure 구독의 구독 ID를 저장합니다. 컨테이너 그룹이 예상대로 계속 실행되도록 하려면 구독 ID를 저장해야 합니다.

사용자 지정 크기

일반적으로 컨테이너는 단일 애플리케이션만 실행하도록 최적화되었지만 이러한 애플리케이션의 정확한 요구 사항은 크게 다를 수 있습니다. Azure Container Instances는 CPU 코어 및 메모리의 정확한 사양을 허용하여 최적의 활용도를 제공합니다. 필요한 만큼 비용을 초 단위로 지불하므로 실제로 필요한 양에 따라 지출을 미세하게 조정할 수 있습니다.

Machine Learning과 같은 컴퓨팅 집약적인 작업의 경우 Azure Container Instances는 NVIDIA Tesla GPU 리소스(미리 보기)를 사용하도록 Linux 컨테이너를 예약할 수 있습니다.

영구 스토리지

Azure Container Instances를 통해 상태를 검색하고 유지하기 위해 Azure Storage가 지원하는 Azure Files 공유 탑재를 직접 제공합니다.

Linux 및 Windows 컨테이너

Azure Container Instances는 동일한 API로 Windows 및 Linux 컨테이너를 모두 예약할 수 있습니다. 컨테이너 그룹을 만들 때 OS 유형 기본 설정을 지정할 수 있습니다.

일부 기능은 현재 Linux 컨테이너에 제한됩니다.

Windows 컨테이너 배포의 경우 일반적인 Windows 기본 이미지를 기반으로 하는 이미지를 사용합니다.

공동 예약된 그룹

Azure Container Instances는 호스트 컴퓨터, 로컬 네트워크, 스토리지 및 수명 주기를 공유하는 다중 컨테이너 그룹의 예약을 지원합니다. 이렇게 하면 주 애플리케이션 컨테이너를 로깅 사이드카 같은 다른 지원 역할 컨테이너와 결합할 수 있습니다.

가상 네트워크 배포

Azure Containers Instances를 사용하면 Azure 가상 네트워크에 컨테이너 인스턴스를 배포할 수 있습니다. 컨테이너 인스턴스를 가상 네트워크 내의 서브넷에 배포하면 컨테이너 인스턴스는 VPN 게이트웨이 또는 ExpressRoute를 통해 온-프레미스에 있는 리소스를 비롯한 가상 네트워크의 다른 리소스와 안전하게 통신할 수 있습니다.

기밀 컨테이너 배포

ACI의 기밀 컨테이너를 사용하면 컨테이너 워크로드에 대한 하드웨어 기반 기밀성 및 무결성 보호를 제공하는 TEE(신뢰 실행 환경)에서 컨테이너를 실행할 수 있습니다. ACI의 기밀 컨테이너는 사용 중인 데이터를 보호하고 메모리에서 처리되는 데이터를 암호화할 수 있습니다. ACI의 기밀 컨테이너는 워크로드를 배포할 때 선택할 수 있는 SKU로 지원됩니다. 자세한 내용은 기밀 컨테이너 그룹을 참조하세요.

스폿 컨테이너 배포

ACI 스폿 컨테이너를 사용하면 고객이 일반 우선 순위 ACI 컨테이너에 비해 최대 70% 할인된 가격으로 사용하지 않는 Azure 용량에서 중단 가능한 컨테이너화된 워크로드를 실행할 수 있습니다. ACI 스폿 컨테이너는 Azure에서 잉여 용량 부족이 발생할 때 선점될 수 있으며 엄격한 가용성 요구 사항이 없는 워크로드에 적합합니다. 고객에게는 초당 메모리 및 코어 사용량에 대한 요금이 청구됩니다. ACI 스폿 컨테이너를 활용하려면 스폿 컨테이너 그룹을 사용하고 할인된 가격 책정 모델을 활용하려는 특정 속성 플래그를 사용하여 워크로드를 배포할 수 있습니다. 자세한 내용은 스폿 컨테이너 그룹을 참조하세요.

고려 사항

CLI(명령줄 인터페이스)를 통해 전달된 사용자의 자격 증명은 백 엔드에 일반 텍스트로 저장됩니다. 일반 텍스트에 자격 증명을 저장하는 것은 보안 위험입니다. Microsoft는 백 엔드에 저장할 때 암호화/변환되도록 CLI 환경 변수에 사용자 자격 증명을 저장하도록 고객에게 권고합니다.

컨테이너 그룹의 작동이 중지되면 지원 요청을 열기 전에 컨테이너를 다시 시작하거나 애플리케이션 코드 또는 로컬 네트워크 구성을 확인하는 것이 좋습니다.

컨테이너 이미지는 15GB를 초과할 수 없습니다. 이 크기를 초과하는 이미지는 예기치 않은 동작을 유발할 수 있습니다. 컨테이너 이미지의 크기는 얼마나 되나요?

일부 Windows Server 기본 이미지는 더 이상 Azure Container Instances와 호환되지 않습니다.
지원되는 Windows 기반 OS 이미지는 무엇인가요?

컨테이너 그룹이 다시 시작되면 컨테이너 그룹의 IP가 변경될 수 있습니다. 시나리오에서 하드 코딩된 IP 주소를 사용하지 않는 것이 좋습니다. 고정 공용 IP 주소가 필요한 경우 Application Gateway: 컨테이너 그룹의 고정 IP 주소 - Azure Container Instances | Microsoft 학습

서비스 기능을 위해 예약된 포트가 있습니다. 예기치 않은 동작이 발생할 수 있으므로 이러한 포트를 사용하지 않는 것이 좋습니다. ACI 서비스가 서비스 기능을 위해 포트를 예약하나요?

컨테이너를 배포하거나 실행하는 데 문제가 있는 경우 먼저 문제 해결 가이드에서 일반적인 실수와 문제를 확인합니다.

플랫폼 유지 관리 이벤트로 인해 컨테이너 그룹이 다시 시작될 수 있습니다. 이 유지 관리 이벤트는 기본 인프라의 지속적인 개선을 보장하기 위해 수행됩니다. 컨테이너가 명시적인 사용자 입력 없이 격리된 다시 시작됨

ACI는 특권 컨테이너 작업을 허용하지 않습니다. 시나리오에 루트 디렉터리 사용에 의존하지 않는 것이 좋습니다.

다음 단계

빠른 시작 가이드를 사용하여 단일 명령으로 Azure에 컨테이너를 배포해 보세요.