다음을 통해 공유


Azure Container Instances에 대한 대기 풀(미리 보기)

Important

Azure Container Instances의 대기 풀은 현재 미리 보기로 제공됩니다. 추가 사용 약관에 동의하는 조건으로 미리 보기를 사용할 수 있습니다. 이 기능의 몇 가지 측면은 일반 공급(GA) 전에 변경될 수 있습니다.

Azure Container Instances에 대한 대기 풀을 사용하면 들어오는 트래픽에 대한 응답으로 사용할 수 있는 미리 프로비전된 컨테이너 그룹의 풀을 만들 수 있습니다. 풀의 컨테이너 그룹은 완전히 프로비전되고 초기화되며 작업을 받을 준비가 됩니다.

기존 경로와 대기 풀 경로를 사용하여 컨테이너를 만드는 워크플로의 다이어그램.

제한 사항

Azure Container Instances에 대한 대기 풀은 Azure Portal에서 사용할 수 없습니다.

필수 조건

기능 등록

Azure Cloud Shell을 사용하여 구독에 대기 풀 리소스 공급자와 대기 풀 미리 보기 기능을 등록합니다. 등록이 성공적으로 등록된 것으로 표시되는 데 최대 30분이 걸릴 수 있습니다. 아래 명령을 다시 실행하여 기능이 성공적으로 등록되었는지 확인할 수 있습니다.

Register-AzResourceProvider -ProviderNameSpace Microsoft.ContainerInstance
Register-AzResourceProvider -ProviderNamespace Microsoft.StandbyPool
Register-AzProviderFeature -FeatureName StandbyContainerGroupPoolPreview -ProviderNamespace Microsoft.StandbyPool

역할 기반 액세스 제어 권한

대기 풀이 구독에서 컨테이너 그룹을 만들 수 있도록 하려면 대기 풀 리소스 공급자에게 적절한 권한을 할당합니다.

  1. Azure Portal에서 구독으로 이동합니다.
  2. 사용 권한을 조정하려는 구독을 선택합니다.
  3. 액세스 제어(IAM)를 선택합니다.
  4. 역할 할당 추가추가를 선택합니다.
  5. 역할 탭에서 대기 컨테이너 그룹 풀 기여자를 검색하고 선택합니다.
  6. 구성원 탭으로 이동합니다.
  7. + 구성원 선택을 선택합니다.
  8. 대기 풀 리소스 공급자검색하고 선택합니다.
  9. 검토 + 할당 탭으로 이동합니다.
  10. 변경 내용을 적용합니다.
  11. 위 단계를 반복하여 Azure Container Instances 기여자 역할네트워크 기여자를 대기 풀 리소스 공급자추가합니다.

역할 할당에 대한 자세한 내용은 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.

대기 풀에서 컨테이너 사용

새 컨테이너 그룹이 필요한 경우 프로비전되고 실행되는 대기 풀에서 즉시 끌어올 수 있습니다.

대기 풀은 완전히 프로비전되고 작업을 받을 준비가 된 풀의 컨테이너 그룹만 제공합니다. 예를 들어 풀의 인스턴스가 아직 초기화되는 경우 실행 상태가 아니며 컨테이너가 요청될 때 제공되지 않습니다. 풀에 인스턴스를 사용할 수 없는 경우 Azure Container Instances는 기본적으로 순 새 컨테이너 그룹 만들기로 돌아갑니다.

대기 풀 크기

대기 풀의 컨테이너 그룹 수는 매개 변수를 설정하여 결정됩니다 maxReadyCapacity . 컨테이너 그룹이 풀에서 사용되면 대기 풀이 자동으로 리필되기 시작하여 대기 풀이 설정된 최대 준비 용량을 유지하도록 합니다.

Azure Container Instances의 대기 풀에 사용할 수 있는 유일한 리필 정책은 다음과 같습니다 Always.

설정 설명
최대 준비 용량 풀에 배포하려는 최대 컨테이너 그룹 수입니다.
refillPolicy 대기 풀에 maxReadyCapacity를 유지 관리하도록 컨테이너 그룹을 즉시 보충하도록 지시합니다.

컨테이너 그룹 프로필

컨테이너 그룹 프로필은 대기 풀에서 컨테이너를 구성하는 방법을 알려줍니다. 컨테이너 그룹 프로필을 변경하는 경우 업데이트가 풀의 인스턴스에 적용되도록 대기 풀을 업데이트해야 합니다.

{
    "location":"{location}",
    "properties":{
        "containers": [
        {
            "name":"[mycontainergroupprofile]",
            "properties": {
                "command":[],
                "environmentVariables":[],
                "image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
                "ports":[
                    {
                        "port":8000
                    }
                ],
                "resources": {
                    "requests": {
                        "cpu":1,
                        "memoryInGB":1.5
                                }
                            }
                        }
                    }
                ],
                "imageRegistryCredentials":[],
                "ipAddress":{
                "ports":[
                    {
                        "protocol":"TCP",
                        "port":8000
                    }
            ],
            "type":"Public"
            },
            "osType":"Linux",
            "sku":"Standard"
            }
        }


구성 맵

