Microsoft.ServiceFabric 클러스터

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노드 유형의 보안 클러스터를 배포

Azure
이 템플릿을 통해 Standard_D2 크기의 VM Windows Server 2016 데이터 센터에서 실행 중인 안전한 3노드 타입 서비스 패브릭 클러스터를 배포할 수 있습니다. 이 템플릿을 사용하면 네트워크 보안 그룹을 사용하여 인바운드 및 아웃바운드 네트워크 트래픽을 제어할 수 있습니다.
5노드 보안 클러스터 배포

Azure
이 템플릿은 Standard_D2_v2 크기의 VMSS에서 데이터센터Windows Server 2019 실행되는 안전한 5노드 서비스 패브릭 클러스터를 배포할 수 있게 해줍니다.
5노드 Ubuntu 서비스 패브릭 클러스터

Azure
이 템플릿을 사용하면 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    = ["*"]
}