Container Instances 서비스는 Kubernetes와 같은 컨테이너 통합관리 플랫폼이 필요하지 않은 격리된 컨테이너를 운영할 때 유용합니다. API, 웹 앱, CI/CD 작업, 자동화 작업, 데이터/미디어 처리, 개발/테스트 환경 등의 사용 사례에 적합합니다. 그러나 컨테이너 통합관리 플랫폼을 대체하지는 않습니다. 컨테이너 통합관리 사용(OKE)이 필요한 사용 사례를 위한 것입니다.
Container Instances에서 컨테이너를 실행할 때는 VM 또는 서버를 직접 프로비저닝하거나 관리할 필요가 없습니다. 컨테이너 이미지를 지정하고 구성을 시작하여 Container Instances에서 컨테이너를 실행하기만 하면 됩니다. OCI가 컨테이너 실행에 필요한 기본 컴퓨트를 관리합니다. 가상 머신에서 컨테이너를 실행하는 경우 서버를 관리하고 가상 머신에서 컨테이너 런타임을 설치 및 유지 관리해야 합니다.
OCI Container Instances의 사용자들은 컨테이너 인스턴스에서 사용되는 인프라 리소스에 대해서만 비용을 지불하면 됩니다. 컨테이너 인스턴스에 할당되는 CPU 및 메모리 리소스의 가격은 선택한 구성의 OCI 컴퓨트 인스턴스 가격과 동일합니다. 컨테이너 인스턴스 사용에 대해서는 추가 비용이 없습니다. 부분적으로 소비된 OCPU 및 GB(메모리) 시간은 최소 1분 단위로 부분 시간으로 청구되며 사용량은 초 단위로 집계됩니다. 각 컨테이너 인스턴스는 추가 비용 없이 기본적으로 15GB의 임시 스토리지를 제공합니다. 자세한 내용은 Container Instances 가격 정책 페이지를 참고하세요.
Container Instance를 생성할 때, 기본 컴퓨트 구성을 선택할 수 있고, 선택한 구성이 제공하는 최대 CPU 및 메모리 리소스까지 할당할 수 있습니다. 예를 들어, E4 또는 E3 가변 구성을 선택한 경우 컨테이너 인스턴스에 최대 64개 코어(128개 vCPU) 및 1024GB 메모리를 할당할 수 있습니다.
네. Container Instance를 생성할 때 하나 이상의 컨테이너를 지정할 수 있습니다. 각 컨테이너에 대해 컨테이너 이미지 및 환경 변수(선택적으로), 리소스 제한, 시작 옵션 등을 지정할 수 있습니다.
보통 하나의 Container Instance당 하나의 애플리케이션을 실행해야 합니다. 그러나 애플리케이션 컨테이너는 개발 목적으로사이드카 또는 데이터베이스 컨테이너 로깅과 같은 지원 컨테이너가 필요할 수 있습니다. 하나의 Container Instance에서 동일한 애플리케이션의 여러 컨테이너를 실행하도록 선택할 수도 있습니다. 동일한 Container Instance에서 실행되는 컨테이너는 CPU/메모리 리소스, 로컬 네트워크 및 임시 스토리지를 공유합니다. 컨테이너 레벨에서 CPU/메모리 리소스 제한을 적용하여 각 컨테이너에서 소비하는 리소스의 양을 제한하도록 선택할 수 있습니다.
OCI Container Registry를 포함하여 Open Container Initiative와 호환되는 모든 컨테이너 레지스트리가 지원됩니다.
각 컨테이너 인스턴스는 기본적으로 15GB의 임시 스토리지를 얻게 됩니다. OCI Block Storage 및 OCI File Storage(FSS)를 통해 영구 볼륨을 추가하는 옵션이 곧 출시될 예정입니다. Container Instances는 외부 데이터베이스를 사용해 컨테이너 인스턴스보다 수명 주기가 긴 데이터를 저장할 수도 있습니다.
Container Instances는 해당 인스턴스 내부의 모든 컨테이너가 정지하는 순간 비활성화되며, 자동 재실행 정책은 지원되지 않습니다. 즉 CI/CD 파이프라인, 클라우드 실행을 위한 자동화 작업, 데이터/미디어 처리 등 수명이 짧은 워크로드에 사용되는 Container Instances는 워크로드가 실행되는 순간 정지합니다. 비용은 해당 작업이 진행된 기간 동안에 대해서만 청구됩니다.
웹 애플리케이션과 같이 가동 상태를 유지해야 하는 Container Instances의 경우, 컨테이너 인스턴스 내 장애 발생에 대비해 컨테이너를 재시작할 수 있는 재시작 정책을 구성할 수 있습니다. 이를 통해 애플리케이션이 언제나 활성화 상태를 유지하도록 보장할 수 있습니다.