Share via


Azure Well-Architected Framework 검토 - Azure Service Fabric

Azure Service Fabric은 신뢰할 수 있는 확장 가능한 마이크로 서비스 및 컨테이너를 쉽게 패키징하고 배포하고 관리할 수 있는 분산 시스템 플랫폼입니다. 이러한 리소스는 클러스터라고 하는 가상 또는 물리적 컴퓨터의 네트워크에 연결된 집합에 배포됩니다.

Azure Service Fabric에는 표준 클러스터 및 관리형 클러스터 라는 두 개의 클러스터 모델이 있습니다.

표준 클러스터를 사용하려면 여러 지원 리소스와 함께 클러스터 리소스를 정의해야 합니다. 이러한 리소스는 배포 시 올바르게 설정되어야 하며 클러스터의 수명 주기 동안 올바르게 유지 관리되어야 합니다. 그렇지 않으면 클러스터와 서비스가 제대로 작동하지 않습니다.

관리형 클러스터는 배포 및 관리 작업을 간소화합니다. 관리형 클러스터 모델은 기본 리소스를 캡슐화하고 추상화하는 단일 Service Fabric 관리형 클러스터 리소스로 구성됩니다.

이 문서에서는 주로 단순성을 위해 관리형 클러스터 모델에 대해 설명합니다. 그러나 표준 클러스터 모델에 적용되는 특별한 고려 사항에 대해 호출이 수행됩니다.

이 문서에서는 Azure Service Fabric에 대한 아키텍처 모범 사례를 알아봅니다. 이 지침은 아키텍처 우수성의 다섯 가지 핵심 요소를 기반으로 합니다.

  • 안정성
  • 보안
  • 비용 최적화
  • 운영 우수성
  • 성능 효율성

사전 요구 사항

안정성

다음 섹션에서는 Azure Service Fabric 및 안정성과 관련된 디자인 고려 사항 및 구성 권장 사항을 다룹니다.

Azure Service Fabric과 안정성을 논의할 때 클러스터 안정성워크로드 안정성을 구분하는 것이 중요합니다. 클러스터 안정성은 Service Fabric 클러스터 관리자와 해당 리소스 공급자 간의 공유 책임이며 워크로드 안정성은 개발자의 도메인입니다. Azure Service Fabric에는 이러한 두 역할에 대한 고려 사항과 권장 사항이 있습니다.

아래 의 디자인 검사 목록권장 사항 목록에서 각 선택이 클러스터 아키텍처, 워크로드 아키텍처 또는 둘 다에 적용 가능한지 여부를 나타내기 위해 호출이 수행됩니다.

Azure Service Fabric 클러스터 안정성에 대한 자세한 내용은 용량 계획 설명서를 검사.

Azure Service Fabric 워크로드 안정성에 대한 자세한 내용은 Service Fabric 아키텍처에 포함된 안정성 하위 시스템을 참조하세요.

디자인 검사 목록

Azure Service Fabric에 대한 디자인을 선택할 때 아키텍처에 안정성을 추가하기 위한 디자인 원칙 을 검토합니다.

  • 클러스터 아키텍처: 프로덕션 시나리오에 표준 SKU 를 사용합니다. 표준 클러스터: 프로덕션 시나리오에 내구성 수준 Silver (5개 VM) 이상을 사용합니다.
  • 클러스터 아키텍처: 중요한 워크로드의 경우 Service Fabric 클러스터에 가용성 영역 사용하는 것이 좋습니다.
  • 클러스터 아키텍처: 프로덕션 시나리오의 경우 표준 계층 부하 분산 장치를 사용합니다. 관리형 클러스터는 주 및 보조 노드 유형 모두에 대해 고정적인 공용 IP를 사용하여 Azure 공용 표준 Load Balancer 및 정규화된 도메인 이름을 만듭니다. 기본 및 표준 SKU 부하 분산 장치를 모두 지원하는 고유한 부하 분산 장치를 가져올 수도 있습니다.
  • 클러스터 아키텍처: 워크로드에 대한 추가 보조 노드 유형을 만듭니다.

