Azure Container Apps의 서비스에 연결(미리 보기)
Azure Container Apps에서 애플리케이션을 개발할 때 다른 서비스에 연결해야 하는 경우가 많습니다. 서비스를 미리 만들고 컨테이너 앱에 수동으로 연결하는 대신 추가 기능이라고 하는 비프로덕션 환경용으로 설계된 개발 등급 서비스의 인스턴스를 신속하게 만들 수 있습니다.
추가 기능을 사용하면 수동 다운로드, 만들기 및 구성의 부담 없이 OSS 서비스를 사용할 수 있습니다.
앱에서 프로덕션 수준 서비스를 사용할 준비가 되면 애플리케이션을 Azure 관리형 서비스에 연결할 수 있습니다.
추가 기능으로 사용할 수 있는 서비스는 다음과 같습니다.
타이틀 | Service name |
---|---|
Kafka | kafka |
MariaDB | mariadb |
Milvus | milvus |
PostgreSQL(오픈 소스) | postgres |
Qdrant | qdrant |
Redis(오픈 소스) | redis |
Weaviate | weaviate |
다음 명령을 실행하여 추가 기능 서비스의 최신 목록을 가져올 수 있습니다.
az containerapp add-on --help
사용 지침은 서비스를 관리하는 방법에 대한 섹션을 참조하세요.
기능
추가 기능에는 다음과 같은 기능이 제공됩니다.
- 범위: 추가 기능은 연결된 컨테이너 앱과 동일한 환경에서 실행됩니다.
- 크기 조정: 서비스에 대한 수요가 없는 경우 추가 기능을 0으로 스케일 인할 수 있습니다.
- 가격 책정: 추가 기능 청구는 사용량 기반 가격 책정에 속합니다. 청구는 추가 기능 인스턴스가 실행 중인 경우에만 발생합니다.
- 스토리지: 추가 기능은 영구 스토리지를 사용하여 추가 기능이 0으로 스케일 인될 때 데이터 손실이 없도록 합니다.
- 수정 버전: 추가 기능을 변경할 때마다 컨테이너 앱의 새 수정 버전이 만들어집니다.
관리되는 서비스에 대한 서비스별 기능을 참조하세요.
바인딩
추가 기능과 관리되는 서비스는 모두 바인딩을 통해 컨테이너에 연결됩니다.
Container Apps 런타임은 다음을 통해 컨테이너 앱을 서비스에 바인딩합니다.
- 서비스 검색
- 네트워킹 및 연결 구성 값 추출
- 컨테이너 앱 환경 변수에 구성 및 연결 정보 삽입
바인딩이 설정되면 컨테이너 앱은 환경 변수에서 이러한 구성 및 연결 값을 읽을 수 있습니다.
개발 및 프로덕션 비교
개발에서 프로덕션으로 이동하면 추가 기능에서 관리되는 서비스로 이동할 수 있습니다.
다음 표에서는 개발에 사용할 서비스와 프로덕션에서 사용할 서비스를 보여줍니다.
기능 | 추가 기능 | 프로덕션 관리 서비스 |
---|---|---|
캐시 | 오픈 소스 Redis | Azure Cache for Redis |
데이터베이스 | 해당 없음 | Azure Cosmos DB |
데이터베이스 | 오픈 소스 PostgreSQL | Azure Database for PostgreSQL 유연한 서버 |
개발 환경과 프로덕션 환경 간의 데이터 연속성을 담당합니다.
서비스 관리
서비스를 애플리케이션에 연결하려면 먼저 서비스를 만들어야 합니다.
서비스 유형 및 이름과 함께 az containerapp add-on <SERVICE_TYPE> create
명령을 사용하여 새 서비스를 만듭니다.
az containerapp add-on redis create \
--name myredis \
--environment myenv
이 명령은 myenv
라는 Container Apps 환경에서 myredis
라는 새 Redis 서비스를 만듭니다.
애플리케이션에 서비스를 바인딩하려면 containerapp create
에 --bind
인수를 사용합니다.
az containerapp create \
--name myapp \
--image myimage \
--bind myredis \
--environment myenv
이 명령은 --bind
인수가 있는 일반적인 Container App create
를 제공합니다. 바인딩 인수는 Container Apps 런타임에 서비스를 애플리케이션에 연결하도록 지시합니다.
--bind
인수는 create
또는 update
명령에 사용할 수 있습니다.
애플리케이션에서 서비스 연결을 끊으려면 update
명령에서 --unbind
인수를 사용합니다.
다음 예제에서는 서비스의 바인딩을 해제하는 방법을 보여줍니다.
az containerapp update --name myapp --unbind myredis
서비스에 연결하는 방법에 대한 전체 자습서는 Azure Container Apps에서 Connect 서비스를 참조하세요.
서비스 명령 및 인수에 대한 자세한 내용은 az containerapp
참조를 참조하세요.
제한 사항
- 추가 기능은 공개 미리 보기로 제공됩니다.
- 2023년 5월 23일 이전에 만든 컨테이너 앱은 추가 기능을 사용할 수 없습니다.
- 추가 기능은 최소한의 보장으로 제공됩니다. 예를 들어 충돌하는 경우 자동으로 다시 시작되지만 이와 관련된 공식적인 서비스 품질이나 고가용성 보장은 없습니다. 프로덕션 워크로드의 경우 Azure 관리형 서비스를 사용합니다.
- 자체 VNET을 사용하는 경우 워크로드 프로필 환경을 사용해야 합니다. 사용자 지정 VNET을 사용하는 사용량 전용 환경에서는 추가 기능이 지원되지 않습니다.