컨테이너 앱은 다양한 유형의 스토리지에 액세스할 수 있습니다. 단일 앱은 필요한 경우 둘 이상의 스토리지 유형을 활용할 수 있습니다.
참고
배포 실패를 방지하려면 볼륨 이름에 특수 문자를 사용하지 마세요. 예를 들어, credentials.json이라는 볼륨에 배포 오류를 발생시키는 특수 문자(.)가 포함되어 있습니다.
| 스토리지 유형 | 설명 | 지속성 | 사용 예제 |
|---|---|---|---|
| 컨테이너 범위 스토리지 | 실행 중인 컨테이너에 사용할 수 있는 임시 스토리지 | 컨테이너가 종료될 때까지 데이터를 사용할 수 있습니다. | 로컬 앱 캐시를 작성합니다. |
| 복제본 범위 스토리지 | 동일한 복제본의 컨테이너 간에 파일을 공유하기 위한 임시 스토리지 | 복제본이 종료될 때까지 데이터를 사용할 수 있습니다. | 사이드카 컨테이너가 처리하는 기본 앱 컨테이너 쓰기 로그 파일입니다. |
| Azure Files | 영구 스토리지 | 데이터는 Azure Files 유지됩니다. | 다른 시스템에서 데이터에 액세스할 수 있도록 파일을 파일 공유에 작성합니다. |
참고
Azure Container Apps는 Azure NetApp Files 또는 Azure Blob Storage의 파일 공유를 탑재할 수 없습니다.
임시 스토리지
컨테이너 앱은 임시 데이터를 읽고 임시 스토리지에 쓸 수 있습니다. 임시 스토리지의 범위는 컨테이너 또는 복제본으로 지정될 수 있습니다. 각 복제본에 사용할 수 있는 컨테이너 범위 및 복제본 범위 스토리지의 총 양은 복제본에 할당된 총 vCPU 수에 따라 달라집니다.
| vCPU | 총 임시 스토리지 |
|---|---|
| 0.25 이하 | 1GiB |
| 0.5 이하 | 2GiB |
| 1 이하 | 4GiB |
| 1 초과 | 8GiB |
컨테이너 범위 스토리지
컨테이너는 자체 파일 시스템에 쓸 수 있습니다.
컨테이너 파일 시스템 스토리지의 특징은 다음과 같습니다.
- 스토리지는 일시적이고 컨테이너가 종료되거나 다시 시작될 때 사라집니다.
- 현재 컨테이너에서 실행되는 프로세스만 이 스토리지에 기록된 파일을 볼 수 있습니다.
복제본 범위 스토리지
Kubernetes에서 EmptyDir (빈 디렉터리)와 동일한 임시 임시 볼륨을 탑재할 수 있습니다. 이 스토리지의 범위는 단일 복제본으로 지정됩니다.
EmptyDir 볼륨을 사용하여 동일한 복제본의 컨테이너 간에 데이터를 공유합니다.
복제본 범위 스토리지의 특징은 다음과 같습니다.
- 파일은 복제본의 수명 동안 유지됩니다.
- 복제본의 컨테이너가 다시 시작되면 볼륨의 파일이 그대로 유지됩니다.
- 복제본의 모든 init 또는 앱 컨테이너에서 동일한 볼륨을 탑재할 수 있습니다.
- 컨테이너에서 여러
EmptyDir볼륨을 탑재할 수 있습니다.
복제본 범위 스토리지를 구성하려면 먼저 수정 버전에서 EmptyDir 볼륨을 정의합니다. 그런 다음, 수정 버전에 있는 하나 이상의 컨테이너에서 볼륨 탑재를 정의합니다.
필수 구성 요소
| 요구 사항 | Instructions |
|---|---|
| Azure 계정 | 계정이 없으면 무료로 계정을 만듭니다. |
| Azure Container Apps 환경 | 컨테이너 앱 환경을 만듭니다. |
구성
Azure CLI 사용하여 복제본 범위 스토리지를 구성하는 경우 YAML 정의를 사용하여 컨테이너 앱을 만들거나 업데이트해야 합니다.
복제본 범위 스토리지를 사용하도록 기존 컨테이너 앱을 업데이트하려면 앱의 사양을 app.yaml이라는 YAML 파일로 내보냅니다.
az containerapp show -n <APP_NAME> -g <RESOURCE_GROUP_NAME> -o yaml > app.yaml컨테이너 앱 사양을 다음과 같이 변경합니다.
-
volumes배열을 컨테이너 앱 정의의template섹션에 추가하고 볼륨을 정의합니다.volumes배열이 이미 있는 경우 배열에 새 볼륨을 추가합니다.-
name은 볼륨에 대한 식별자입니다. -
EmptyDir을storageType으로 사용합니다.
-
- 볼륨을 탑재하려는 템플릿의 각 컨테이너에 대해 컨테이너 정의의
volumeMounts배열에 볼륨 탑재를 정의합니다.-
volumeName은volumes배열에 정의된 이름입니다. -
mountPath는 볼륨을 탑재할 컨테이너의 경로입니다.
-
properties: managedEnvironmentId: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.App/managedEnvironments/<ENVIRONMENT_NAME> configuration: activeRevisionsMode: Single template: containers: - image: <IMAGE_NAME1> name: my-container-1 volumeMounts: - mountPath: /myempty volumeName: myempty - image: <IMAGE_NAME_2> name: my-container-2 volumeMounts: - mountPath: /myempty volumeName: myempty volumes: - name: myempty storageType: EmptyDir-
YAML 파일을 사용하여 컨테이너 앱을 업데이트합니다.
az containerapp update --name <APP_NAME> --resource-group <RESOURCE_GROUP_NAME> \ --yaml app.yaml
전체 예제는 YAML 사양을 참조하세요.
복제본 범위 볼륨을 만들고 컨테이너에 탑재하려면 ARM 템플릿에서 컨테이너 앱 리소스를 다음과 같이 변경합니다.
-
volumes배열을 컨테이너 앱 정의의template섹션에 추가하고 볼륨을 정의합니다.volumes배열이 이미 있는 경우 배열에 새 볼륨을 추가합니다.-
name은 볼륨에 대한 식별자입니다. -
EmptyDir을storageType으로 사용합니다.
-
- 볼륨을 탑재하려는 템플릿의 각 컨테이너에 대해 컨테이너 정의의
volumeMounts배열에 볼륨 탑재를 정의합니다.-
volumeName은volumes배열에 정의된 이름입니다. -
mountPath는 볼륨을 탑재할 컨테이너의 경로입니다.
-
ARM 템플릿 코드 조각 예제:
{
"apiVersion": "2022-03-01",
"type": "Microsoft.App/containerApps",
"name": "[parameters('containerappName')]",
"location": "[parameters('location')]",
"properties": {
...
"template": {
"revisionSuffix": "myrevision",
"containers": [
{
"name": "main",
"image": "[parameters('container_image')]",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"volumeMounts": [
{
"mountPath": "/myempty",
"volumeName": "myempty"
}
]
},
{
"name": "sidecar",
"image": "[parameters('sidecar_image')]",
"resources": {
"cpu": 0.5,
"memory": "1Gi"
},
"volumeMounts": [
{
"mountPath": "/myempty",
"volumeName": "myempty"
}
]
}
],
"scale": {
"minReplicas": 1,
"maxReplicas": 3
},
"volumes": [
{
"name": "myempty",
"storageType": "EmptyDir"
}
]
}
}
}
전체 예제는 ARM 템플릿 API 사양을 참조하세요.
복제본 범위 볼륨을 만들고 컨테이너에 탑재하려면 Azure 포털을 사용하여 컨테이너 앱의 새 수정 버전을 배포합니다.
Azure 포털에서 컨테이너 앱으로 이동합니다.
왼쪽 메뉴에서 수정 버전 관리를 선택합니다.
새 수정 버전 만들기를 선택합니다.
볼륨을 탑재할 컨테이너를 선택합니다.
컨테이너 편집 컨텍스트 창에서 볼륨 탑재 탭을 선택합니다.
임시 스토리지 섹션에서 다음 정보를 사용하여 새 볼륨을 만듭니다.
- 볼륨 이름: 임시 볼륨의 이름입니다.
- 탑재 경로: 볼륨을 탑재할 컨테이너의 절대 경로입니다.
저장을 선택하여 변경 내용을 저장하고 컨텍스트 창을 종료합니다.
만들기를 선택하여 새 수정 버전을 만듭니다.
Azure Files 디스크 볼륨
Azure Files의 파일 공유를 컨테이너의 볼륨으로 탑재할 수 있습니다.
중요합니다
Azure Container Apps는 스토리지 계정(리소스 유형) 내에서 생성되는 Microsoft.Storage/storageAccounts/fileServices/shares Azure 파일 공유만 지원합니다. 컨테이너 앱은 최신 Microsoft.FileShares 의 최상위 리소스 유형을 지원하지 않습니다. 리소스를 Microsoft.FileShares 마운트하려고 하면 작업이 실패합니다. 지원되는 파일 공유를 생성하려면 '클래식 Azure 파일 공유 만들기'를 참조하세요.
Azure Files 스토리지의 특징은 다음과 같습니다.
- 탑재 위치 아래에 작성된 파일이 파일 공유에 유지됩니다.
- 공유의 파일은 탑재 위치를 통해 사용할 수 있습니다.
- 여러 컨테이너에서 다른 복제본, 수정 버전 또는 컨테이너 앱에 있는 파일 공유를 포함하여 동일한 파일 공유를 탑재할 수 있습니다.
- 공유를 탑재하는 모든 컨테이너에서 다른 컨테이너 또는 메서드에서 작성한 파일에 액세스할 수 있습니다.
- 단일 컨테이너에 둘 이상의 Azure Files 볼륨을 탑재할 수 있습니다.
Azure Files SMB(서버 메시지 블록) 및 NFS(네트워크 파일 시스템) 프로토콜을 모두 지원합니다. 두 프로토콜 중 하나를 사용하여 Azure Files 공유를 탑재할 수 있습니다. 환경에서 정의하는 파일 공유는 스토리지 계정의 파일 공유에 사용되는 것과 동일한 프로토콜로 구성되어야 합니다.
새로운 SMB 파일 마운트의 경우, 스토리지 계정 키 대신 관리 ID 인증(미리 보기)을 사용하세요. 컨테이너 앱은 개별 컨테이너 앱이 아닌 컨테이너 앱 환경에 할당된 시스템 또는 사용자 지정 관리 신원을 사용하여 Azure Files에 인증합니다. 이 모드는 스토리지 계정 키를 검색, 저장 또는 회전할 필요가 없게 합니다. 스토리지 정의에서 관리 신원 인증을 명시적으로 선택해야 하며; 기존 스토리지 계정 키 마운트는 계속 지원됩니다.
관리 ID 인증은 SMB 공유에만 적용됩니다. NFS 공유는 네트워크 기반 접근 제어를 사용하며 SMB 인증 설정을 사용하지 않습니다.
컨테이너에서 Azure Files 저장소를 활성화하려면 환경과 컨테이너 앱을 다음과 같이 설정하세요:
- Container Apps 환경에서 스토리지 정의를 만듭니다.
- NFS를 사용하는 경우 사용자 지정 VNet을 사용하여 환경을 구성해야 하며 VNet의 액세스를 허용하도록 스토리지 계정을 구성해야 합니다. 자세한 내용은 Azure Files의 NFS 파일 공유를 참조하세요.
- NFS를 사용 중이라면, 저장 계정이 암호화된 NFS 연결을 필요로 하지 않아야 합니다. 컨테이너 앱은 NFS 파일 공유에 대해 전송 시 암호화를 지원하지 않습니다. 스토리지 계정의 '전송 시 암호화 필요 ' 설정이 활성화되어 있거나, 해당 설정이 설정되어 있지 않고 '보안 전송 필요 '가 활성화되어 있으면, 마운트가 실패하며 .과 같은
mount.nfs: access denied by server while mounting오류가 발생합니다. 자세한 내용은 NFS Azure 파일 공유에 대한 전송 중 암호화 참조하세요. - 환경이 사용자 지정 VNet으로 구성된 경우 서브넷과 연결된 NSG(네트워크 보안 그룹)에서 포트 445 및 2049를 허용해야 합니다.
- 수정 버전에서
AzureFile(SMB) 또는NfsAzureFile(NFS) 형식의 볼륨을 정의합니다. - 수정 버전에 있는 하나 이상의 컨테이너에서 볼륨 탑재를 정의합니다.
- 사용되는 Azure Files 스토리지 계정은 컨테이너 앱의 가상 네트워크에서 액세스할 수 있어야 합니다. 자세한 내용은 가상 네트워크에서 액세스 권한 얻기를 참조하세요.
필수 구성 요소
| 요구 사항 | Instructions |
|---|---|
| Azure 계정 | 계정이 없으면 무료로 계정을 만듭니다. |
| Azure Storage 계정 | 클래식 Azure 파일 공유로 스토리지 계정을 만드세요. |
| Azure Container Apps 환경 | 컨테이너 앱 환경을 만듭니다. |
| SMB 인증을 위한 관리 ID | 환경의 시스템 할당 관리 ID를 활성화하거나 사용자 할당 관리 ID를 환경에 할당하세요. 환경 ID 관리를 참조하세요. |
| SMB 관리 신원 인증용 스토리지 계정 설정 |
스토리지 계정에서 SMB용 관리 ID(SMBOAuth)를 활성화합니다.
SMB 보안 설정도 Kerberos 인증을 허용해야 합니다. |
| Azure RBAC for SMB managed identity authentication | 선택한 환경 정체성에 스토리지 파일 데이터 SMB MI 관리자 역할을 스토리지 계정 범위에서 할당합니다.
관리되는 ID에 기본 제공 RBAC 역할 할당을(를) 참조하세요. 역할을 할당하려면 그 범위에서 Microsoft.Authorization/roleAssignments/write 권한이 필요합니다. 역할 할당이 전파될 시간을 충분히 두고, 그 후에 공유를 마운트하세요. |
구성
Azure CLI 사용하여 Azure Files 볼륨을 탑재하도록 컨테이너 앱을 구성하는 경우 YAML 정의를 사용하여 컨테이너 앱을 만들거나 업데이트해야 합니다.
최신 Azure CLI를 설치하고 Container Apps 확장 프로그램을 업데이트하세요:
az extension add --name containerapp --upgrade
SMB 파일 공유를 탑재하는 단계별 자습서는
스토리지 정의를 Container Apps 환경에 추가합니다.
관리형 신원 인증 (권장)
환경의 시스템 할당 관리형 ID를 사용하려면 먼저 다음을 활성화하세요:
az containerapp env identity assign --name my-env --resource-group my-group \ --system-assigned스토리지 계정에서 해당 ID에 Storage File Data SMB MI 관리자 역할을 부여하고, 사전 요구 사항에 명시된 대로 SMB용 관리 ID를 활성화하세요. 그 다음 저장 정의를 만듭니다:
az containerapp env storage set --name my-env --resource-group my-group \ --storage-name mystorage \ --storage-type AzureFile \ --azure-file-account-name <STORAGE_ACCOUNT_NAME> \ --azure-file-identity system \ --azure-file-share-name <STORAGE_SHARE_NAME> \ --access-mode ReadWrite<STORAGE_ACCOUNT_NAME>및<STORAGE_SHARE_NAME>를 스토리지 계정과 파일 공유 이름으로 바꾸세요.system값은 해당 환경에 시스템 할당 관리 ID를 선택합니다.대신 사용자 할당 관리 ID를 사용하려면 환경에 할당하세요.
az containerapp env identity assign --name my-env --resource-group my-group \ --user-assigned <MANAGED_IDENTITY_RESOURCE_ID>해당 ID에 스토리지 계정 내 동일한 역할을 부여하십시오. 스토리지 명령어에서 클라이언트 ID나 프린시펄 ID가 아닌 신원의 전체 Azure 리소스 ID를 사용하여
--azure-file-identity system를--azure-file-identity <MANAGED_IDENTITY_RESOURCE_ID>로 대체하세요.--azure-file-identity를--azure-file-account-key또는--azure-file-key-vault-secret-url와 결합하지 마세요. 이 인증 모드들은 상호 배타적입니다.스토리지 계정 키 인증 (대안)
관리 ID 인증을 사용할 수 없다면, 대신 스토리지 계정 키를 사용할 수 있습니다:
az containerapp env storage set --name my-env --resource-group my-group \ --storage-name mystorage \ --storage-type AzureFile \ --azure-file-account-name <STORAGE_ACCOUNT_NAME> \ --azure-file-account-key <STORAGE_ACCOUNT_KEY> \ --azure-file-share-name <STORAGE_SHARE_NAME> \ --access-mode ReadWrite<STORAGE_ACCOUNT_NAME>및<STORAGE_ACCOUNT_KEY>를 스토리지 계정의 이름 및 키로 바꿉니다.<STORAGE_SHARE_NAME>을 스토리지 계정의 파일 공유 이름으로 바꿉니다.유효한
--access-mode값은ReadWrite및ReadOnly입니다.파일 공유를 탑재하도록 기존 컨테이너 앱을 업데이트하려면 앱의 사양을 app.yaml이라는 YAML 파일로 내보냅니다.
az containerapp show -n <APP_NAME> -g <RESOURCE_GROUP_NAME> -o yaml > app.yaml컨테이너 앱 사양을 다음과 같이 변경합니다.
-
volumes배열을 컨테이너 앱 정의의template섹션에 추가하고 볼륨을 정의합니다.volumes배열이 이미 있는 경우 배열에 새 볼륨을 추가합니다.-
name은 볼륨에 대한 식별자입니다. -
storageType의 경우 SMB의 경우AzureFile을 사용하고 NFS의 경우NfsAzureFile을 사용합니다. 이 값은 환경에 정의한 스토리지 유형과 일치해야 합니다. -
storageName의 경우 환경에서 정의한 스토리지의 이름을 사용합니다. - 마운트 옵션들은 쉼표로 구분된 문자열
mountOptions입니다. 자세한 내용은Azure Files 참조하세요. - 이
secrets목록은 볼륨에 탑재할 비밀 정보 목록입니다. 자세한 내용은 볼륨에 비밀을 마운트하는 방법을 참조하세요.
-
- Azure Files 스토리지를 탑재하려는 템플릿의 각 컨테이너에 대해 컨테이너 정의의
volumeMounts배열에 볼륨 탑재를 정의합니다.-
volumeName은volumes배열에 정의된 이름입니다. -
mountPath는 볼륨을 탑재할 컨테이너의 경로입니다. -
subPath는 볼륨에 탑재할 경로입니다. 이 값을 지정하지 않으면 볼륨 루트가 마운트됩니다. 자세한 내용은 하위 경로를 참조하세요.
-
properties: managedEnvironmentId: /subscriptions/<SUBSCRIPTION_ID>/resourceGroups/<RESOURCE_GROUP_NAME>/providers/Microsoft.App/managedEnvironments/<ENVIRONMENT_NAME> configuration: template: containers: - image: <IMAGE_NAME> name: my-container volumeMounts: - volumeName: azure-files-volume mountPath: /my-files subPath: my-sub-path volumes: - name: azure-files-volume storageType: AzureFile storageName: mystorage-
YAML 파일을 사용하여 컨테이너 앱을 업데이트합니다.
az containerapp update --name <APP_NAME> --resource-group <RESOURCE_GROUP_NAME> \ --yaml app.yaml
전체 예제는 YAML 사양을 참조하세요.
다음 ARM 템플릿 코드 조각에서는 컨테이너 앱 환경에 Azure Files 공유를 추가하고 컨테이너 앱에서 사용하는 방법을 보여 줍니다. SMB 관리형 ID 인증의 경우, 환경에서 ID를 활성화하거나 할당하고, 스토리지 정의를 배포하기 전에 스토리지 계정 전제 조건을 완료하세요.
storages자식 리소스를 Container Apps 환경에 추가합니다.관리형 신원 인증 (권장)
먼저
Microsoft.App/containerApps리소스가 아닌Microsoft.App/managedEnvironments리소스에 관리 ID를 활성화하세요. 환경의 시스템 할당 ID를 활성화하려면 다음 최상위identity속성을 환경 리소스에 추가하세요.{ "identity": { "type": "SystemAssigned" } }이 조각을 기존 환경 자원에 병합하고, 다른 구성은 유지하세요. 관리형 아이덴티티를 지원하는 환경 API 버전을 사용하세요.
2026-03-02-preview리소스 스키마에 대해서는 Microsoft.App/managedEnvironments를 참조하세요.스토리지 계정에서 SMB용 관리 ID(
SMBOAuth)를 활성화하고, 사전 요구 사항에 설명된 대로 환경 ID에 스토리지 계정 범위에서 Storage File Data SMB MI 관리자 역할을 할당합니다.그 다음 스토리지 리소스에
2026-03-02-previewAPI 버전을 사용하세요. 환경의 시스템 할당 ID를 선택하려면properties.azureFile.identity를system로 설정하세요:{ "type": "Microsoft.App/managedEnvironments/storages", "apiVersion": "2026-03-02-preview", "name": "[concat(parameters('environment_name'), '/myazurefiles')]", "properties": { "azureFile": { "accountName": "[parameters('storage_account_name')]", "identity": "system", "shareName": "[parameters('storage_share_name')]", "accessMode": "ReadWrite" } } }대신 사용자 할당 관리 ID를 사용하려면 환경의 최상위
identity속성에 추가하세요.{ "identity": { "type": "UserAssigned", "userAssignedIdentities": { "[parameters('managed_identity_resource_id')]": {} } } }managed_identity_resource_id매개변수를 해당 ID의 전체 Azure 리소스 ID를 포함하는string형식으로 정의하세요. 스토리지 리소스에서properties.azureFile.identity대신system을(를)[parameters('managed_identity_resource_id')](으)로 설정하세요. 해당 ID에 스토리지 계정 내 동일한 역할을 부여하십시오.이미 환경에 할당된 모든 ID를 보존하세요. 두 ID 유형을 모두 활성화하면 환경의
identity.type에SystemAssigned,UserAssigned를 사용하고 해당userAssignedIdentities항목은 유지하세요.관리 ID 인증 사용 시
accountKey또는accountKeyVaultProperties를 포함하지 마세요. 스토리지 리소스 스키마에 대해서는 Microsoft.App/managedEnvironments/storages를 참조하세요.스토리지 계정 키 인증 (대안)
대신 스토리지 계정 키를 사용하려면
accountKey를 설정하고identity는 생략하세요. 템플릿 매개변수secureString를storage_account_key로 정의합니다.{ "type": "Microsoft.App/managedEnvironments/storages", "apiVersion": "2022-03-01", "name": "[concat(parameters('environment_name'), '/myazurefiles')]", "properties": { "azureFile": { "accountName": "[parameters('storage_account_name')]", "accountKey": "[parameters('storage_account_key')]", "shareName": "[parameters('storage_share_name')]", "accessMode": "ReadWrite" } } }이 스토리지 스니펫은 환경과 파일 공유가 이미 존재한다고 가정합니다. 같은 템플릿에 배포한다면, 환경 자원과 파일 공유 리소스를 스토리지 리소스의
dependsOn배열에 추가하세요. 관리형 ID 인증의 경우, 해당 템플릿에서 역할을 할당하는 경우 역할 할당에 대한 종속성도 추가하세요. 배포 의존성이 역할 할당 전파 지연을 없애지는 않습니다.볼륨 및 볼륨 탑재를 추가하도록 컨테이너 앱 리소스를 업데이트합니다.
SMB 인증은 환경의 스토리지 정의에서 구성됩니다. 관리 신원과 스토리지 계정 키 인증에 대한 앱 단위 볼륨 구성은 동일합니다. 스토리지 리소스와 컨테이너 앱을 같은 템플릿에 배포한다면, 스토리지 리소스를 컨테이너 앱의
dependsOn배열에 추가하세요.{ "apiVersion": "2023-05-01", "type": "Microsoft.App/containerApps", "name": "[parameters('containerappName')]", "location": "[parameters('location')]", "properties": { ... "template": { "revisionSuffix": "myrevision", "containers": [ { "name": "main", "image": "[parameters('container_image')]", "resources": { "cpu": 0.5, "memory": "1Gi" }, "volumeMounts": [ { "mountPath": "/myfiles", "volumeName": "azure-files-volume", "subPath": "my-sub-path" } ] } ], "scale": { "minReplicas": 1, "maxReplicas": 3 }, "volumes": [ { "name": "azure-files-volume", "storageType": "AzureFile", "storageName": "myazurefiles" } ] } } }-
volumes배열을 컨테이너 앱 정의의template섹션에 추가하고 볼륨을 정의합니다.volumes배열이 이미 있는 경우 배열에 새 볼륨을 추가합니다.-
name은 볼륨에 대한 식별자입니다. -
storageType의 경우 SMB의 경우AzureFile을 사용하고 NFS의 경우NfsAzureFile을 사용합니다. 이 값은 환경에 정의한 스토리지 유형과 일치해야 합니다. -
storageName의 경우 환경에서 정의한 스토리지의 이름을 사용합니다. - 마운트 옵션들은 쉼표로 구분된 문자열
mountOptions입니다. 자세한 내용은Azure Files 참조하세요. - 이
secrets목록은 볼륨에 탑재할 비밀 정보 목록입니다. 자세한 내용은 볼륨에 비밀을 마운트하는 방법을 참조하세요.
-
- Azure Files 스토리지를 탑재하려는 템플릿의 각 컨테이너에 대해 컨테이너 정의의
volumeMounts배열에 볼륨 탑재를 정의합니다.-
volumeName은volumes배열에 정의된 이름입니다. -
mountPath는 볼륨을 탑재할 컨테이너의 경로입니다. -
subPath(선택 사항)은 탑재할 볼륨의 경로입니다. 지정하지 않으면 볼륨 루트가 마운트됩니다. 자세한 내용은 하위 경로를 참조하세요.
-
-
전체 예제는 ARM 템플릿 API 사양을 참조하세요.
Azure 포털에서 Azure Files 스토리지에 대한 볼륨 탑재를 구성하려면 Container Apps 환경에 파일 공유를 추가한 다음 새 수정 버전을 만들어 컨테이너 앱에 볼륨 탑재를 추가합니다. 새로운 SMB 마운트의 경우, 관리 ID 인증을 선택하세요.
Azure 포털에서 Container Apps 환경으로 이동합니다.
SMB 관리 ID 인증의 경우, 설정>ID를 선택하고 시스템 할당 ID를 활성화하거나 환경에 사용자 할당 ID를 추가하세요. 공유 추가하기 전에 Azure Files 사전 조건에 설명된 스토리지 계정 설정과 역할 할당을 완료하세요.
탐색 창의 설정 아래에서 볼륨 탑재를 선택합니다.
추가를 선택합니다.
파일 공유에서 사용하는 프로토콜에 따라 SMB(서버 메시지 블록) 또는 NFS(네트워크 파일 시스템)를 선택합니다.
파일 공유 추가 컨텍스트 창에서 다음 정보를 입력합니다.
- 이름: 환경의 저장 정의를 나타내는 이름입니다.
- Storage 계정 이름: 파일 공유를 포함하는 스토리지 계정의 이름입니다.
- 인증: 관리 ID(권장)를 선택합니다.
- ID: 관리 ID 목록에서 환경의 시스템 할당 ID 또는 환경에 할당된 사용자 할당 ID를 선택하세요. 스토리지 계정에 Storage File Data SMB MI 관리자 역할이 있는 신원을 선택하세요.
- 파일 공유 이름: SMB 파일 공유의 이름입니다.
- 액세스 모드: 파일 공유에 대한 액세스 모드입니다. 유효한 값은 읽기/쓰기 및 읽기 전용입니다.
대신 스토리지 계정 키 인증을 사용하려면 인증 항목에서 스토리지 계정 키를 선택하고 스토리지 계정의 접근 키를 입력하세요. 스토리지 정의에 대해 하나의 인증 방식을 선택하세요.
추가를 선택하여 컨텍스트 창을 종료합니다.
저장을 선택하여 변경 내용을 커밋합니다.
컨테이너 앱으로 이동합니다.
탐색 창의 애플리케이션에서 수정 및 복제본을 선택합니다.
새 수정 버전 만들기를 선택합니다.
새 수정 버전 만들기 및 배포 페이지에서 볼륨 탭을 선택합니다.
추가를 선택합니다.
볼륨 컨텍스트 추가 창에서 다음 값을 설정합니다.
- 볼루메 형식: Azure 파일 볼륨.
- 이름: 볼륨 이름을 입력합니다.
- 파일 공유 이름: 이전에 만든 파일 공유를 선택합니다.
-
탑재 옵션: 필요에 따라 쉼표로 구분된 탑재 옵션 문자열을 입력합니다. 자세한 내용은
Azure Files 참조하세요.
추가를 선택하여 컨텍스트 창을 종료합니다.
새 버전 생성 및 배포 페이지에서 컨테이너 탭을 선택하세요.
볼륨을 탑재할 컨테이너를 선택합니다.
컨테이너 편집 컨텍스트 창에서 볼륨 탑재 탭을 선택합니다.
볼륨 이름에서 이전에 만든 볼륨을 선택합니다.
탑재 경로에 볼륨을 탑재할 컨테이너의 절대 경로를 입력합니다.
하위 경로(선택 사항)에서 탑재할 볼륨의 경로를 입력합니다. 이 값을 지정하지 않으면 볼륨 루트가 마운트됩니다. 자세한 내용은 하위 경로를 참조하세요.
저장을 선택하여 변경 내용을 저장하고 컨텍스트 창을 종료합니다.
만들기를 선택하여 새 수정 버전을 만듭니다.
하위 경로
Azure Files 파일 공유를 탑재할 때 탑재 경로와 하위 경로를 모두 지정할 수 있습니다.
- 탑재 경로: 볼륨을 탑재할 컨테이너의 경로입니다.
- 하위 경로: 탑재할 볼륨의 경로입니다.
하위 경로는 선택 사항입니다. 하위 경로를 지정하지 않으면 볼륨 루트가 탑재됩니다.
하위 경로는 볼륨 루트의 상대 경로입니다. 하위 경로를 /로 시작하지 마십시오. 시작하는 /하위 경로를 지정하는 경우 컨테이너 앱이 시작되지 않을 수 있습니다. 예를 들어 my-volume-folder 유효한 하위 경로이지만 /my-volume-folder 그렇지 않습니다.
하위 경로는 볼륨의 폴더 또는 파일을 참조할 수 있습니다.
하위 경로가 폴더를 참조하는 경우 탑재 경로는 컨테이너의 빈 폴더를 참조해야 합니다.
하위 경로가 파일을 참조하는 경우 탑재 경로는 컨테이너에 아직 없는 파일을 참조해야 합니다.
예를 들어, 하위 경로가
my-volume-folder/my-volume-file.txt이고 탑재 경로가/my-container-folder/my-container-file.txt인 경우를 가정합니다. 폴더/my-container-folder는 컨테이너에 이미 있어야 하지만 아직 파일을my-container-file.txt포함하지 않아야 합니다.
시스템은 하위 경로 후행 슬래시를 무시합니다.