권장 사항

Azure Service Fabric 구성을 최적화하여 서비스 안정성을 높일 수 있도록 다음 권장 사항 표를 살펴보세요.

Azure Service Fabric 권장 사항 혜택
클러스터 아키텍처: 프로덕션 시나리오에 표준 SKU를 사용합니다. 이 수준은 리소스 공급자가 클러스터 안정성을 유지하도록 합니다. 표준 클러스터: 표준 SKU 관리형 클러스터는 내구성 수준 Silver에 해당합니다. 표준 클러스터 모델을 사용하여 이를 달성하려면 5개 이상의 VM을 사용해야 합니다.
클러스터 아키텍처: Service Fabric 클러스터에 가용성 영역 사용하는 것이 좋습니다. Service Fabric 관리형 클러스터는 영역 복원력을 제공하기 위해 여러 가용성 영역에 걸쳐 배포를 지원합니다. 이 구성은 단일 장애 지점으로부터 보호할 중요한 시스템 서비스 및 애플리케이션의 고가용성을 보장합니다.
클러스터 아키텍처: Azure API Management 사용하여 클러스터에서 호스트되는 API에 대한 교차 절단 기능을 노출하고 오프로드하는 것이 좋습니다. API Management는 Service Fabric과 직접 통합할 수 있습니다.
워크로드 아키텍처: 상태 저장 워크로드 시나리오의 경우 Reliable Services를 사용하는 것이 좋습니다. Reliable Services 모델을 사용하면 컴퓨터가 실패하거나 네트워크 문제가 발생하는 신뢰할 수 없는 환경이나 서비스 자체에서 오류와 충돌 또는 실패가 발생하는 경우에도 서비스를 유지할 수 있습니다. 상태 저장 서비스의 상태는 네트워크 또는 다른 오류가 있는 경우에도 유지됩니다.

더 많은 제안은 안정성 핵심 요소의 원칙을 참조하세요.

보안

다음 섹션에서는 Azure Service Fabric 및 보안과 관련된 디자인 고려 사항 및 구성 권장 사항을 다룹니다.

Azure Service Fabric과 보안을 논의할 때 클러스터 보안워크로드 보안을 구분하는 것이 중요합니다. 클러스터 보안은 Service Fabric 클러스터 관리자와 해당 리소스 공급자 간의 공동 책임이며 워크로드 보안은 개발자의 도메인입니다. Azure Service Fabric에는 이러한 두 역할에 대한 고려 사항과 권장 사항이 있습니다.

아래 의 디자인 검사 목록권장 사항 목록에서 각 선택이 클러스터 아키텍처, 워크로드 아키텍처 또는 둘 다에 적용 가능한지 여부를 나타내기 위해 호출이 수행됩니다.

Azure Service Fabric 클러스터 보안에 대한 자세한 내용은 Service Fabric 클러스터 보안 시나리오를 검사.

Azure Service Fabric 워크로드 보안에 대한 자세한 내용은 Service Fabric 애플리케이션 및 서비스 보안을 참조하세요.

디자인 검사 목록

Azure Service Fabric에 대한 디자인을 선택할 때 아키텍처에 보안을 추가하기 위한 디자인 원칙 을 검토합니다.

  • 클러스터 아키텍처: NSG(네트워크 보안 그룹)가 서브넷과 노드 유형 간의 트래픽 흐름을 제한하도록 구성되어 있는지 확인합니다. 애플리케이션 배포 및 워크로드에 대해 올바른 포트 가 열려 있는지 확인합니다.
  • 클러스터 아키텍처: Service Fabric 비밀 저장소를 사용하여 비밀을 배포하는 경우 별도의 데이터 암호화 인증서를 사용하여 값을 암호화합니다.
  • 클러스터 아키텍처:Azure Key Vault 추가하고 배포에서 URI를 참조하여 클라이언트 인증서를 배포합니다.
  • 클러스터 아키텍처: 클러스터에 Microsoft Entra 통합을 사용하도록 설정하여 사용자가 Microsoft Entra 자격 증명을 사용하여 Service Fabric Explorer 액세스할 수 있도록 합니다. 사용자 간에 클러스터 클라이언트 인증서를 배포하여 Explorer 액세스하지 마세요.
  • 클러스터 아키텍처: 클라이언트 인증의 경우 관리자 및 읽기 전용 클라이언트 인증서 및/또는 Microsoft Entra 인증을 사용합니다.
  • 클러스터 및 워크로드 아키텍처: 클라이언트 인증서의 만료 날짜를 모니터링하는 프로세스를 만듭니다.
  • 클러스터 및 워크로드 아키텍처: 개발, 스테이징 및 프로덕션을 위해 별도의 클러스터를 유지 관리합니다.

