서비스 커넥터의 알려진 제한 사항
이 문서에서는 Service Connector의 기존 제한 사항 및 이를 완화하는 방법에 대해 알아봅니다.
IaC(코드 제공 인프라)에 대한 제한 사항
서비스 커넥터는 가능한 한 많은 Azure 서비스에 쉽고 안전하며 일관된 지원 서비스 연결의 이점을 제공하도록 설계되었습니다. 이를 위해 Service Connector는 확장 리소스 공급자로 개발됩니다.
서비스 커넥터가 사용자를 대신하여 인프라를 수정하므로 IaC 지원에는 몇 가지 제한 사항이 있습니다. 이 시나리오에서는 사용자가 ARM(Azure Resource Manager), Bicep, Terraform 또는 기타 IaC 템플릿을 사용하여 리소스를 만드는 것으로 시작합니다. 그 후 서비스 커넥터를 사용하여 리소스 연결을 설정합니다. 이 단계에서 서비스 커넥터는 사용자를 대신하여 리소스 구성을 수정합니다. 사용자가 나중에 IaC 템플릿을 다시 실행하면 Service Connector에서 수정한 내용이 원래 IaC 템플릿에 반영되지 않아 사라집니다. 이 동작의 예로 ARM 템플릿을 사용하여 배포된 Azure Container Apps 리소스는 일반적으로 기본적으로 관리 ID 인증을 사용하지 않도록 설정됩니다. Service Connector는 사용자를 대신하여 연결을 설정할 때 관리 ID를 사용하도록 설정합니다. 사용자가 관리 ID 설정을 업데이트하지 않고 동일한 ARM 템플릿을 트리거하는 경우 다시 배포된 Azure Container Apps 리소스에서 관리 ID가 다시 사용하지 않도록 설정됩니다.
서비스 커넥터를 사용할 때 문제가 발생하면 당사에 문제를 제출해 주세요.
해결 방법
다음과 같은 솔루션을 제안합니다.
- 인프라를 빌드하거나 기존 인프라를 IaC 템플릿으로 변환하려면 IaC 도구를 사용하여 연결을 빌드하는 방법을 참조하세요.
- CI/CD 파이프라인에 원본 컴퓨팅 또는 지원 서비스의 템플릿이 포함된 경우 템플릿을 다시 적용하고, 정신 검사 또는 스모크 테스트를 추가하여 애플리케이션이 실행 중인지 확인한 다음, 애플리케이션에 라이브 트래픽을 허용하는 것이 좋습니다. 흐름은 라이브 트래픽을 허용하기 전에 확인 단계를 추가합니다.
- 서비스 커넥터를 사용하여 Azure Container App 코드 배포를 자동화하는 경우 서비스 커넥터가 연결을 다시 적용하기 전에 일시적으로 작동하지 않는 앱으로 트래픽을 라우팅하지 않도록 다중 수정 모드를 사용하는 것이 좋습니다.
- 자동화 작업이 수행되는 순서가 중요합니다. 연결 자체가 만들어지기 전에 연결 엔드포인트가 있는지 확인합니다. 이상적으로는 백업 서비스를 만든 다음, 컴퓨팅 서비스 및 둘 사이의 연결을 만듭니다. 이러한 방식으로 서비스 커넥터는 컴퓨팅 서비스와 지원 서비스를 적절하게 구성할 수 있습니다.