Bicep 자원 정의
다음을 대상으로 하는 작업을 사용하여 클러스터 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ServiceFabric/clusters 리소스를 생성하려면 템플릿에 다음 Bicep을 추가하세요.
resource symbolicname 'Microsoft.ServiceFabric/clusters@2026-03-01-preview' = {
location: 'string'
name: 'string'
properties: {
addOnFeatures: [
'string'
]
applicationTypeVersionsCleanupPolicy: {
maxUnusedVersionsToKeep: int
}
azureActiveDirectory: {
clientApplication: 'string'
clusterApplication: 'string'
tenantId: 'string'
}
certificate: {
thumbprint: 'string'
thumbprintSecondary: 'string'
x509StoreName: 'string'
}
certificateCommonNames: {
commonNames: [
{
certificateCommonName: 'string'
certificateIssuerThumbprint: 'string'
}
]
x509StoreName: 'string'
}
clientCertificateCommonNames: [
{
certificateCommonName: 'string'
certificateIssuerThumbprint: 'string'
isAdmin: bool
}
]
clientCertificateThumbprints: [
{
certificateThumbprint: 'string'
isAdmin: bool
}
]
clusterCodeVersion: 'string'
diagnosticsStorageAccountConfig: {
blobEndpoint: 'string'
protectedAccountKeyName: 'string'
protectedAccountKeyName2: 'string'
queueEndpoint: 'string'
storageAccountName: 'string'
tableEndpoint: 'string'
}
enableHttpGatewayExclusiveAuthMode: bool
eventStoreServiceEnabled: bool
fabricSettings: [
{
name: 'string'
parameters: [
{
name: 'string'
value: 'string'
}
]
}
]
infrastructureServiceManager: bool
managementEndpoint: 'string'
nodeTypes: [
{
applicationPorts: {
endPort: int
startPort: int
}
capacities: {
{customized property}: 'string'
}
clientConnectionEndpointPort: int
durabilityLevel: 'string'
ephemeralPorts: {
endPort: int
startPort: int
}
httpGatewayEndpointPort: int
httpGatewayTokenAuthEndpointPort: int
isPrimary: bool
isStateless: bool
multipleAvailabilityZones: bool
name: 'string'
placementProperties: {
{customized property}: 'string'
}
reverseProxyEndpointPort: int
vmInstanceCount: int
}
]
notifications: [
{
isEnabled: bool
notificationCategory: 'string'
notificationLevel: 'string'
notificationTargets: [
{
notificationChannel: 'string'
receivers: [
'string'
]
}
]
}
]
reliabilityLevel: 'string'
reverseProxyCertificate: {
thumbprint: 'string'
thumbprintSecondary: 'string'
x509StoreName: 'string'
}
reverseProxyCertificateCommonNames: {
commonNames: [
{
certificateCommonName: 'string'
certificateIssuerThumbprint: 'string'
}
]
x509StoreName: 'string'
}
sfZonalUpgradeMode: 'string'
upgradeDescription: {
deltaHealthPolicy: {
applicationDeltaHealthPolicies: {
{customized property}: {
defaultServiceTypeDeltaHealthPolicy: {
maxPercentDeltaUnhealthyServices: int
}
serviceTypeDeltaHealthPolicies: {
{customized property}: {
maxPercentDeltaUnhealthyServices: int
}
}
}
}
maxPercentDeltaUnhealthyApplications: int
maxPercentDeltaUnhealthyNodes: int
maxPercentUpgradeDomainDeltaUnhealthyNodes: int
}
forceRestart: bool
healthCheckRetryTimeout: 'string'
healthCheckStableDuration: 'string'
healthCheckWaitDuration: 'string'
healthPolicy: {
applicationHealthPolicies: {
{customized property}: {
defaultServiceTypeHealthPolicy: {
maxPercentUnhealthyServices: int
}
serviceTypeHealthPolicies: {
{customized property}: {
maxPercentUnhealthyServices: int
}
}
}
}
maxPercentUnhealthyApplications: int
maxPercentUnhealthyNodes: int
}
upgradeDomainTimeout: 'string'
upgradeReplicaSetCheckTimeout: 'string'
upgradeTimeout: 'string'
}
upgradeMode: 'string'
upgradePauseEndTimestampUtc: 'string'
upgradePauseStartTimestampUtc: 'string'
upgradeWave: 'string'
vmImage: 'string'
vmssZonalUpgradeMode: 'string'
waveUpgradePaused: bool
}
tags: {
{customized property}: 'string'
}
}
속성 값
Microsoft.ServiceFabric/클러스터
| 이름 | 묘사 | 값 |
|---|---|---|
| 위치 | 리소스가 있는 지리적 위치 | string(필수) |
| 이름 | 리소스 이름 | string(필수) |
| 속성 | 클러스터 리소스 속성 | 클러스터 속성 |
| 태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
응용 프로그램DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| defaultServiceTypeDeltaHealthPolicy | 클러스터를 업그레이드할 때 서비스 유형의 상태를 평가하는 데 기본적으로 사용되는 델타 상태 정책입니다. | ServiceTypeDeltaHealthPolicy |
| serviceTypeDeltaHealthPolicies | 서비스 유형 이름당 서비스 유형 델타 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | 애플리케이션DeltaHealthPolicyServiceTypeDeltaHealthPolicies |
애플리케이션DeltaHealthPolicyServiceTypeDeltaHealthPolicies
| 이름 | 묘사 | 값 |
|---|
응용 프로그램HealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| defaultServiceTypeHealthPolicy | 기본적으로 서비스 유형의 상태를 평가하는 데 사용되는 상태 정책입니다. | 서비스유형건강정책 |
| serviceTypeHealthPolicies | 서비스 유형 이름당 서비스 유형 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | ApplicationHealthPolicyServiceTypeHealthPolicies |
ApplicationHealthPolicyServiceTypeHealthPolicies
| 이름 | 묘사 | 값 |
|---|
ApplicationTypeVersionsCleanupPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| maxUnusedVersionsToKeep | 유지할 애플리케이션 유형당 사용되지 않는 버전 수입니다. | 정수 제약 조건: 최소값 = 0(필수) |
Azure액티브디렉토리
| 이름 | 묘사 | 값 |
|---|---|---|
| client응용 프로그램 | Azure Active Directory client application id. | 문자열 |
| clusterApplication | Azure Active Directory cluster application id. | 문자열 |
| 테넌트ID | Azure active directory tenant id. | 문자열 |
인증서설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 지문 | 기본 인증서의 지문입니다. | string(필수) |
| 지문보조 | 보조 인증서의 지문입니다. | 문자열 |
| x509StoreName | 로컬 인증서 저장소 위치입니다. | '주소록' '인증 루트' '인증 기관' '허용되지 않음' '나의' '뿌리' '신뢰할 수 있는 사람들' '신뢰할 수 있는 게시자' |
ClientCertificateCommonName
| 이름 | 묘사 | 값 |
|---|---|---|
| certificateCommonName | 클라이언트 인증서의 일반 이름입니다. | string(필수) |
| certificateIssuer지문 | 클라이언트 인증서의 발급자 지문입니다. | string(필수) |
| isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
클라이언트 인증서 지문
| 이름 | 묘사 | 값 |
|---|---|---|
| 인증서지문 | 클라이언트 인증서의 지문입니다. | string(필수) |
| isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
클러스터HealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationHealthPolicies | 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 상태 정책 맵을 정의합니다. | 클러스터 건강 정책응용 건강 정책 |
| maxPercent비정상 응용 프로그램 | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 10개% 애플리케이션이 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 애플리케이션이 있는 경우 상태는 경고로 평가됩니다. 이는 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 유형의 애플리케이션을 제외하고 클러스터의 총 애플리케이션 인스턴스 수에 대한 비정상 애플리케이션 수를 나누어 계산합니다. 계산은 적은 수의 애플리케이션에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
| maxPercent비정상 노드 | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드 10개% 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 노드의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 노드가 있는 경우 상태는 경고로 평가됩니다. 백분율은 클러스터의 총 노드 수에 대한 비정상 노드 수를 나누어 계산됩니다. 계산은 적은 수의 노드에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. 큰 클러스터에서 일부 노드는 항상 복구를 위해 중단되거나 중단되므로 이 백분율은 이를 허용하도록 구성해야 합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
클러스터 건강 정책응용 건강 정책
| 이름 | 묘사 | 값 |
|---|
클러스터 속성
| 이름 | 묘사 | 값 |
|---|---|---|
| 애드온 기능 | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: '백업 복원 서비스' 'DNSSERVICE' '복구 관리자' '리소스 모니터 서비스' |
| applicationTypeVersionsCleanupPolicy | 사용되지 않는 버전을 정리하는 데 사용되는 정책입니다. | ApplicationTypeVersionsCleanupPolicy |
| azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
| 증명서 | 클러스터 보안에 사용할 인증서입니다. 제공된 인증서는 클러스터 내의 노드 간 보안, 클러스터 관리 엔드포인트용 SSL 인증서 및 기본 관리 클라이언트에 사용됩니다. | 인증서설명 |
| certificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames (서버인증서커먼네임) |
| clientCertificateCommonNames | 클러스터를 관리할 수 있는 일반 이름으로 참조되는 클라이언트 인증서 목록입니다. | 클라이언트인증서커먼네임[] |
| clientCertificateThumbprints | 클러스터를 관리할 수 있는 지문으로 참조되는 클라이언트 인증서 목록입니다. | 클라이언트인증서지문[] |
| clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. 이 속성은 upgradeMode 'Manual'으로 설정된 경우에만 사용자를 설정할 수 있습니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 사용 가능한ClusterVersions사용합니다. | 문자열 |
| diagnosticsStorageAccountConfig | Service Fabric 진단 로그를 저장하기 위한 스토리지 계정 정보입니다. | 진단StorageAccountConfig |
| enableHttpGatewayExclusiveAuthMode | true이면 HttpGatewayEndpoint에서 토큰 기반 인증이 허용되지 않습니다. 이는 TLS 버전 1.3 이상을 지원하는 데 필요합니다. 토큰 기반 인증을 사용하는 경우 HttpGatewayTokenAuthEndpointPort를 정의해야 합니다. | 부울 |
| eventStoreService활성화됨 | 이벤트 저장소 서비스를 사용할 수 있는지를 나타냅니다. | 부울 |
| fabric설정 | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | 설정섹션설명[] |
| 인프라서비스매니저 | 인프라 서비스 관리자를 사용할 수 있는지를 나타냅니다. | 부울 |
| 관리엔드포인트 | 클러스터의 http 관리 엔드포인트입니다. | string(필수) |
| 노드 유형 | 클러스터의 노드 형식 목록입니다. | NodeTypeDescription[] (필수) |
| 알림을 | 클러스터 이벤트에 대한 알림 채널 목록을 나타냅니다. | 알림[] |
| 신뢰성 수준 | 안정성 수준은 시스템 서비스의 복제본 집합 크기를 설정합니다.
ReliabilityLevel대해 알아봅니다. - 없음 - 대상 복제본 집합 수가 1인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Bronze - 대상 복제본 집합 수가 3인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Silver - 대상 복제본 집합 수가 5인 시스템 서비스를 실행합니다. - Gold - 대상 복제본 집합 수가 7인 시스템 서비스를 실행합니다. - Platinum - 대상 복제본 집합 수가 9인 시스템 서비스를 실행합니다. |
'브론즈' '골드' '없음' '플래티넘' '실버' |
| reverseProxy인증서 | 역방향 프록시에서 사용하는 서버 인증서입니다. | 인증서설명 |
| reverseProxyCertificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames (서버인증서커먼네임) |
| sfZonal업그레이드 모드 | 이 속성은 업그레이드 도메인(UD)에서 VM의 논리적 그룹을 제어합니다. 클러스터에 이미 여러 개의 Availability Zones를 가진 노드 유형이 있다면 이 속성은 수정할 수 없습니다. | '계층적' '병렬' |
| 업그레이드설명 | 클러스터를 업그레이드할 때 사용할 정책입니다. | clusterUpgradePolicy |
| upgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. | '자동' '수동' |
| upgradePauseEndTimestampUtc | 클러스터에서 특정 기간 동안 클러스터에서 자동 런타임 버전 업그레이드를 일시 중지하는 종료 날짜 및 시간을 나타냅니다(UTC). | 문자열 |
| upgradePauseStartTimestampUtc | 클러스터에서 특정 기간 동안 클러스터에서 자동 런타임 버전 업그레이드를 일시 중지하는 시작 날짜 및 시간을 나타냅니다(UTC). | 문자열 |
| 업그레이드웨이브 | 새 클러스터 런타임 버전 업그레이드가 릴리스된 후 적용되는 시기를 나타냅니다. 기본적으로 Wave0입니다. upgradeMode 'Automatic'으로 설정된 경우에만 적용됩니다. | '웨이브0' '웨이브1' '웨이브2' |
| vm이미지 | VM 이미지 VMSS가 구성되었습니다. Windows나 Linux와 같은 일반적인 이름도 사용할 수 있습니다. | 문자열 |
| vmssZonalUpgradeMode | 이 속성은 가상 머신 스케일 세트의 업그레이드 모드를 정의하며, 여러 개의 Availability Zones를 가진 노드 유형이 추가될 경우 반드시 필요합니다. | '계층적' '병렬' |
| wave업그레이드일시정지 | 클러스터에 대한 자동 런타임 버전 업그레이드를 일시 중지하는 부울입니다. | 부울 |
클러스터업그레이드DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationDeltaHealthPolicies | 클러스터를 업그레이드할 때 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 델타 상태 정책 맵을 정의합니다. | 클러스터 업그레이드 Delta HealthPolicyApplicationDelta HealthPolicies |
| maxPercentDelta비정상 응용 프로그램 | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. 시스템 서비스는 이에 포함되지 않습니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
| maxPercentDelta비정상 노드 | 클러스터 업그레이드 중에 허용되는 최대 노드 상태 저하 비율입니다. 델타는 업그레이드 시작 시 노드의 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
| maxPercentUpgradeDomainDelta비정상 노드 | 클러스터 업그레이드 중에 허용되는 업그레이드 도메인 노드 상태 저하의 최대 허용 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드의 상태와 상태 평가 시 업그레이드 도메인 노드의 상태 간에 측정됩니다. 업그레이드 도메인의 상태가 허용되는 한도 내에 있는지 확인하기 위해 완료된 모든 업그레이드 도메인에 대해 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행됩니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
클러스터 업그레이드 Delta HealthPolicyApplicationDelta HealthPolicies
| 이름 | 묘사 | 값 |
|---|
클러스터 업그레이드 정책
| 이름 | 묘사 | 값 |
|---|---|---|
| deltaHealth정책 | 클러스터를 업그레이드할 때 사용되는 클러스터 델타 상태 정책입니다. | 클러스터업그레이드DeltaHealthPolicy |
| forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | 부울 |
| healthCheckRetryTimeout | 업그레이드가 롤백되기 전에 애플리케이션 또는 클러스터가 비정상일 때 상태 평가를 다시 시도하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| healthCheckStableDuration (영문) | 업그레이드가 다음 업그레이드 도메인으로 진행되기 전에 애플리케이션 또는 클러스터가 정상 상태를 유지해야 하는 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| healthCheckWait기간 | 상태 검사를 수행하기 전에 업그레이드 도메인을 완료한 후 대기할 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| 건강 정책 | 클러스터를 업그레이드할 때 사용되는 클러스터 상태 정책입니다. | ClusterHealthPolicy(필수) |
| upgradeDomainTimeout(영문) | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| upgradeReplicaSetCheckTimeout | 업그레이드 도메인의 처리를 차단하고 예기치 않은 문제가 발생할 때 가용성 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제에 관계없이 업그레이드 도메인의 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 부분에 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| 업그레이드 타임아웃 | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
진단StorageAccountConfig
| 이름 | 묘사 | 값 |
|---|---|---|
| blob엔드포인트 | Azure Storage 계정의 Blob 엔드포인트입니다. | string(필수) |
| protectedAccountKeyName | 보호된 진단 스토리지 키 이름입니다. | string(필수) |
| protectedAccountKeyName2 | 보조 보호된 진단 스토리지 키 이름입니다. 스토리지 계정 키 중 하나가 회전되면 클러스터는 다른 키를 사용하는 것으로 대체됩니다. | 문자열 |
| 큐엔드포인트 | Azure Storage 계정의 큐 엔드포인트입니다. | string(필수) |
| 스토리지 계정 이름 | Azure 스토리지 계정 이름입니다. | string(필수) |
| 테이블 엔드포인트 | Azure Storage 계정의 테이블 엔드포인트입니다. | string(필수) |
엔드포인트 범위 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 엔드포트 | 포트 범위의 끝 포트 | int(필수) |
| 스타트포트 | 포트 범위의 시작 포트 | int(필수) |
노드 유형 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationPorts | 클러스터가 Service Fabric 애플리케이션에 포트를 할당한 포트 범위입니다. | 엔드포인트 범위 설명 |
| 용량 | 노드 형식의 노드에 적용되는 용량 태그인 클러스터 리소스 관리자는 이러한 태그를 사용하여 노드에 있는 리소스의 양을 이해합니다. | nodeTypeDescriptionCapacities |
| clientConnectionEndpointPort | TCP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
| 내구성 수준 | 노드 형식의 내구성 수준입니다. DurabilityLevel - 브론즈 - 권한이 없습니다. 기본값입니다. - Silver - UD당 10분 동안 인프라 작업을 일시 중지할 수 있습니다. - 골드 - 인프라 작업은 UD당 2시간 동안 일시 중지할 수 있습니다. 골드 내구성은 D15_V2, G5 등과 같은 전체 노드 VM sku에서만 사용할 수 있습니다. |
'브론즈' '골드' '실버' |
| 임시 포트 | 이 노드 형식의 노드를 구성해야 하는 임시 포트의 범위입니다. | 엔드포인트 범위 설명 |
| httpGateway엔드포인트포트 | HTTP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
| httpGatewayTokenAuthEndpointPort | 클러스터에 대한 토큰 인증 기반 HTTPS 연결에 사용되는 포트입니다. HttpGatewayEndpoint와 동일한 포트로 설정할 수 없습니다. | 정수 (int) |
| 기본 | 시스템 서비스가 실행될 노드 유형입니다. 하나의 노드 형식만 기본으로 표시되어야 합니다. 기본 노드 유형은 기존 클러스터에 대해 삭제하거나 변경할 수 없습니다. | bool(필수) |
| isStateless | 노드 유형이 상태 비지정 워크로드만 호스트할 수 있는지를 나타냅니다. | 부울 |
| multipleAvailabilityZones | 노드 유형이 여러 영역을 지원할 수 있는지를 나타냅니다. | 부울 |
| 이름 | 노드 형식의 이름입니다. | string(필수) |
| placementProperties | 노드 형식의 노드에 적용되는 배치 태그로, 특정 서비스(워크로드)가 실행되어야 하는 위치를 나타내는 데 사용할 수 있습니다. | NodeTypeDescriptionPlacementProperties |
| reverseProxy엔드포인트포트 | 역방향 프록시에서 사용하는 엔드포인트입니다. | 정수 (int) |
| vmInstanceCount | VMInstanceCount는 1에서 n이어야 합니다. 여기서 n은 이 nodeType에 해당하는 VM 인스턴스의 수를 나타냅니다. VMInstanceCount = 0은 다음 시나리오에서만 수행할 수 있습니다. NodeType은 보조 nodeType입니다. 내구성 = Bronze 또는 Durability >= Bronze and InfrastructureServiceManager = true입니다. VMInstanceCount = 0이면 이 nodeType에 대한 VM이 초기 클러스터 크기 계산에 사용되지 않음을 의미합니다. | 정수 제약 조건: 최소값 = 0 최대값 = 2147483647(필수) |
노드 유형 설명용량
| 이름 | 묘사 | 값 |
|---|
NodeTypeDescriptionPlacementProperties
| 이름 | 묘사 | 값 |
|---|
통지
| 이름 | 묘사 | 값 |
|---|---|---|
| 활성화됨 | 알림을 사용할 수 있는지를 나타냅니다. | bool(필수) |
| notificationCategory | 알림의 범주입니다. | 'WaveProgress'(필수) |
| notificationLevel | 알림 수준입니다. | '모두' 'Critical'(필수) |
| notification타겟 | 알림을 구독하는 대상 목록입니다. | NotificationTarget[] (필수) |
알림 대상
| 이름 | 묘사 | 값 |
|---|---|---|
| notificationChannel | 알림 채널은 알림을 구독하는 수신자 유형(사용자 또는 구독)을 나타냅니다. | '이메일 구독' 'EmailUser'(필수) |
| 수신기 | 알림을 구독하는 대상 목록입니다. | string[] (필수) |
ServerCertificateCommonName
| 이름 | 묘사 | 값 |
|---|---|---|
| certificateCommonName | 서버 인증서의 일반 이름입니다. | string(필수) |
| certificateIssuer지문 | 서버 인증서의 발급자 지문입니다. | string(필수) |
ServerCertificateCommonNames (서버인증서커먼네임)
| 이름 | 묘사 | 값 |
|---|---|---|
| 일반 이름 | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서 목록입니다. | 서버 인증서커먼 이름[] |
| x509StoreName | 로컬 인증서 저장소 위치입니다. | '주소록' '인증 루트' '인증 기관' '허용되지 않음' '나의' '뿌리' '신뢰할 수 있는 사람들' '신뢰할 수 있는 게시자' |
서비스 유형DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| maxPercentDelta비건강 서비스 | 클러스터 업그레이드 중에 허용되는 최대 서비스 상태 저하 비율입니다. 델타는 업그레이드 시작 시 서비스 상태와 상태 평가 시 서비스의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
서비스유형건강정책
| 이름 | 묘사 | 값 |
|---|---|---|
| maxPercent비건강서비스 | 애플리케이션이 오류로 간주되기 전에 비정상으로 허용되는 서비스의 최대 비율입니다. | 정수 제약 조건: 최소값 = 0 최대값 = 100 |
설정매개 변수 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
| 값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
SettingsSectionDescription
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 패브릭 설정의 섹션 이름입니다. | string(필수) |
| 매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
TrackedResource태그
| 이름 | 묘사 | 값 |
|---|
사용 예제
Bicep 샘플
Service Fabric 클러스터 배포의 기본 예제입니다.
param resourceName string = 'acctest0001'
param location string = 'westeurope'
resource cluster 'Microsoft.ServiceFabric/clusters@2021-06-01' = {
name: resourceName
location: location
properties: {
addOnFeatures: []
fabricSettings: []
managementEndpoint: 'http://example:80'
nodeTypes: [
{
capacities: {}
clientConnectionEndpointPort: 2020
durabilityLevel: 'Bronze'
httpGatewayEndpointPort: 80
isPrimary: true
isStateless: false
multipleAvailabilityZones: false
name: 'first'
placementProperties: {}
vmInstanceCount: 3
}
]
reliabilityLevel: 'Bronze'
upgradeMode: 'Automatic'
vmImage: 'Windows'
}
}
Azure verified modules
다음 Azure 검증된 모듈 이 자원 유형을 배포하는 데 사용할 수 있습니다.
| 모듈 | 묘사 |
|---|---|
| Service Fabric Cluster | Service Fabric 클러스터용 AVM 리소스 모듈 |
Azure Quickstart Samples
다음 Azure 퀵스타트 템플릿에는 이 리소스 유형을 배포하기 위한 Bicep 샘플이 포함되어 있습니다.
| Bicep 파일 | 묘사 |
|---|---|
| 5노드 보안 클러스터 배포 | 이 템플릿은 Standard_D2_v2 크기의 VMSS에서 데이터센터Windows Server 2019 실행되는 안전한 5노드 서비스 패브릭 클러스터를 배포할 수 있게 해줍니다. |
ARM 템플릿 리소스 정의
다음을 대상으로 하는 작업을 사용하여 클러스터 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹 - 리소스 그룹 배포 명령 참조
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ServiceFabric/clusters 리소스를 만들려면 템플릿에 다음 JSON을 추가합니다.
{
"type": "Microsoft.ServiceFabric/clusters",
"apiVersion": "2026-03-01-preview",
"name": "string",
"location": "string",
"properties": {
"addOnFeatures": [ "string" ],
"applicationTypeVersionsCleanupPolicy": {
"maxUnusedVersionsToKeep": "int"
},
"azureActiveDirectory": {
"clientApplication": "string",
"clusterApplication": "string",
"tenantId": "string"
},
"certificate": {
"thumbprint": "string",
"thumbprintSecondary": "string",
"x509StoreName": "string"
},
"certificateCommonNames": {
"commonNames": [
{
"certificateCommonName": "string",
"certificateIssuerThumbprint": "string"
}
],
"x509StoreName": "string"
},
"clientCertificateCommonNames": [
{
"certificateCommonName": "string",
"certificateIssuerThumbprint": "string",
"isAdmin": "bool"
}
],
"clientCertificateThumbprints": [
{
"certificateThumbprint": "string",
"isAdmin": "bool"
}
],
"clusterCodeVersion": "string",
"diagnosticsStorageAccountConfig": {
"blobEndpoint": "string",
"protectedAccountKeyName": "string",
"protectedAccountKeyName2": "string",
"queueEndpoint": "string",
"storageAccountName": "string",
"tableEndpoint": "string"
},
"enableHttpGatewayExclusiveAuthMode": "bool",
"eventStoreServiceEnabled": "bool",
"fabricSettings": [
{
"name": "string",
"parameters": [
{
"name": "string",
"value": "string"
}
]
}
],
"infrastructureServiceManager": "bool",
"managementEndpoint": "string",
"nodeTypes": [
{
"applicationPorts": {
"endPort": "int",
"startPort": "int"
},
"capacities": {
"{customized property}": "string"
},
"clientConnectionEndpointPort": "int",
"durabilityLevel": "string",
"ephemeralPorts": {
"endPort": "int",
"startPort": "int"
},
"httpGatewayEndpointPort": "int",
"httpGatewayTokenAuthEndpointPort": "int",
"isPrimary": "bool",
"isStateless": "bool",
"multipleAvailabilityZones": "bool",
"name": "string",
"placementProperties": {
"{customized property}": "string"
},
"reverseProxyEndpointPort": "int",
"vmInstanceCount": "int"
}
],
"notifications": [
{
"isEnabled": "bool",
"notificationCategory": "string",
"notificationLevel": "string",
"notificationTargets": [
{
"notificationChannel": "string",
"receivers": [ "string" ]
}
]
}
],
"reliabilityLevel": "string",
"reverseProxyCertificate": {
"thumbprint": "string",
"thumbprintSecondary": "string",
"x509StoreName": "string"
},
"reverseProxyCertificateCommonNames": {
"commonNames": [
{
"certificateCommonName": "string",
"certificateIssuerThumbprint": "string"
}
],
"x509StoreName": "string"
},
"sfZonalUpgradeMode": "string",
"upgradeDescription": {
"deltaHealthPolicy": {
"applicationDeltaHealthPolicies": {
"{customized property}": {
"defaultServiceTypeDeltaHealthPolicy": {
"maxPercentDeltaUnhealthyServices": "int"
},
"serviceTypeDeltaHealthPolicies": {
"{customized property}": {
"maxPercentDeltaUnhealthyServices": "int"
}
}
}
},
"maxPercentDeltaUnhealthyApplications": "int",
"maxPercentDeltaUnhealthyNodes": "int",
"maxPercentUpgradeDomainDeltaUnhealthyNodes": "int"
},
"forceRestart": "bool",
"healthCheckRetryTimeout": "string",
"healthCheckStableDuration": "string",
"healthCheckWaitDuration": "string",
"healthPolicy": {
"applicationHealthPolicies": {
"{customized property}": {
"defaultServiceTypeHealthPolicy": {
"maxPercentUnhealthyServices": "int"
},
"serviceTypeHealthPolicies": {
"{customized property}": {
"maxPercentUnhealthyServices": "int"
}
}
}
},
"maxPercentUnhealthyApplications": "int",
"maxPercentUnhealthyNodes": "int"
},
"upgradeDomainTimeout": "string",
"upgradeReplicaSetCheckTimeout": "string",
"upgradeTimeout": "string"
},
"upgradeMode": "string",
"upgradePauseEndTimestampUtc": "string",
"upgradePauseStartTimestampUtc": "string",
"upgradeWave": "string",
"vmImage": "string",
"vmssZonalUpgradeMode": "string",
"waveUpgradePaused": "bool"
},
"tags": {
"{customized property}": "string"
}
}
속성 값
Microsoft.ServiceFabric/클러스터
| 이름 | 묘사 | 값 |
|---|---|---|
| API버전 | api 버전 | '2026-03-01-미리보기' |
| 위치 | 리소스가 있는 지리적 위치 | string(필수) |
| 이름 | 리소스 이름 | string(필수) |
| 속성 | 클러스터 리소스 속성 | 클러스터 속성 |
| 태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. 템플릿 |
| 형 | 리소스 종류 | 'Microsoft.ServiceFabric/클러스터' |
응용 프로그램DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| defaultServiceTypeDeltaHealthPolicy | 클러스터를 업그레이드할 때 서비스 유형의 상태를 평가하는 데 기본적으로 사용되는 델타 상태 정책입니다. | ServiceTypeDeltaHealthPolicy |
| serviceTypeDeltaHealthPolicies | 서비스 유형 이름당 서비스 유형 델타 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | 애플리케이션DeltaHealthPolicyServiceTypeDeltaHealthPolicies |
애플리케이션DeltaHealthPolicyServiceTypeDeltaHealthPolicies
| 이름 | 묘사 | 값 |
|---|
응용 프로그램HealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| defaultServiceTypeHealthPolicy | 기본적으로 서비스 유형의 상태를 평가하는 데 사용되는 상태 정책입니다. | 서비스유형건강정책 |
| serviceTypeHealthPolicies | 서비스 유형 이름당 서비스 유형 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | ApplicationHealthPolicyServiceTypeHealthPolicies |
ApplicationHealthPolicyServiceTypeHealthPolicies
| 이름 | 묘사 | 값 |
|---|
ApplicationTypeVersionsCleanupPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| maxUnusedVersionsToKeep | 유지할 애플리케이션 유형당 사용되지 않는 버전 수입니다. | 정수 제약 조건: 최소값 = 0(필수) |
Azure액티브디렉토리
| 이름 | 묘사 | 값 |
|---|---|---|
| client응용 프로그램 | Azure Active Directory client application id. | 문자열 |
| clusterApplication | Azure Active Directory cluster application id. | 문자열 |
| 테넌트ID | Azure active directory tenant id. | 문자열 |
인증서설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 지문 | 기본 인증서의 지문입니다. | string(필수) |
| 지문보조 | 보조 인증서의 지문입니다. | 문자열 |
| x509StoreName | 로컬 인증서 저장소 위치입니다. | '주소록' '인증 루트' '인증 기관' '허용되지 않음' '나의' '뿌리' '신뢰할 수 있는 사람들' '신뢰할 수 있는 게시자' |
ClientCertificateCommonName
| 이름 | 묘사 | 값 |
|---|---|---|
| certificateCommonName | 클라이언트 인증서의 일반 이름입니다. | string(필수) |
| certificateIssuer지문 | 클라이언트 인증서의 발급자 지문입니다. | string(필수) |
| isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
클라이언트 인증서 지문
| 이름 | 묘사 | 값 |
|---|---|---|
| 인증서지문 | 클라이언트 인증서의 지문입니다. | string(필수) |
| isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
클러스터HealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationHealthPolicies | 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 상태 정책 맵을 정의합니다. | 클러스터 건강 정책응용 건강 정책 |
| maxPercent비정상 응용 프로그램 | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 10개% 애플리케이션이 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 애플리케이션이 있는 경우 상태는 경고로 평가됩니다. 이는 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 유형의 애플리케이션을 제외하고 클러스터의 총 애플리케이션 인스턴스 수에 대한 비정상 애플리케이션 수를 나누어 계산합니다. 계산은 적은 수의 애플리케이션에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
| maxPercent비정상 노드 | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드 10개% 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 노드의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 노드가 있는 경우 상태는 경고로 평가됩니다. 백분율은 클러스터의 총 노드 수에 대한 비정상 노드 수를 나누어 계산됩니다. 계산은 적은 수의 노드에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. 큰 클러스터에서 일부 노드는 항상 복구를 위해 중단되거나 중단되므로 이 백분율은 이를 허용하도록 구성해야 합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
클러스터 건강 정책응용 건강 정책
| 이름 | 묘사 | 값 |
|---|
클러스터 속성
| 이름 | 묘사 | 값 |
|---|---|---|
| 애드온 기능 | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: '백업 복원 서비스' 'DNSSERVICE' '복구 관리자' '리소스 모니터 서비스' |
| applicationTypeVersionsCleanupPolicy | 사용되지 않는 버전을 정리하는 데 사용되는 정책입니다. | ApplicationTypeVersionsCleanupPolicy |
| azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
| 증명서 | 클러스터 보안에 사용할 인증서입니다. 제공된 인증서는 클러스터 내의 노드 간 보안, 클러스터 관리 엔드포인트용 SSL 인증서 및 기본 관리 클라이언트에 사용됩니다. | 인증서설명 |
| certificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames (서버인증서커먼네임) |
| clientCertificateCommonNames | 클러스터를 관리할 수 있는 일반 이름으로 참조되는 클라이언트 인증서 목록입니다. | 클라이언트인증서커먼네임[] |
| clientCertificateThumbprints | 클러스터를 관리할 수 있는 지문으로 참조되는 클라이언트 인증서 목록입니다. | 클라이언트인증서지문[] |
| clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. 이 속성은 upgradeMode 'Manual'으로 설정된 경우에만 사용자를 설정할 수 있습니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 사용 가능한ClusterVersions사용합니다. | 문자열 |
| diagnosticsStorageAccountConfig | Service Fabric 진단 로그를 저장하기 위한 스토리지 계정 정보입니다. | 진단StorageAccountConfig |
| enableHttpGatewayExclusiveAuthMode | true이면 HttpGatewayEndpoint에서 토큰 기반 인증이 허용되지 않습니다. 이는 TLS 버전 1.3 이상을 지원하는 데 필요합니다. 토큰 기반 인증을 사용하는 경우 HttpGatewayTokenAuthEndpointPort를 정의해야 합니다. | 부울 |
| eventStoreService활성화됨 | 이벤트 저장소 서비스를 사용할 수 있는지를 나타냅니다. | 부울 |
| fabric설정 | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | 설정섹션설명[] |
| 인프라서비스매니저 | 인프라 서비스 관리자를 사용할 수 있는지를 나타냅니다. | 부울 |
| 관리엔드포인트 | 클러스터의 http 관리 엔드포인트입니다. | string(필수) |
| 노드 유형 | 클러스터의 노드 형식 목록입니다. | NodeTypeDescription[] (필수) |
| 알림을 | 클러스터 이벤트에 대한 알림 채널 목록을 나타냅니다. | 알림[] |
| 신뢰성 수준 | 안정성 수준은 시스템 서비스의 복제본 집합 크기를 설정합니다.
ReliabilityLevel대해 알아봅니다. - 없음 - 대상 복제본 집합 수가 1인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Bronze - 대상 복제본 집합 수가 3인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Silver - 대상 복제본 집합 수가 5인 시스템 서비스를 실행합니다. - Gold - 대상 복제본 집합 수가 7인 시스템 서비스를 실행합니다. - Platinum - 대상 복제본 집합 수가 9인 시스템 서비스를 실행합니다. |
'브론즈' '골드' '없음' '플래티넘' '실버' |
| reverseProxy인증서 | 역방향 프록시에서 사용하는 서버 인증서입니다. | 인증서설명 |
| reverseProxyCertificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames (서버인증서커먼네임) |
| sfZonal업그레이드 모드 | 이 속성은 업그레이드 도메인(UD)에서 VM의 논리적 그룹을 제어합니다. 클러스터에 이미 여러 개의 Availability Zones를 가진 노드 유형이 있다면 이 속성은 수정할 수 없습니다. | '계층적' '병렬' |
| 업그레이드설명 | 클러스터를 업그레이드할 때 사용할 정책입니다. | clusterUpgradePolicy |
| upgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. | '자동' '수동' |
| upgradePauseEndTimestampUtc | 클러스터에서 특정 기간 동안 클러스터에서 자동 런타임 버전 업그레이드를 일시 중지하는 종료 날짜 및 시간을 나타냅니다(UTC). | 문자열 |
| upgradePauseStartTimestampUtc | 클러스터에서 특정 기간 동안 클러스터에서 자동 런타임 버전 업그레이드를 일시 중지하는 시작 날짜 및 시간을 나타냅니다(UTC). | 문자열 |
| 업그레이드웨이브 | 새 클러스터 런타임 버전 업그레이드가 릴리스된 후 적용되는 시기를 나타냅니다. 기본적으로 Wave0입니다. upgradeMode 'Automatic'으로 설정된 경우에만 적용됩니다. | '웨이브0' '웨이브1' '웨이브2' |
| vm이미지 | VM 이미지 VMSS가 구성되었습니다. Windows나 Linux와 같은 일반적인 이름도 사용할 수 있습니다. | 문자열 |
| vmssZonalUpgradeMode | 이 속성은 가상 머신 스케일 세트의 업그레이드 모드를 정의하며, 여러 개의 Availability Zones를 가진 노드 유형이 추가될 경우 반드시 필요합니다. | '계층적' '병렬' |
| wave업그레이드일시정지 | 클러스터에 대한 자동 런타임 버전 업그레이드를 일시 중지하는 부울입니다. | 부울 |
클러스터업그레이드DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationDeltaHealthPolicies | 클러스터를 업그레이드할 때 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 델타 상태 정책 맵을 정의합니다. | 클러스터 업그레이드 Delta HealthPolicyApplicationDelta HealthPolicies |
| maxPercentDelta비정상 응용 프로그램 | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. 시스템 서비스는 이에 포함되지 않습니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
| maxPercentDelta비정상 노드 | 클러스터 업그레이드 중에 허용되는 최대 노드 상태 저하 비율입니다. 델타는 업그레이드 시작 시 노드의 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
| maxPercentUpgradeDomainDelta비정상 노드 | 클러스터 업그레이드 중에 허용되는 업그레이드 도메인 노드 상태 저하의 최대 허용 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드의 상태와 상태 평가 시 업그레이드 도메인 노드의 상태 간에 측정됩니다. 업그레이드 도메인의 상태가 허용되는 한도 내에 있는지 확인하기 위해 완료된 모든 업그레이드 도메인에 대해 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행됩니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
클러스터 업그레이드 Delta HealthPolicyApplicationDelta HealthPolicies
| 이름 | 묘사 | 값 |
|---|
클러스터 업그레이드 정책
| 이름 | 묘사 | 값 |
|---|---|---|
| deltaHealth정책 | 클러스터를 업그레이드할 때 사용되는 클러스터 델타 상태 정책입니다. | 클러스터업그레이드DeltaHealthPolicy |
| forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | 부울 |
| healthCheckRetryTimeout | 업그레이드가 롤백되기 전에 애플리케이션 또는 클러스터가 비정상일 때 상태 평가를 다시 시도하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| healthCheckStableDuration (영문) | 업그레이드가 다음 업그레이드 도메인으로 진행되기 전에 애플리케이션 또는 클러스터가 정상 상태를 유지해야 하는 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| healthCheckWait기간 | 상태 검사를 수행하기 전에 업그레이드 도메인을 완료한 후 대기할 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| 건강 정책 | 클러스터를 업그레이드할 때 사용되는 클러스터 상태 정책입니다. | ClusterHealthPolicy(필수) |
| upgradeDomainTimeout(영문) | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| upgradeReplicaSetCheckTimeout | 업그레이드 도메인의 처리를 차단하고 예기치 않은 문제가 발생할 때 가용성 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제에 관계없이 업그레이드 도메인의 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 부분에 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| 업그레이드 타임아웃 | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
진단StorageAccountConfig
| 이름 | 묘사 | 값 |
|---|---|---|
| blob엔드포인트 | Azure Storage 계정의 Blob 엔드포인트입니다. | string(필수) |
| protectedAccountKeyName | 보호된 진단 스토리지 키 이름입니다. | string(필수) |
| protectedAccountKeyName2 | 보조 보호된 진단 스토리지 키 이름입니다. 스토리지 계정 키 중 하나가 회전되면 클러스터는 다른 키를 사용하는 것으로 대체됩니다. | 문자열 |
| 큐엔드포인트 | Azure Storage 계정의 큐 엔드포인트입니다. | string(필수) |
| 스토리지 계정 이름 | Azure 스토리지 계정 이름입니다. | string(필수) |
| 테이블 엔드포인트 | Azure Storage 계정의 테이블 엔드포인트입니다. | string(필수) |
엔드포인트 범위 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 엔드포트 | 포트 범위의 끝 포트 | int(필수) |
| 스타트포트 | 포트 범위의 시작 포트 | int(필수) |
노드 유형 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationPorts | 클러스터가 Service Fabric 애플리케이션에 포트를 할당한 포트 범위입니다. | 엔드포인트 범위 설명 |
| 용량 | 노드 형식의 노드에 적용되는 용량 태그인 클러스터 리소스 관리자는 이러한 태그를 사용하여 노드에 있는 리소스의 양을 이해합니다. | nodeTypeDescriptionCapacities |
| clientConnectionEndpointPort | TCP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
| 내구성 수준 | 노드 형식의 내구성 수준입니다. DurabilityLevel - 브론즈 - 권한이 없습니다. 기본값입니다. - Silver - UD당 10분 동안 인프라 작업을 일시 중지할 수 있습니다. - 골드 - 인프라 작업은 UD당 2시간 동안 일시 중지할 수 있습니다. 골드 내구성은 D15_V2, G5 등과 같은 전체 노드 VM sku에서만 사용할 수 있습니다. |
'브론즈' '골드' '실버' |
| 임시 포트 | 이 노드 형식의 노드를 구성해야 하는 임시 포트의 범위입니다. | 엔드포인트 범위 설명 |
| httpGateway엔드포인트포트 | HTTP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
| httpGatewayTokenAuthEndpointPort | 클러스터에 대한 토큰 인증 기반 HTTPS 연결에 사용되는 포트입니다. HttpGatewayEndpoint와 동일한 포트로 설정할 수 없습니다. | 정수 (int) |
| 기본 | 시스템 서비스가 실행될 노드 유형입니다. 하나의 노드 형식만 기본으로 표시되어야 합니다. 기본 노드 유형은 기존 클러스터에 대해 삭제하거나 변경할 수 없습니다. | bool(필수) |
| isStateless | 노드 유형이 상태 비지정 워크로드만 호스트할 수 있는지를 나타냅니다. | 부울 |
| multipleAvailabilityZones | 노드 유형이 여러 영역을 지원할 수 있는지를 나타냅니다. | 부울 |
| 이름 | 노드 형식의 이름입니다. | string(필수) |
| placementProperties | 노드 형식의 노드에 적용되는 배치 태그로, 특정 서비스(워크로드)가 실행되어야 하는 위치를 나타내는 데 사용할 수 있습니다. | NodeTypeDescriptionPlacementProperties |
| reverseProxy엔드포인트포트 | 역방향 프록시에서 사용하는 엔드포인트입니다. | 정수 (int) |
| vmInstanceCount | VMInstanceCount는 1에서 n이어야 합니다. 여기서 n은 이 nodeType에 해당하는 VM 인스턴스의 수를 나타냅니다. VMInstanceCount = 0은 다음 시나리오에서만 수행할 수 있습니다. NodeType은 보조 nodeType입니다. 내구성 = Bronze 또는 Durability >= Bronze and InfrastructureServiceManager = true입니다. VMInstanceCount = 0이면 이 nodeType에 대한 VM이 초기 클러스터 크기 계산에 사용되지 않음을 의미합니다. | 정수 제약 조건: 최소값 = 0 최대값 = 2147483647(필수) |
노드 유형 설명용량
| 이름 | 묘사 | 값 |
|---|
NodeTypeDescriptionPlacementProperties
| 이름 | 묘사 | 값 |
|---|
통지
| 이름 | 묘사 | 값 |
|---|---|---|
| 활성화됨 | 알림을 사용할 수 있는지를 나타냅니다. | bool(필수) |
| notificationCategory | 알림의 범주입니다. | 'WaveProgress'(필수) |
| notificationLevel | 알림 수준입니다. | '모두' 'Critical'(필수) |
| notification타겟 | 알림을 구독하는 대상 목록입니다. | NotificationTarget[] (필수) |
알림 대상
| 이름 | 묘사 | 값 |
|---|---|---|
| notificationChannel | 알림 채널은 알림을 구독하는 수신자 유형(사용자 또는 구독)을 나타냅니다. | '이메일 구독' 'EmailUser'(필수) |
| 수신기 | 알림을 구독하는 대상 목록입니다. | string[] (필수) |
ServerCertificateCommonName
| 이름 | 묘사 | 값 |
|---|---|---|
| certificateCommonName | 서버 인증서의 일반 이름입니다. | string(필수) |
| certificateIssuer지문 | 서버 인증서의 발급자 지문입니다. | string(필수) |
ServerCertificateCommonNames (서버인증서커먼네임)
| 이름 | 묘사 | 값 |
|---|---|---|
| 일반 이름 | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서 목록입니다. | 서버 인증서커먼 이름[] |
| x509StoreName | 로컬 인증서 저장소 위치입니다. | '주소록' '인증 루트' '인증 기관' '허용되지 않음' '나의' '뿌리' '신뢰할 수 있는 사람들' '신뢰할 수 있는 게시자' |
서비스 유형DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| maxPercentDelta비건강 서비스 | 클러스터 업그레이드 중에 허용되는 최대 서비스 상태 저하 비율입니다. 델타는 업그레이드 시작 시 서비스 상태와 상태 평가 시 서비스의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
서비스유형건강정책
| 이름 | 묘사 | 값 |
|---|---|---|
| maxPercent비건강서비스 | 애플리케이션이 오류로 간주되기 전에 비정상으로 허용되는 서비스의 최대 비율입니다. | 정수 제약 조건: 최소값 = 0 최대값 = 100 |
설정매개 변수 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
| 값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
SettingsSectionDescription
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 패브릭 설정의 섹션 이름입니다. | string(필수) |
| 매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
TrackedResource태그
| 이름 | 묘사 | 값 |
|---|
사용 예제
Azure Quickstart Templates
다음 Azure 퀵스타트 템플릿이 이 리소스 유형을 배포합니다.
| 템플렛 | 묘사 |
|---|---|
|
NSG가 활성화된 3노드 유형의 보안 클러스터를 배포 |
이 템플릿을 통해 Standard_D2 크기의 VM Windows Server 2016 데이터 센터에서 실행 중인 안전한 3노드 타입 서비스 패브릭 클러스터를 배포할 수 있습니다. 이 템플릿을 사용하면 네트워크 보안 그룹을 사용하여 인바운드 및 아웃바운드 네트워크 트래픽을 제어할 수 있습니다. |
|
5노드 보안 클러스터 배포 |
이 템플릿은 Standard_D2_v2 크기의 VMSS에서 데이터센터Windows Server 2019 실행되는 안전한 5노드 서비스 패브릭 클러스터를 배포할 수 있게 해줍니다. |
| 이 템플릿을 사용하면 Standard_D2_V2 크기 VMSS에서 Ubuntu를 실행하는 보안 5 노드 Service Fabric 클러스터를 배포할 수 있습니다. |
Terraform(AzAPI 공급자) 리소스 정의
다음을 대상으로 하는 작업을 사용하여 클러스터 리소스 유형을 배포할 수 있습니다.
- 리소스 그룹
각 API 버전에서 변경된 속성 목록은 변경 로그참조하세요.
리소스 형식
Microsoft.ServiceFabric/clusters 리소스를 만들려면 템플릿에 다음 Terraform을 추가합니다.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.ServiceFabric/clusters@2026-03-01-preview"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
properties = {
addOnFeatures = [
"string"
]
applicationTypeVersionsCleanupPolicy = {
maxUnusedVersionsToKeep = int
}
azureActiveDirectory = {
clientApplication = "string"
clusterApplication = "string"
tenantId = "string"
}
certificate = {
thumbprint = "string"
thumbprintSecondary = "string"
x509StoreName = "string"
}
certificateCommonNames = {
commonNames = [
{
certificateCommonName = "string"
certificateIssuerThumbprint = "string"
}
]
x509StoreName = "string"
}
clientCertificateCommonNames = [
{
certificateCommonName = "string"
certificateIssuerThumbprint = "string"
isAdmin = bool
}
]
clientCertificateThumbprints = [
{
certificateThumbprint = "string"
isAdmin = bool
}
]
clusterCodeVersion = "string"
diagnosticsStorageAccountConfig = {
blobEndpoint = "string"
protectedAccountKeyName = "string"
protectedAccountKeyName2 = "string"
queueEndpoint = "string"
storageAccountName = "string"
tableEndpoint = "string"
}
enableHttpGatewayExclusiveAuthMode = bool
eventStoreServiceEnabled = bool
fabricSettings = [
{
name = "string"
parameters = [
{
name = "string"
value = "string"
}
]
}
]
infrastructureServiceManager = bool
managementEndpoint = "string"
nodeTypes = [
{
applicationPorts = {
endPort = int
startPort = int
}
capacities = {
{customized property} = "string"
}
clientConnectionEndpointPort = int
durabilityLevel = "string"
ephemeralPorts = {
endPort = int
startPort = int
}
httpGatewayEndpointPort = int
httpGatewayTokenAuthEndpointPort = int
isPrimary = bool
isStateless = bool
multipleAvailabilityZones = bool
name = "string"
placementProperties = {
{customized property} = "string"
}
reverseProxyEndpointPort = int
vmInstanceCount = int
}
]
notifications = [
{
isEnabled = bool
notificationCategory = "string"
notificationLevel = "string"
notificationTargets = [
{
notificationChannel = "string"
receivers = [
"string"
]
}
]
}
]
reliabilityLevel = "string"
reverseProxyCertificate = {
thumbprint = "string"
thumbprintSecondary = "string"
x509StoreName = "string"
}
reverseProxyCertificateCommonNames = {
commonNames = [
{
certificateCommonName = "string"
certificateIssuerThumbprint = "string"
}
]
x509StoreName = "string"
}
sfZonalUpgradeMode = "string"
upgradeDescription = {
deltaHealthPolicy = {
applicationDeltaHealthPolicies = {
{customized property} = {
defaultServiceTypeDeltaHealthPolicy = {
maxPercentDeltaUnhealthyServices = int
}
serviceTypeDeltaHealthPolicies = {
{customized property} = {
maxPercentDeltaUnhealthyServices = int
}
}
}
}
maxPercentDeltaUnhealthyApplications = int
maxPercentDeltaUnhealthyNodes = int
maxPercentUpgradeDomainDeltaUnhealthyNodes = int
}
forceRestart = bool
healthCheckRetryTimeout = "string"
healthCheckStableDuration = "string"
healthCheckWaitDuration = "string"
healthPolicy = {
applicationHealthPolicies = {
{customized property} = {
defaultServiceTypeHealthPolicy = {
maxPercentUnhealthyServices = int
}
serviceTypeHealthPolicies = {
{customized property} = {
maxPercentUnhealthyServices = int
}
}
}
}
maxPercentUnhealthyApplications = int
maxPercentUnhealthyNodes = int
}
upgradeDomainTimeout = "string"
upgradeReplicaSetCheckTimeout = "string"
upgradeTimeout = "string"
}
upgradeMode = "string"
upgradePauseEndTimestampUtc = "string"
upgradePauseStartTimestampUtc = "string"
upgradeWave = "string"
vmImage = "string"
vmssZonalUpgradeMode = "string"
waveUpgradePaused = bool
}
}
}
속성 값
Microsoft.ServiceFabric/클러스터
| 이름 | 묘사 | 값 |
|---|---|---|
| 위치 | 리소스가 있는 지리적 위치 | string(필수) |
| 이름 | 리소스 이름 | string(필수) |
| 속성 | 클러스터 리소스 속성 | 클러스터 속성 |
| 태그 | 리소스 태그 | 태그 이름 및 값의 사전입니다. |
| 형 | 리소스 종류 | "Microsoft.ServiceFabric/clusters@2026-03-01-preview" |
응용 프로그램DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| defaultServiceTypeDeltaHealthPolicy | 클러스터를 업그레이드할 때 서비스 유형의 상태를 평가하는 데 기본적으로 사용되는 델타 상태 정책입니다. | ServiceTypeDeltaHealthPolicy |
| serviceTypeDeltaHealthPolicies | 서비스 유형 이름당 서비스 유형 델타 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | 애플리케이션DeltaHealthPolicyServiceTypeDeltaHealthPolicies |
애플리케이션DeltaHealthPolicyServiceTypeDeltaHealthPolicies
| 이름 | 묘사 | 값 |
|---|
응용 프로그램HealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| defaultServiceTypeHealthPolicy | 기본적으로 서비스 유형의 상태를 평가하는 데 사용되는 상태 정책입니다. | 서비스유형건강정책 |
| serviceTypeHealthPolicies | 서비스 유형 이름당 서비스 유형 상태 정책이 있는 맵입니다. 맵은 기본적으로 비어 있습니다. | ApplicationHealthPolicyServiceTypeHealthPolicies |
ApplicationHealthPolicyServiceTypeHealthPolicies
| 이름 | 묘사 | 값 |
|---|
ApplicationTypeVersionsCleanupPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| maxUnusedVersionsToKeep | 유지할 애플리케이션 유형당 사용되지 않는 버전 수입니다. | 정수 제약 조건: 최소값 = 0(필수) |
Azure액티브디렉토리
| 이름 | 묘사 | 값 |
|---|---|---|
| client응용 프로그램 | Azure Active Directory client application id. | 문자열 |
| clusterApplication | Azure Active Directory cluster application id. | 문자열 |
| 테넌트ID | Azure active directory tenant id. | 문자열 |
인증서설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 지문 | 기본 인증서의 지문입니다. | string(필수) |
| 지문보조 | 보조 인증서의 지문입니다. | 문자열 |
| x509StoreName | 로컬 인증서 저장소 위치입니다. | '주소록' '인증 루트' '인증 기관' '허용되지 않음' '나의' '뿌리' '신뢰할 수 있는 사람들' '신뢰할 수 있는 게시자' |
ClientCertificateCommonName
| 이름 | 묘사 | 값 |
|---|---|---|
| certificateCommonName | 클라이언트 인증서의 일반 이름입니다. | string(필수) |
| certificateIssuer지문 | 클라이언트 인증서의 발급자 지문입니다. | string(필수) |
| isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
클라이언트 인증서 지문
| 이름 | 묘사 | 값 |
|---|---|---|
| 인증서지문 | 클라이언트 인증서의 지문입니다. | string(필수) |
| isAdmin | 클라이언트 인증서에 클러스터에 대한 관리자 액세스 권한이 있는지를 나타냅니다. 관리자가 아닌 클라이언트는 클러스터에서 읽기 전용 작업만 수행할 수 있습니다. | bool(필수) |
클러스터HealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationHealthPolicies | 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 상태 정책 맵을 정의합니다. | 클러스터 건강 정책응용 건강 정책 |
| maxPercent비정상 응용 프로그램 | 오류를 보고하기 전에 허용되는 비정상 애플리케이션의 최대 백분율입니다. 예를 들어 10개% 애플리케이션이 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 애플리케이션의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 애플리케이션이 있는 경우 상태는 경고로 평가됩니다. 이는 ApplicationTypeHealthPolicyMap에 포함된 애플리케이션 유형의 애플리케이션을 제외하고 클러스터의 총 애플리케이션 인스턴스 수에 대한 비정상 애플리케이션 수를 나누어 계산합니다. 계산은 적은 수의 애플리케이션에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
| maxPercent비정상 노드 | 오류를 보고하기 전에 허용되는 비정상 노드의 최대 백분율입니다. 예를 들어 노드 10개% 비정상이 되도록 하려면 이 값은 10입니다. 백분율은 클러스터가 오류로 간주되기 전에 비정상일 수 있는 노드의 최대 허용 비율을 나타냅니다. 백분율이 존중되지만 하나 이상의 비정상 노드가 있는 경우 상태는 경고로 평가됩니다. 백분율은 클러스터의 총 노드 수에 대한 비정상 노드 수를 나누어 계산됩니다. 계산은 적은 수의 노드에서 하나의 오류를 허용하도록 반올림됩니다. 기본 백분율은 0입니다. 큰 클러스터에서 일부 노드는 항상 복구를 위해 중단되거나 중단되므로 이 백분율은 이를 허용하도록 구성해야 합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
클러스터 건강 정책응용 건강 정책
| 이름 | 묘사 | 값 |
|---|
클러스터 속성
| 이름 | 묘사 | 값 |
|---|---|---|
| 애드온 기능 | 클러스터에서 사용하도록 설정할 추가 기능 목록입니다. | 다음 중 어느 것을 포함하는 문자열 배열: '백업 복원 서비스' 'DNSSERVICE' '복구 관리자' '리소스 모니터 서비스' |
| applicationTypeVersionsCleanupPolicy | 사용되지 않는 버전을 정리하는 데 사용되는 정책입니다. | ApplicationTypeVersionsCleanupPolicy |
| azureActiveDirectory | 클러스터의 AAD 인증 설정입니다. | AzureActiveDirectory |
| 증명서 | 클러스터 보안에 사용할 인증서입니다. 제공된 인증서는 클러스터 내의 노드 간 보안, 클러스터 관리 엔드포인트용 SSL 인증서 및 기본 관리 클라이언트에 사용됩니다. | 인증서설명 |
| certificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames (서버인증서커먼네임) |
| clientCertificateCommonNames | 클러스터를 관리할 수 있는 일반 이름으로 참조되는 클라이언트 인증서 목록입니다. | 클라이언트인증서커먼네임[] |
| clientCertificateThumbprints | 클러스터를 관리할 수 있는 지문으로 참조되는 클라이언트 인증서 목록입니다. | 클라이언트인증서지문[] |
| clusterCodeVersion | 클러스터의 Service Fabric 런타임 버전입니다. 이 속성은 upgradeMode 'Manual'으로 설정된 경우에만 사용자를 설정할 수 있습니다. 새 클러스터에 사용 가능한 Service Fabric 버전 목록을 얻으려면 ClusterVersion API사용합니다. 기존 클러스터에 사용 가능한 버전 목록을 얻으려면 사용 가능한ClusterVersions사용합니다. | 문자열 |
| diagnosticsStorageAccountConfig | Service Fabric 진단 로그를 저장하기 위한 스토리지 계정 정보입니다. | 진단StorageAccountConfig |
| enableHttpGatewayExclusiveAuthMode | true이면 HttpGatewayEndpoint에서 토큰 기반 인증이 허용되지 않습니다. 이는 TLS 버전 1.3 이상을 지원하는 데 필요합니다. 토큰 기반 인증을 사용하는 경우 HttpGatewayTokenAuthEndpointPort를 정의해야 합니다. | 부울 |
| eventStoreService활성화됨 | 이벤트 저장소 서비스를 사용할 수 있는지를 나타냅니다. | 부울 |
| fabric설정 | 클러스터를 구성할 사용자 지정 패브릭 설정 목록입니다. | 설정섹션설명[] |
| 인프라서비스매니저 | 인프라 서비스 관리자를 사용할 수 있는지를 나타냅니다. | 부울 |
| 관리엔드포인트 | 클러스터의 http 관리 엔드포인트입니다. | string(필수) |
| 노드 유형 | 클러스터의 노드 형식 목록입니다. | NodeTypeDescription[] (필수) |
| 알림을 | 클러스터 이벤트에 대한 알림 채널 목록을 나타냅니다. | 알림[] |
| 신뢰성 수준 | 안정성 수준은 시스템 서비스의 복제본 집합 크기를 설정합니다.
ReliabilityLevel대해 알아봅니다. - 없음 - 대상 복제본 집합 수가 1인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Bronze - 대상 복제본 집합 수가 3인 시스템 서비스를 실행합니다. 테스트 클러스터에만 사용해야 합니다. - Silver - 대상 복제본 집합 수가 5인 시스템 서비스를 실행합니다. - Gold - 대상 복제본 집합 수가 7인 시스템 서비스를 실행합니다. - Platinum - 대상 복제본 집합 수가 9인 시스템 서비스를 실행합니다. |
'브론즈' '골드' '없음' '플래티넘' '실버' |
| reverseProxy인증서 | 역방향 프록시에서 사용하는 서버 인증서입니다. | 인증서설명 |
| reverseProxyCertificateCommonNames | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서의 목록을 설명합니다. | ServerCertificateCommonNames (서버인증서커먼네임) |
| sfZonal업그레이드 모드 | 이 속성은 업그레이드 도메인(UD)에서 VM의 논리적 그룹을 제어합니다. 클러스터에 이미 여러 개의 Availability Zones를 가진 노드 유형이 있다면 이 속성은 수정할 수 없습니다. | '계층적' '병렬' |
| 업그레이드설명 | 클러스터를 업그레이드할 때 사용할 정책입니다. | clusterUpgradePolicy |
| upgradeMode | 새 Service Fabric 런타임 버전을 사용할 수 있는 경우 클러스터의 업그레이드 모드입니다. | '자동' '수동' |
| upgradePauseEndTimestampUtc | 클러스터에서 특정 기간 동안 클러스터에서 자동 런타임 버전 업그레이드를 일시 중지하는 종료 날짜 및 시간을 나타냅니다(UTC). | 문자열 |
| upgradePauseStartTimestampUtc | 클러스터에서 특정 기간 동안 클러스터에서 자동 런타임 버전 업그레이드를 일시 중지하는 시작 날짜 및 시간을 나타냅니다(UTC). | 문자열 |
| 업그레이드웨이브 | 새 클러스터 런타임 버전 업그레이드가 릴리스된 후 적용되는 시기를 나타냅니다. 기본적으로 Wave0입니다. upgradeMode 'Automatic'으로 설정된 경우에만 적용됩니다. | '웨이브0' '웨이브1' '웨이브2' |
| vm이미지 | VM 이미지 VMSS가 구성되었습니다. Windows나 Linux와 같은 일반적인 이름도 사용할 수 있습니다. | 문자열 |
| vmssZonalUpgradeMode | 이 속성은 가상 머신 스케일 세트의 업그레이드 모드를 정의하며, 여러 개의 Availability Zones를 가진 노드 유형이 추가될 경우 반드시 필요합니다. | '계층적' '병렬' |
| wave업그레이드일시정지 | 클러스터에 대한 자동 런타임 버전 업그레이드를 일시 중지하는 부울입니다. | 부울 |
클러스터업그레이드DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationDeltaHealthPolicies | 클러스터를 업그레이드할 때 애플리케이션 또는 해당 자식 엔터티 중 하나의 상태를 평가하는 데 사용되는 애플리케이션 델타 상태 정책 맵을 정의합니다. | 클러스터 업그레이드 Delta HealthPolicyApplicationDelta HealthPolicies |
| maxPercentDelta비정상 응용 프로그램 | 클러스터 업그레이드 중에 허용되는 최대 애플리케이션 상태 저하 비율입니다. 델타는 업그레이드 시작 시 애플리케이션의 상태와 상태 평가 시 애플리케이션의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. 시스템 서비스는 이에 포함되지 않습니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
| maxPercentDelta비정상 노드 | 클러스터 업그레이드 중에 허용되는 최대 노드 상태 저하 비율입니다. 델타는 업그레이드 시작 시 노드의 상태와 상태 평가 시 노드 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
| maxPercentUpgradeDomainDelta비정상 노드 | 클러스터 업그레이드 중에 허용되는 업그레이드 도메인 노드 상태 저하의 최대 허용 비율입니다. 델타는 업그레이드 시작 시 업그레이드 도메인 노드의 상태와 상태 평가 시 업그레이드 도메인 노드의 상태 간에 측정됩니다. 업그레이드 도메인의 상태가 허용되는 한도 내에 있는지 확인하기 위해 완료된 모든 업그레이드 도메인에 대해 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행됩니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100(필수) |
클러스터 업그레이드 Delta HealthPolicyApplicationDelta HealthPolicies
| 이름 | 묘사 | 값 |
|---|
클러스터 업그레이드 정책
| 이름 | 묘사 | 값 |
|---|---|---|
| deltaHealth정책 | 클러스터를 업그레이드할 때 사용되는 클러스터 델타 상태 정책입니다. | 클러스터업그레이드DeltaHealthPolicy |
| forceRestart | true이면 코드 버전이 변경되지 않은 경우에도 업그레이드 중에 프로세스가 강제로 다시 시작됩니다(업그레이드는 구성 또는 데이터만 변경됨). | 부울 |
| healthCheckRetryTimeout | 업그레이드가 롤백되기 전에 애플리케이션 또는 클러스터가 비정상일 때 상태 평가를 다시 시도하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| healthCheckStableDuration (영문) | 업그레이드가 다음 업그레이드 도메인으로 진행되기 전에 애플리케이션 또는 클러스터가 정상 상태를 유지해야 하는 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| healthCheckWait기간 | 상태 검사를 수행하기 전에 업그레이드 도메인을 완료한 후 대기할 시간입니다. 기간은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| 건강 정책 | 클러스터를 업그레이드할 때 사용되는 클러스터 상태 정책입니다. | ClusterHealthPolicy(필수) |
| upgradeDomainTimeout(영문) | 업그레이드가 롤백되기 전에 각 업그레이드 도메인을 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| upgradeReplicaSetCheckTimeout | 업그레이드 도메인의 처리를 차단하고 예기치 않은 문제가 발생할 때 가용성 손실을 방지하는 최대 시간입니다. 이 시간 제한이 만료되면 가용성 손실 문제에 관계없이 업그레이드 도메인의 처리가 진행됩니다. 시간 제한은 각 업그레이드 도메인의 시작 부분에 다시 설정됩니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
| 업그레이드 타임아웃 | 업그레이드가 롤백되기 전에 전체 업그레이드를 완료해야 하는 시간입니다. 시간 제한은 hh:mm:ss 또는 d.hh:mm:ss.ms 형식일 수 있습니다. | string(필수) |
진단StorageAccountConfig
| 이름 | 묘사 | 값 |
|---|---|---|
| blob엔드포인트 | Azure Storage 계정의 Blob 엔드포인트입니다. | string(필수) |
| protectedAccountKeyName | 보호된 진단 스토리지 키 이름입니다. | string(필수) |
| protectedAccountKeyName2 | 보조 보호된 진단 스토리지 키 이름입니다. 스토리지 계정 키 중 하나가 회전되면 클러스터는 다른 키를 사용하는 것으로 대체됩니다. | 문자열 |
| 큐엔드포인트 | Azure Storage 계정의 큐 엔드포인트입니다. | string(필수) |
| 스토리지 계정 이름 | Azure 스토리지 계정 이름입니다. | string(필수) |
| 테이블 엔드포인트 | Azure Storage 계정의 테이블 엔드포인트입니다. | string(필수) |
엔드포인트 범위 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 엔드포트 | 포트 범위의 끝 포트 | int(필수) |
| 스타트포트 | 포트 범위의 시작 포트 | int(필수) |
노드 유형 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| applicationPorts | 클러스터가 Service Fabric 애플리케이션에 포트를 할당한 포트 범위입니다. | 엔드포인트 범위 설명 |
| 용량 | 노드 형식의 노드에 적용되는 용량 태그인 클러스터 리소스 관리자는 이러한 태그를 사용하여 노드에 있는 리소스의 양을 이해합니다. | nodeTypeDescriptionCapacities |
| clientConnectionEndpointPort | TCP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
| 내구성 수준 | 노드 형식의 내구성 수준입니다. DurabilityLevel - 브론즈 - 권한이 없습니다. 기본값입니다. - Silver - UD당 10분 동안 인프라 작업을 일시 중지할 수 있습니다. - 골드 - 인프라 작업은 UD당 2시간 동안 일시 중지할 수 있습니다. 골드 내구성은 D15_V2, G5 등과 같은 전체 노드 VM sku에서만 사용할 수 있습니다. |
'브론즈' '골드' '실버' |
| 임시 포트 | 이 노드 형식의 노드를 구성해야 하는 임시 포트의 범위입니다. | 엔드포인트 범위 설명 |
| httpGateway엔드포인트포트 | HTTP 클러스터 관리 엔드포인트 포트입니다. | int(필수) |
| httpGatewayTokenAuthEndpointPort | 클러스터에 대한 토큰 인증 기반 HTTPS 연결에 사용되는 포트입니다. HttpGatewayEndpoint와 동일한 포트로 설정할 수 없습니다. | 정수 (int) |
| 기본 | 시스템 서비스가 실행될 노드 유형입니다. 하나의 노드 형식만 기본으로 표시되어야 합니다. 기본 노드 유형은 기존 클러스터에 대해 삭제하거나 변경할 수 없습니다. | bool(필수) |
| isStateless | 노드 유형이 상태 비지정 워크로드만 호스트할 수 있는지를 나타냅니다. | 부울 |
| multipleAvailabilityZones | 노드 유형이 여러 영역을 지원할 수 있는지를 나타냅니다. | 부울 |
| 이름 | 노드 형식의 이름입니다. | string(필수) |
| placementProperties | 노드 형식의 노드에 적용되는 배치 태그로, 특정 서비스(워크로드)가 실행되어야 하는 위치를 나타내는 데 사용할 수 있습니다. | NodeTypeDescriptionPlacementProperties |
| reverseProxy엔드포인트포트 | 역방향 프록시에서 사용하는 엔드포인트입니다. | 정수 (int) |
| vmInstanceCount | VMInstanceCount는 1에서 n이어야 합니다. 여기서 n은 이 nodeType에 해당하는 VM 인스턴스의 수를 나타냅니다. VMInstanceCount = 0은 다음 시나리오에서만 수행할 수 있습니다. NodeType은 보조 nodeType입니다. 내구성 = Bronze 또는 Durability >= Bronze and InfrastructureServiceManager = true입니다. VMInstanceCount = 0이면 이 nodeType에 대한 VM이 초기 클러스터 크기 계산에 사용되지 않음을 의미합니다. | 정수 제약 조건: 최소값 = 0 최대값 = 2147483647(필수) |
노드 유형 설명용량
| 이름 | 묘사 | 값 |
|---|
NodeTypeDescriptionPlacementProperties
| 이름 | 묘사 | 값 |
|---|
통지
| 이름 | 묘사 | 값 |
|---|---|---|
| 활성화됨 | 알림을 사용할 수 있는지를 나타냅니다. | bool(필수) |
| notificationCategory | 알림의 범주입니다. | 'WaveProgress'(필수) |
| notificationLevel | 알림 수준입니다. | '모두' 'Critical'(필수) |
| notification타겟 | 알림을 구독하는 대상 목록입니다. | NotificationTarget[] (필수) |
알림 대상
| 이름 | 묘사 | 값 |
|---|---|---|
| notificationChannel | 알림 채널은 알림을 구독하는 수신자 유형(사용자 또는 구독)을 나타냅니다. | '이메일 구독' 'EmailUser'(필수) |
| 수신기 | 알림을 구독하는 대상 목록입니다. | string[] (필수) |
ServerCertificateCommonName
| 이름 | 묘사 | 값 |
|---|---|---|
| certificateCommonName | 서버 인증서의 일반 이름입니다. | string(필수) |
| certificateIssuer지문 | 서버 인증서의 발급자 지문입니다. | string(필수) |
ServerCertificateCommonNames (서버인증서커먼네임)
| 이름 | 묘사 | 값 |
|---|---|---|
| 일반 이름 | 클러스터를 보호하는 데 사용되는 일반 이름으로 참조되는 서버 인증서 목록입니다. | 서버 인증서커먼 이름[] |
| x509StoreName | 로컬 인증서 저장소 위치입니다. | '주소록' '인증 루트' '인증 기관' '허용되지 않음' '나의' '뿌리' '신뢰할 수 있는 사람들' '신뢰할 수 있는 게시자' |
서비스 유형DeltaHealthPolicy
| 이름 | 묘사 | 값 |
|---|---|---|
| maxPercentDelta비건강 서비스 | 클러스터 업그레이드 중에 허용되는 최대 서비스 상태 저하 비율입니다. 델타는 업그레이드 시작 시 서비스 상태와 상태 평가 시 서비스의 상태 간에 측정됩니다. 업그레이드 도메인 업그레이드가 완료될 때마다 확인이 수행되어 클러스터의 전역 상태가 허용되는 제한 내에 있는지 확인합니다. |
정수 제약 조건: 최소값 = 0 최대값 = 100 |
서비스유형건강정책
| 이름 | 묘사 | 값 |
|---|---|---|
| maxPercent비건강서비스 | 애플리케이션이 오류로 간주되기 전에 비정상으로 허용되는 서비스의 최대 비율입니다. | 정수 제약 조건: 최소값 = 0 최대값 = 100 |
설정매개 변수 설명
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 패브릭 설정의 매개 변수 이름입니다. | string(필수) |
| 값 | 패브릭 설정의 매개 변수 값입니다. | string(필수) |
SettingsSectionDescription
| 이름 | 묘사 | 값 |
|---|---|---|
| 이름 | 패브릭 설정의 섹션 이름입니다. | string(필수) |
| 매개 변수 | 섹션의 매개 변수 컬렉션입니다. | SettingsParameterDescription[] (필수) |
TrackedResource태그
| 이름 | 묘사 | 값 |
|---|
사용 예제
Terraform 샘플
Service Fabric 클러스터 배포의 기본 예제입니다.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "location" {
type = string
default = "westeurope"
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
location = var.location
}
resource "azapi_resource" "cluster" {
type = "Microsoft.ServiceFabric/clusters@2021-06-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
location = var.location
body = {
properties = {
addOnFeatures = [
]
fabricSettings = [
]
managementEndpoint = "http://example:80"
nodeTypes = [
{
capacities = {
}
clientConnectionEndpointPort = 2020
durabilityLevel = "Bronze"
httpGatewayEndpointPort = 80
isPrimary = true
isStateless = false
multipleAvailabilityZones = false
name = "first"
placementProperties = {
}
vmInstanceCount = 3
},
]
reliabilityLevel = "Bronze"
upgradeMode = "Automatic"
vmImage = "Windows"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}