권장 사항

보안을 위해 Azure Service Fabric 구성을 최적화하려면 다음 권장 사항을 고려하세요.

Azure Service Fabric 권장 사항 혜택
클러스터 아키텍처: NSG(네트워크 보안 그룹)가 서브넷과 노드 유형 간의 트래픽 흐름을 제한하도록 구성되어 있는지 확인합니다. 예를 들어 API Management instance(하나의 서브넷), 프런트 엔드 서브넷(웹 사이트를 직접 노출) 및 백 엔드 서브넷(프런트 엔드에서만 액세스할 수 있음)이 있을 수 있습니다.
클러스터 아키텍처: Service Fabric 클러스터 가상 머신 확장 집합에 Key Vault 인증서를 배포합니다. Azure Key Vault에 애플리케이션 비밀을 중앙 집중식으로 스토리지하면 배포를 제어할 수 있습니다. Key Vault를 사용하면 비밀이 우발적으로 유출될 가능성이 대폭 감소합니다.
클러스터 아키텍처: Service Fabric 클러스터의 클라이언트 인증서에 ACL(Access Control 목록)을 적용합니다. ACL을 사용하면 추가 수준의 인증이 제공됩니다.
클러스터 아키텍처:리소스 요청 및 제한을 사용하여 클러스터의 노드에서 리소스 사용량을 제어합니다. 리소스 제한을 적용하면 한 서비스에서 너무 많은 리소스를 사용하고 다른 서비스를 굶주리지 않도록 할 수 있습니다.
워크로드 아키텍처: Service Fabric 패키지 비밀 값을 암호화합니다. 비밀 값에 대한 암호화는 추가 수준의 보안을 제공합니다.
워크로드 아키텍처: Service Fabric 애플리케이션에 클라이언트 인증서를 포함합니다. 애플리케이션이 인증에 클라이언트 인증서를 사용하도록 하면 클러스터 및 워크로드 수준 모두에서 보안을 위한 기회가 제공됩니다.
워크로드 아키텍처:관리 ID를 사용하여 Azure 리소스에 Service Fabric 애플리케이션을 인증합니다. 관리 ID를 사용하면 개발자 워크스테이션 또는 소스 제어에 로컬로 저장하지 않고도 다양한 서비스에 인증하기 위해 코드의 자격 증명을 안전하게 관리할 수 있습니다.
클러스터 및 워크로드 아키텍처: 신뢰할 수 없는 애플리케이션 을 호스팅할 때 Service Fabric 모범 사례를 따릅니다. 모범 사례에 따라 따라야 할 보안 표준을 제공합니다.

더 많은 제안 사항은 보안 핵심 요소의 원칙을 참조하세요.

Azure Advisor는 Azure Service Fabric의 보안을 보장하고 개선하는 데 도움이 됩니다. 이 문서의 Azure Advisor 섹션에서 권장 사항을 검토할 수 있습니다.

정책 정의

Azure Policy 조직 표준을 유지하고 리소스 전체에서 규정 준수를 평가하는 데 도움이 됩니다. Azure Service Fabric을 구성할 때 다음 기본 제공 정책을 염두에 두어야 합니다.

  • Service Fabric 클러스터에는 ClusterProtectionLevel 속성이 로 EncryptAndSign설정되어 있어야 합니다. 관리형 클러스터의 기본값이며 변경할 수 없습니다. 표준 클러스터: ClusterProtectionLevel을 로 설정해야 합니다 EncryptAndSign.
  • Service Fabric 클러스터는 클라이언트 인증에 Microsoft Entra ID만 사용해야 합니다.

