클러스터 배포 계획 및 준비Plan and prepare for a cluster deployment

프로덕션 클러스터 배포를 계획 하 고 준비 하는 것이 매우 중요 합니다.Planning and preparing for a production cluster deployment is very important. 고려해 야 할 여러 요인이 있습니다.There are many factors to consider. 이 문서에서는 클러스터 배포를 준비 하는 단계를 안내 합니다.This article walks you through the steps of preparing your cluster deployment.

모범 사례 정보 읽기Read the best-practices information

Azure Service Fabric 응용 프로그램 및 클러스터를 성공적으로 관리 하려면 프로덕션 환경의 안정성을 최적화 하기 위해 수행 하는 것이 좋습니다.To manage Azure Service Fabric applications and clusters successfully, there are operations that we highly recommend you perform to optimize the reliability of your production environment. 자세한 내용은 Service Fabric 응용 프로그램 및 클러스터 모범 사례를 참조 하세요.For more information, read Service Fabric application and cluster best practices.

클러스터에 대 한 OS를 선택 합니다.Select the OS for the cluster

Azure Service Fabric을 사용하면 Windows Server 또는 Linux를 실행하는 VM 또는 컴퓨터에서 Service Fabric 클러스터를 만들 수 있습니다.Service Fabric allows for the creation of Service Fabric clusters on any VMs or computers running Windows Server or Linux. 클러스터를 배포 하기 전에 Windows 또는 Linux 운영 체제를 선택 해야 합니다.Before deploying your cluster, you must choose the OS: Windows or Linux. 클러스터의 모든 노드 (가상 머신)는 동일한 OS를 실행 하며, 동일한 클러스터에서 Windows 및 Linux Vm을 혼합할 수 없습니다.Every node (virtual machine) in the cluster runs the same OS, you cannot mix Windows and Linux VMs in the same cluster.

용량 계획Capacity planning

프로덕션 배포의 경우 용량 계획은 중요한 단계입니다.For any production deployment, capacity planning is an important step. 다음은 해당 프로세스의 일부로 고려해야 할 몇 가지 사항입니다.Here are some things to consider as a part of that process.

  • 클러스터에 대 한 초기 노드 형식 수The initial number of node types for your cluster
  • 각 노드 유형의 속성 (크기, 인스턴스 수, 기본, 인터넷 연결, Vm 수 등)The properties of each of node type (size, number of instances, primary, internet facing, number of VMs, etc.)
  • 클러스터의 안정성 및 지속성 특성The reliability and durability characteristics of the cluster

초기 노드 유형 수를 선택 합니다.Select the initial number of node types

먼저, 만드는 클러스터를 어디에 사용할지 결정해야 합니다.First, you need to figure out what the cluster you are creating is going to be used for. 이 클러스터에 어떤 종류의 애플리케이션을 배포할 계획인가요?What kinds of applications you are planning to deploy into this cluster? 애플리케이션이 여러 서비스를 보유하고 해당 서비스 중 일부를 공용 또는 인터넷에 연결해야 하나요?Does your application have multiple services, and do any of them need to be public or internet facing? 서비스(애플리케이션을 구성함)에는 더 유용한 RAM 또는 더 높은 CPU 사용률과 같은 서로 다른 인프라가 필요한가요?Do your services (that make up your application) have different infrastructure needs such as greater RAM or higher CPU cycles? Service Fabric 클러스터는 하나 이상의 노드 유형 (주 노드 유형 및 하나 이상의 주 노드가 아닌 노드 유형)으로 구성 될 수 있습니다.A Service Fabric cluster can consist of more than one node type: a primary node type and one or more non-primary node types. 각 노드 유형은 가상 머신 확장 집합에 매핑됩니다.Each node type is mapped to a virtual machine scale set. 각 노드 형식은 독립적으로 확장 또는 축소되고, 다른 포트의 집합을 열며 다른 용량 메트릭을 가질 수 있습니다.Each node type can then be scaled up or down independently, have different sets of ports open, and can have different capacity metrics. 노드 속성 및 배치 제약 조건을 설정 하 여 특정 서비스를 특정 노드 형식으로 제한할 수 있습니다.Node properties and placement constraints can be set up to constrain specific services to specific node types. 자세한 내용은 Service Fabric 클러스터 용량 계획을 참조 하세요.For more information, see Service Fabric cluster capacity planning.