구성 맵은 컨테이너 그룹 프로필과 연결될 수 있으며 환경 변수 및 비밀 볼륨과 유사한 컨테이너 구성을 적용하는 데 사용할 수 있는 속성입니다. 그러나 환경 변수 또는 비밀 볼륨을 사용하는 경우 변경 내용을 적용하려면 Pod를 다시 시작해야 합니다. 구성 맵을 사용하면 컨테이너를 다시 시작하지 않고도 구성을 적용할 수 있습니다. 이렇게 하면 컨테이너가 다시 시작하지 않고 새 값을 읽을 수 있도록 대역 외 업데이트를 사용할 수 있습니다.

Azure Container Instances는 구성 맵을 사용하거나 사용하지 않고 만들 수 있으며 구성 맵을 사용하여 생성 후 언제든지 업데이트할 수 있습니다. 기존 실행 중인 컨테이너 그룹에서 구성 맵을 업데이트하면 컨테이너를 다시 부팅하지 않고도 신속하게 수행할 수 있습니다.

자세한 내용은 구성 맵 사용을 참조하세요.

{
    "properties": {
        "containers": [
            {
                "name": "{mycontainergroupprofile}",
                "properties": {
                    "image": "mcr.microsoft.com/azuredocs/aci-helloworld",
                    "ports": [
                        {
                            "port": 80,
                            "protocol": "TCP"
                        }
                    ],
                    "resources": {
                        "requests": {
                            "memoryInGB": 0.5,
                            "cpu": 0.5
                        }
                    },
                    "configMap": {
                        "keyValuePairs": {
                            "key1": "value1",
                            "key2": "value2"
                        }
                    }
                }
            }
        ],
        "osType": "Linux",
        "ipAddress": {
            "type": "Public",
            "ports": [
                {
                    "protocol": "tcp",
                    "port": 80
                }
            ]
        }
    },
    "location": "{location}"
}

기밀 컨테이너

Azure 컨테이너 인스턴스에 대한 대기 풀은 기밀 컨테이너를 지원합니다. 기밀 컨테이너를 활용하려면 컨테이너 그룹 프로필에서 형식을 Confidential 업데이트 sku 합니다.

Important

구성 맵을 사용하여 전달된 값은 보안 정책에 포함되지 않거나 컨테이너에 파일 탑재를 사용할 수 있게 되기 전에 런타임에서 유효성을 검사합니다. 데이터 또는 애플리케이션 보안에 영향을 미칠 수 있는 모든 값은 실행 중에 애플리케이션에서 신뢰할 수 없으며 대신 환경 변수를 사용하여 컨테이너에서 사용할 수 있도록 해야 합니다.

{
    "location":"{location}",
    "properties":{
        "containers": [
        {
            "name":"{mycontainergroupprofile}",
            "properties": {
                "command":[],
                "environmentVariables":[],
                "image":"mcr.microsoft.com/azuredocs/aci-helloworld:latest",
                "ports":[
                    {
                        "port":8000
                    }
                ],
                "resources": {
                    "requests": {
                        "cpu":1,
                        "memoryInGB":1.5
                                }
                            }
                        }
                    }
                ],
                "imageRegistryCredentials":[],
                "ipAddress":{
                "ports":[
                    {
                        "protocol":"TCP",
                        "port":8000
                    }
            ],
            "type":"Public"
            },
            "osType":"Linux",
            "sku":"Confidential"
            }
        }


관리 ID

Azure Container Instances에 대한 대기 풀은 관리 ID와의 통합을 지원합니다. 관리 ID 적용은 대기 풀에서 컨테이너를 요청하고 매개 변수 및 설정을 포함할 identity 때 수행됩니다. 관리 ID는 컨테이너 그룹 프로필에서 직접 지원되는 속성이 아닙니다.

{
   "location": "{location}",
   "properties": {
       "standByPoolProfile":{
               "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.StandbyPool/standbyContainerGroupPools/{standbyPoolName}"
           },
           "containerGroupProfile": {
               "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ContainerInstance/containerGroupProfiles/{mycontainergroupprofile}",
               "revision": {revisionNumber}
           },
          },
          "identity": {
            "type": "UserAssigned",
            "userAssignedIdentities": {
              "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identity}": {}
            },
           "containers": [
               {
                   "name": "{mycontainergroupprofile}",
                   "properties": {
                       "configMap": {
                           "keyValuePairs": {
                               "{newKey}": "{newValue}"
                           }
                       }
                   }
               }
           ]
   }
}

가용성 영역

Azure Container Instances에 대한 대기 풀은 가용성 영역에서 컨테이너를 만들고 요청할 수 있습니다. 영역 대기 풀 만들기는 현재 버전 2024-08-01-preview를 사용하는 대기 풀 REST API 를 사용하여만 사용할 수 있으며 인도 중부 지역에서만 사용할 수 있습니다.

영역 대기 풀 만들기

PUT https://management.azure.com/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.StandbyPool/standbyContainerGroupPools/myStandbyPool?api-version=2024-08-01-preview
 
Request Body
{
    "properties": {
        "elasticityProfile": {
            "maxReadyCapacity": 20,
            "refillPolicy": "always"
        },
        "containerGroupProperties": {
            "containerGroupProfile": {
                "id": "/subscriptions/{SubscriptionID}/resourceGroups/myResourceGroup/providers/Microsoft.ContainerInstance/containerGroupProfiles/mycontainergroupprofile",
                "revision": 1
          },
          "subnetIds": [
            {
              "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNET/subnets/mySubnet"
            }
          ]
        },
        "zones": [
          "1",
          "2",
          "3"
        ]
      },

    "location": "West Central US"
}

다음 단계

Azure Container Instances에 대한 대기 풀을 만듭니다.