Azure Service Fabric과 관련된 모든 기본 제공 정책 정의는 기본 제공 정책 - Service Fabric에 나열됩니다.

비용 최적화

다음 섹션에서는 Azure Service Fabric 및 비용 최적화와 관련된 디자인 고려 사항 및 구성 권장 사항을 다룹니다.

Azure Service Fabric과 비용 최적화를 논의할 때 클러스터 리소스 비용과워크로드 리소스 비용을 구분하는 것이 중요합니다. 클러스터 리소스는 Service Fabric 클러스터 관리자와 해당 리소스 공급자 간의 공동 책임이며 워크로드 리소스는 개발자의 도메인입니다. Azure Service Fabric에는 이러한 두 역할에 대한 고려 사항 및 권장 사항이 있습니다.

아래 의 디자인 검사 목록권장 사항 목록에서 각 선택이 클러스터 아키텍처, 워크로드 아키텍처 또는 둘 다에 적용 가능한지 여부를 나타내기 위해 호출이 수행됩니다.

클러스터 비용 최적화를 위해 Azure 가격 계산기로 이동하여 사용 가능한 제품에서 Azure Service Fabric 을 선택합니다. 계산기에서 다양한 구성 및 결제 계획을 테스트할 수 있습니다.

Azure Service Fabric 워크로드 가격 책정에 대한 자세한 내용은 애플리케이션 계획에 대한 예제 비용 계산 프로세스를 검사.

디자인 검사 목록

Azure Service Fabric에 대한 디자인을 선택할 때 아키텍처 비용을 최적화하기 위한 디자인 원칙 을 검토합니다.

  • 클러스터 아키텍처: 적절한 VM SKU를 선택합니다.
  • 클러스터 아키텍처: 적절한 노드 유형 및 크기를 사용합니다.
  • 클러스터 및 워크로드 아키텍처: 적절한 관리 디스크 계층 및 크기를 사용합니다.

권장 사항

비용을 위해 Azure Service Fabric 구성을 최적화하려면 다음 권장 사항 표를 살펴보세요.

Azure Service Fabric 권장 사항 혜택
클러스터 아키텍처: 임시 디스크 제품으로 VM SKU를 사용하지 마세요. Service Fabric은 기본적으로 관리 디스크를 사용하므로 임시 디스크 제품을 피하면 불필요한 리소스에 대한 비용을 지불하지 않습니다.
클러스터 아키텍처: 용량상의 이유로 특정 VM SKU를 선택해야 하고 임시 디스크를 제공하는 경우 상태 비정상 워크로드에 임시 디스크 지원을 사용하는 것이 좋습니다. 지불하는 리소스를 최대한 활용합니다. 관리 디스크 대신 임시 디스크를 사용하면 상태 비정상 워크로드에 대한 비용을 줄일 수 있습니다.
클러스터 및 워크로드 아키텍처: SKU 선택 및 관리 디스크 크기를 워크로드 요구 사항에 맞춥니다. 선택 항목을 워크로드 요구와 일치하면 불필요한 리소스에 대한 비용을 지불하지 않습니다.

자세한 제안은 비용 최적화 핵심 요소의 원칙을 참조하세요.

운영 우수성

다음 섹션에서는 Azure Service Fabric 및 운영 우수성과 관련된 디자인 고려 사항 및 구성 권장 사항을 다룹니다.

Azure Service Fabric과 보안을 논의할 때 클러스터 작업워크로드 작업을 구분하는 것이 중요합니다. 클러스터 작업은 Service Fabric 클러스터 관리자와 해당 리소스 공급자 간의 공동 책임이며 워크로드 작업은 개발자의 도메인입니다. Azure Service Fabric에는 이러한 두 역할에 대한 고려 사항 및 권장 사항이 있습니다.