각 노드 유형에 대 한 노드 속성 선택Select node properties for each node type

노드 유형은 연결 된 확장 집합에 있는 vm의 VM SKU, 번호 및 속성을 정의 합니다.Node types define the VM SKU, number, and properties of the VMs in the associated scale set.

각 노드 유형에 대 한 최소 Vm 크기는 노드 유형에 대해 선택한 내구성 계층 에 따라 결정 됩니다.The minimum size of VMs for each node type is determined by the durability tier you choose for the node type.

주 노드 유형에 대한 최소 VM 수는 선택한 안정성 계층에 따라 결정됩니다.The minimum number of VMs for the primary node type is determined by the reliability tier you choose.

노드 형식에 대 한 최소권장 사항, 주 노드가 아닌 노드 형식에 대 한 상태 저장 작업주 노드가 아닌 노드 형식에 대 한 상태 비저장 작업을 참조 하세요.See the minimum recommendations for primary node types, stateful workloads on non-primary node types, and stateless workloads on non-primary node types.

최소 노드 수는이 노드 유형에 서 실행 하려는 응용 프로그램/서비스의 복제본 수를 기반으로 해야 합니다.Any more than the minimum number of nodes should be based on the number of replicas of the application/services that you want to run in this node type. Service Fabric 응용 프로그램에 대 한 용량 계획 을 통해 응용 프로그램을 실행 하는 데 필요한 리소스를 예상할 수 있습니다.Capacity planning for Service Fabric applications helps you estimate the resources you need to run your applications. 나중에 응용 프로그램 워크 로드를 변경 하기 위해 클러스터를 확장 하거나 축소할 수 있습니다.You can always scale the cluster up or down later to adjust for changing application workload.

가상 머신 확장 집합에 대 한 사용 후 삭제 OS 디스크 사용Use ephemeral OS disks for virtual machine scale sets

삭제 된 OS 디스크 는 로컬 VM (가상 컴퓨터)에 생성 되며 원격 Azure Storage에 저장 되지 않습니다.Ephemeral OS disks are storage created on the local virtual machine (VM), and not saved to remote Azure Storage. 기존 영구 OS 디스크, 삭제 된 OS 디스크와 비교할 때 모든 Service Fabric 노드 유형 (기본 및 보조)에 권장 됩니다.They are recommended for all Service Fabric node types (Primary and Secondary), because compared to traditional persistent OS disks, ephemeral OS disks:

  • OS 디스크에 대 한 읽기/쓰기 대기 시간 줄이기Reduce read/write latency to OS disk
  • 빠른 다시 설정/이미지로 다시 설치 노드 관리 작업 사용Enable faster reset/reimage node management operations
  • 전체 비용 절감 (디스크가 무료 이며 추가 저장소 비용이 발생 하지 않음)Reduce overall costs (the disks are free and incur no additional storage cost)