아래 의 디자인 검사 목록권장 사항 목록에서 각 선택이 클러스터 아키텍처, 워크로드 아키텍처 또는 둘 다에 적용 가능한지 여부를 나타내기 위해 호출이 수행됩니다.

디자인 검사 목록

Azure Service Fabric에 대한 디자인을 선택할 때 운영 우수성에 대한 디자인 원칙을 검토합니다 .

권장 사항

운영 우수성을 위해 Azure Service Fabric 구성을 최적화하기 위한 다음 권장 사항 표를 살펴보세요.

Azure Service Fabric 권장 사항 혜택
워크로드 아키텍처:Application Insights를 사용하여 워크로드를 모니터링합니다. Application Insights는 Service Fabric을 비롯한 Azure 플랫폼과 통합됩니다.
클러스터 및 워크로드 아키텍처: 클라이언트 인증서의 만료 날짜를 모니터링하는 프로세스를 만듭니다. 예를 들어 Key Vault는 인증서 수명의 x%가 경과하면 이메일을 보내는 기능을 제공합니다.
클러스터 및 워크로드 아키텍처: 사전 프로덕션 클러스터의 경우 Azure Chaos Studio를 사용하여 Virtual Machine Scale Set instance 오류에 대한 서비스 중단을 드릴합니다. 서비스 중단 시나리오를 연습하면 인프라의 위험에 처한 항목과 문제가 발생할 경우 문제를 가장 잘 완화하는 방법을 이해하는 데 도움이 됩니다.
클러스터 및 워크로드 아키텍처:Azure Monitor를 사용하여 클러스터 및 컨테이너 인프라 이벤트를 모니터링합니다. Azure Monitor는 Service Fabric을 비롯한 Azure 플랫폼과 잘 통합됩니다.
클러스터 및 워크로드 아키텍처:연속 통합 및 배포 솔루션에 Azure Pipelines를 사용합니다. Azure Pipelines는 Service Fabric을 비롯한 Azure 플랫폼과 잘 통합됩니다.

더 많은 제안은 운영 우수성 핵심 요소의 원칙을 참조하세요.

성능 효율성

다음 섹션에서는 Azure Service Fabric 및 성능 효율성과 관련된 구성 권장 사항에 대해 설명합니다.

Azure Service Fabric과 보안을 논의할 때 클러스터 작업워크로드 작업을 구분하는 것이 중요합니다. 클러스터 성능은 Service Fabric 클러스터 관리자와 해당 리소스 공급자 간의 공동 책임이며 워크로드 성능은 개발자의 도메인입니다. Azure Service Fabric에는 이러한 두 역할에 대한 고려 사항 및 권장 사항이 있습니다.

아래 의 디자인 검사 목록권장 사항 목록에서 각 선택이 클러스터 아키텍처, 워크로드 아키텍처 또는 둘 다에 적용 가능한지 여부를 나타내기 위해 호출이 수행됩니다.

Azure Service Fabric이 Service Fabric 성능 카운터를 사용하여 워크로드의 성능 문제를 줄이는 방법에 관한 자세한 내용은 Azure Service Fabric에 대한 모니터링 및 진단 모범 사례를 참조하세요.

디자인 검사 목록

권장 사항

성능 효율성을 위해 Azure Service Fabric 구성을 최적화하려면 다음 권장 사항을 고려하세요.