임시 OS 디스크는 특정 Service Fabric 기능이 아니라 Service Fabric 노드 형식에 매핑되는 Azure 가상 머신 확장 집합 의 기능입니다.Ephemeral OS disks is not a specific Service Fabric feature, but rather a feature of the Azure virtual machine scale sets that are mapped to Service Fabric node types. Service Fabric와 함께 사용 하려면 클러스터 Azure Resource Manager 템플릿에서 다음을 수행 해야 합니다.Using them with Service Fabric requires the following in your cluster Azure Resource Manager template:

  1. 노드 형식에서 임시 OS 디스크에 대해 지원 되는 AZURE VM 크기 를 지정 하 고 VM 크기에는 os 디스크 크기를 지원 하기에 충분 한 캐시 크기가 있는지 확인 합니다 (아래 참고 참조). 예를 들어:Ensure your node types specify supported Azure VM sizes for Ephemeral OS disks, and that the VM size has sufficient cache size to support its OS disk size (see Note below.) For example:

    "vmNodeType1Size": {
        "type": "string",
        "defaultValue": "Standard_DS3_v2"
    

    참고

    캐시 크기가 VM 자체의 OS 디스크 크기 보다 크거나 같은 VM 크기를 선택 해야 합니다. 그렇지 않으면 Azure 배포에 오류가 발생할 수 있습니다 (처음에 허용 되는 경우에도).Be sure to select a VM size with a cache size equal or greater than the OS disk size of the VM itself, otherwise your Azure deployment might result in error (even if it's initially accepted).

  2. 이상 버전의 가상 컴퓨터 확장 집합 버전 ()을 지정 합니다 vmssApiVersion 2018-06-01 .Specify a virtual machine scale set version (vmssApiVersion) of 2018-06-01 or later:

    "variables": {
        "vmssApiVersion": "2018-06-01",
    
  3. 배포 템플릿의 가상 머신 확장 집합 섹션에서 Local 다음에 대 한 옵션을 지정 합니다 diffDiskSettings .In the virtual machine scale set section of your deployment template, specify Local option for diffDiskSettings:

    "apiVersion": "[variables('vmssApiVersion')]",
    "type": "Microsoft.Compute/virtualMachineScaleSets",
        "virtualMachineProfile": {
            "storageProfile": {
                "osDisk": {
                        "caching": "ReadOnly",
                        "createOption": "FromImage",
                        "diffDiskSettings": {
                            "option": "Local"
                        },
                }
            }
        }
    

참고

Os를 업그레이드 하는 경우 os 디스크가 손실 되므로 사용자 응용 프로그램에는 OS 디스크에 대 한 종속성/파일/아티팩트가 없어야 합니다.User applications should not have any dependency/file/artifact on the OS disk, as the OS disk would be lost in the case of an OS upgrade.

참고

임시 디스크를 사용 하기 위해 현재 사용 되지 않는 기존 VMSS를 업그레이드할 수 없습니다.Existing non-ephemeral VMSS can't be upgraded in-place to use ephemeral disks. 마이그레이션하기 위해 사용자는 임시 디스크를 사용 하 여 새 nodeType을 추가 하 고, 워크 로드를 새 nodetype & 이동 하 여 기존 nodetype을 제거 해야 합니다.To migrate, users will have to add a new nodeType with ephemeral disks, move the workloads to the new nodeType & remove the existing nodeType.

자세한 정보 및 추가 구성 옵션은 Azure vm에 대 한 임시 OS 디스크 를 참조 하세요.For more info and further configuration options, see Ephemeral OS disks for Azure VMs

클러스터의 내구성 및 안정성 수준 선택Select the durability and reliability levels for the cluster

지속성 계층은 기본 Azure 인프라와 함께 VM에 있는 권한을 이 시스템에 표시하는 데 사용됩니다.The durability tier is used to indicate to the system the privileges that your VMs have with the underlying Azure infrastructure. 주 노드 유형에서 이 권한을 사용하면 Service Fabric이 시스템 서비스 및 상태 저장 서비스에 대한 쿼럼 요구 사항에 영향을 주는 VM 수준 인프라 요청(VM 다시 부팅, VM 이미지로 다시 설치, 또는 VM 마이그레이션 등)을 일시 중지할 수 있습니다.In the primary node type, this privilege allows Service Fabric to pause any VM level infrastructure request (such as a VM reboot, VM reimage, or VM migration) that impact the quorum requirements for the system services and your stateful services. 주가 아닌 노드 형식에서 이 권한을 사용하면 Service Fabric이 상태 저장 서비스에 대한 쿼럼 요구 사항에 영향을 주는 VM 수준 인프라 요청(예: VM 다시 부팅, VM 이미지로 다시 설치, VM 마이그레이션)을 일시 중지할 수 있습니다.In the non-primary node types, this privilege allows Service Fabric to pause any VM level infrastructure requests (such as VM reboot, VM reimage, and VM migration) that impact the quorum requirements for your stateful services. 사용할 수준 및 시기에 대 한 다양 한 수준 및 권장 사항의 장점은 클러스터의 내구성 특성을 참조 하세요.For advantages of the different levels and recommendations on which level to use and when, see The durability characteristics of the cluster.

안정성 계층은 주 노드 유형에서 이 클러스터에서 실행하려는 시스템 서비스의 복제본 수를 설정하는 데 사용됩니다.The reliability tier is used to set the number of replicas of the system services that you want to run in this cluster on the primary node type. 복제본 수가 많을수록 클러스터에서 시스템 서비스를 신뢰할 수 있습니다.The more the number of replicas, the more reliable the system services are in your cluster. 사용할 수준 및 시기에 대 한 다양 한 수준 및 권장 사항의 장점은 클러스터의 안정성 특성을 참조 하세요.For advantages of the different levels and recommendations on which level to use and when, see The reliability characteristics of the cluster.

역방향 프록시 및/또는 DNS 사용Enable reverse proxy and/or DNS

클러스터의 노드는 동일한 로컬 네트워크에 있으므로 클러스터 내에서 서로 연결하고 있는 서비스는 다른 서비스의 엔드포인트에 직접 액세스할 수 있습니다.Services connecting to each other inside a cluster generally can directly access the endpoints of other services because the nodes in a cluster are on the same local network. 서비스 간 연결을 용이 하 게 하기 위해 Service Fabric는 추가 서비스 ( DNS 서비스역방향 프록시 서비스)를 제공 합니다.To make it easier to connect between services, Service Fabric provides additional services: A DNS service and a reverse proxy service. 클러스터를 배포할 때 두 서비스를 모두 사용할 수 있습니다.Both services can be enabled when deploying a cluster.

많은 서비스, 특히 컨테이너 화 된 서비스는 기존 URL 이름을 가질 수 있으며, 특히 응용 프로그램 "리프트 앤 시프트" 시나리오에서 Naming Service 프로토콜이 아닌 표준 DNS 프로토콜을 사용 하 여 이러한 이름을 확인할 수 있습니다.Since many services, especially containerized services, can have an existing URL name, being able to resolve these using the standard DNS protocol (rather than the Naming Service protocol) is convenient, especially in application "lift and shift" scenarios. 바로 이것이 DNS 서비스의 용도입니다.This is exactly what the DNS service does. DNS 서비스를 통해 DNS 이름을 서비스 이름에 매핑할 수 있으므로 엔드포인트 IP 주소를 확인할 수 있습니다.It enables you to map DNS names to a service name and hence resolve endpoint IP addresses.

역방향 프록시는 HTTP 끝점을 노출 하는 클러스터의 서비스 (HTTPS 포함)를 처리 합니다.The reverse proxy addresses services in the cluster that expose HTTP endpoints (including HTTPS). 역방향 프록시는 특정 URI 형식을 제공 하 여 다른 서비스에 대 한 호출을 크게 간소화 합니다.The reverse proxy greatly simplifies calling other services by providing a specific URI format. 또한 역방향 프록시는 한 서비스에서 다른 서비스와 통신 하는 데 필요한 확인, 연결 및 재시도 단계를 처리 합니다.The reverse proxy also handles the resolve, connect, and retry steps required for one service to communicate with another.

재해 복구 준비Prepare for disaster recovery

고가용성 전달의 중요한 부분은 서비스가 다른 모든 유형의 오류를 감당할 수 있는지 확인하는 것입니다.A critical part of delivering high-availability is ensuring that services can survive all different types of failures. 계획되지 않으며 사용자 통제 하에 있지 않은 오류의 경우 특히 이러한 과정이 중요합니다.This is especially important for failures that are unplanned and outside of your control. 재해 복구 준비 에서는 올바르게 모델링 및 관리 되지 않는 경우 재해가 발생할 수 있는 몇 가지 일반적인 오류 모드에 대해 설명 합니다.Prepare for disaster recovery describes some common failure modes that could be disasters if not modeled and managed correctly. 또한 재해가 발생 한 경우 수행 해야 하는 완화 작업과 작업에 대해서도 설명 합니다.It also discusses mitigations and actions to take if a disaster happened anyway.

프로덕션 준비 검사 목록Production readiness checklist

애플리케이션 및 클러스터가 프로덕션 트래픽을 허용할 준비가 되었나요?Is your application and cluster ready to take production traffic? 프로덕션 환경에 클러스터를 배포 하기 전에 프로덕션 준비 검사 목록을 실행 합니다.Before deploying your cluster to production, run through the Production readiness checklist. 이 검사 목록의 항목을 통해 작업 하 여 응용 프로그램 및 클러스터를 원활 하 게 실행 하세요.Keep your application and cluster running smoothly by working through the items in this checklist. 프로덕션으로 전환 하기 전에 이러한 모든 항목을 체크 아웃 하는 것이 좋습니다.We strongly recommend all these items to be checked off before going into production.

다음 단계Next steps