Azure Service Fabric 권장 사항 혜택
클러스터 아키텍처: 성능을 향상시키기 위해 Windows Defender Service Fabric 프로세스를 제외합니다. 기본적으로 Windows Defender 바이러스 백신은 Windows Server 2016 및 2019에 설치됩니다. Windows Defender 발생하는 성능 영향 및 리소스 소비 오버헤드를 줄이고 보안 정책을 통해 오픈 소스 소프트웨어에 대한 프로세스 및 경로를 제외할 수 있는 경우 제외할 수 있습니다.
클러스터 아키텍처: 클러스터 에 자동 크기 조정을 사용하는 것이 좋습니다. 자동 조정은 뛰어난 탄력성을 제공하며 보조 노드 형식에 대한 수요에 따라 노드를 추가 또는 축소할 수 있습니다. 자동화되고 탄력적인 이 동작은 워크로드를 처리하는 노드의 양을 모니터링하고 최적화하여 관리 오버헤드 및 잠재적 비즈니스 영향을 줄입니다.
클러스터 아키텍처:가속화된 네트워킹을 사용하는 것이 좋습니다. 가속화된 네트워킹을 사용하면 데이터 경로에서 호스트를 우회하는 고성능 경로를 사용할 수 있으므로 가장 까다로운 네트워크 워크로드에 대한 대기 시간, 지터 및 CPU 사용률을 줄일 수 있습니다.
클러스터 아키텍처: ADE(Azure Disk Encryption) 대신 호스트에서 암호화를 사용하는 것이 좋습니다. 이 암호화 방법은 Azure Storage 서비스의 데이터를 암호화하여 VM에 대해 사용자 지정 이미지를 포함한 모든 OS 유형 및 이미지를 지원하여 ADE에서 개선됩니다.
워크로드 아키텍처:Service Fabric 프로그래밍 모델을 검토하여 서비스에 가장 적합한 모델을 결정합니다. Service Fabric은 여러 프로그래밍 모델을 지원합니다. 각각은 자신의 장점과 단점이 함께 제공됩니다. 사용 가능한 프로그래밍 모델에 대해 알고 있으면 서비스를 디자인하기 위한 최상의 선택을 하는 데 도움이 될 수 있습니다.
워크로드 아키텍처: 적절한 경우 워크로드에 느슨하게 결합된 마이크로 서비스를 활용합니다. 마이크로 서비스를 사용하면 Service Fabric의 기능을 최대한 사용할 수 있습니다.
워크로드 아키텍처: 적절한 경우 워크로드에 이벤트 기반 아키텍처 를 활용합니다. 이벤트 기반 아키텍처를 사용하면 Service Fabric의 기능을 최대한 사용할 수 있습니다.
워크로드 아키텍처: 적절한 경우 워크로드에 대한 백그라운드 처리를 활용합니다. 백그라운드 처리를 사용하면 Service Fabric의 기능을 최대한 사용할 수 있습니다.
클러스터 및 워크로드 아키텍처:Service Fabric에서 솔루션을 스케일링할 수 있는 다양한 방법을 검토합니다. 크기 조정을 사용하여 솔루션에 대한 최대 리소스 사용률을 사용하도록 설정할 수 있습니다.

자세한 제안은 성능 효율성 핵심 요소의 원칙을 참조하세요.

Azure Advisor 권장 사항

Azure Advisor 는 Azure 배포를 최적화하기 위한 모범 사례를 따르는 데 도움이 되는 개인 설정된 클라우드 컨설턴트입니다. 다음은 Azure Service Fabric을 사용할 때 안정성, 보안, 비용 효율성, 성능 및 운영 우수성을 개선하는 데 도움이 되는 몇 가지 권장 사항입니다.

보안

  • Service Fabric 클러스터에는 ClusterProtectionLevel 속성이 로 EncryptAndSign설정되어 있어야 합니다. 관리형 클러스터의 기본값이며 변경할 수 없습니다. 표준 클러스터: ClusterProtectionLevel을 로 설정해야 합니다 EncryptAndSign.
  • Service Fabric 클러스터는 클라이언트 인증에 Microsoft Entra ID만 사용해야 합니다.

추가 리소스

클러스터를 만들고 유지 관리하는 동안 사용할 수 있는 모든 옵션 목록은 Azure Service Fabric 관리 형 클러스터 구성 옵션 문서를 참조하세요.

워크로드를 개발하는 방법에 대한 지침 은 Azure 애플리케이션 아키텍처 기본 사항을 검토합니다. Service Fabric은 컨테이너 호스팅 플랫폼으로만 사용할 수 있지만 잘 설계된 워크로드를 사용하면 Service Fabric의 전체 기능을 활용할 수 있습니다.

다음 단계

ARM 템플릿을 사용하거나 Azure Portal 통해 Service Fabric 관리형 클러스터를 만들 때 다음 권장 사항을 사용합니다.