Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Azure Service Fabric Cluster の作成

727 views

Published on

2016/7/20 Jazug Tokyo Night 第3回
Azure Service Fabric Cluster 作成
Node type count 、Durability tier( 耐久性レベル)、Reliability tier( 信頼性レベル)、セキュリティ

Published in: Technology
  • Be the first to comment

Azure Service Fabric Cluster の作成

  1. 1. 第3回 JAZUG Tokyo Night Azure Service Fabric / Clusterの作成 Takekazu Omi takekazu.omi@kyrt.in 2016/7/20 R.1.0
  2. 2. kyrt inc 22016/7/20
  3. 3. 自己紹介 近江 武一 JAZUG Azure Storage 担当(自称) Microsoft MVP for Azure http://www.slideshare.net/takekazuomi kyrt inc 3 kyrt.in github.com/takekazuom i white paper 監訳 2016/7/20
  4. 4. はじめに  第1回 5/18 Reliable Collection ⇨ http://www.slideshare.net/takekazuomi/azure-fabric-service-reliable-collection ⇨ https://channel9.msdn.com/Blogs/MVP-Azure/01-Tokyo-Jazug-Night  第2回 6/16 Actor ⇨ http://www.slideshare.net/takekazuomi/azure-fabric-service-actor  第3回 7/20 Cluster の作成  第4回 ? Cluster の管理運用 (予定)  Global Azure Bootcamp で話したService Fabricの概要の動画 ⇨ https://youtu.be/bVWHPjcjeoc?t=38m  過去に、話した時の資料 ⇨ http://www.slideshare.net/takekazuomi/presentations kyrt inc 42016/7/20
  5. 5. 復習 2016/7/20 kyrt inc 5
  6. 6. Framework for Microservice 2016/7/20 https://azure.microsoft.com/ja-jp/documentation/articles/service-fabric-overview/ kyrt inc 6
  7. 7. 過去2回で、Azure Service Fabric の特徴的な 機能を2つの話をしました 1. Reliable Collection 2. Actor kyrt inc 72016/7/20
  8. 8. Reliable Collection の 特徴 高可用で低レイテンシーな永続化機構  Replicated:状態の変更がレプリケートされ高可用  Persisted: データがディスクに永続化されるため、大規模な 障害に強い(例: データセンターの電源障害)  Transactional : 複数の Reliable Collection 跨ったトランザ クションが可能  Low latency: read はローカル、writeは最小 Network I/O kyrt inc 82016/7/20
  9. 9. Actor Concurrency (並行性)処理の実装モデル スレッドや排他処理を直接コーディングしない 内部状態は、State Managerで保存される persistence layer の基本的な仕組みは Reliable Collection と同じ kyrt inc 92016/7/20
  10. 10. Actorの3つの特徴 Scalable by Default 数百以上のseverにスケール Low Latency 状態の柔軟な保存、Persisted state、 Volatile state、No persisted state Simplified Concurrency turn base concurrency kyrt inc 102016/7/20
  11. 11. Service Fabric プログラミングモデル kyrt inc 112016/7/20 reliable service reliable actor guest executable stateless service stateful service
  12. 12. kyrt inc 122016/7/20
  13. 13. 概要 Service Fabricでは、複数のインスタンスでク ラスタを構成 クラスタに複数のアプリケーションを展開 クラスタへのアプリケーション配置ルールは、 アプリケーション単位で設定可能 オンプレにも配置可能。今回は、Azure上で のCluster配置の話だけ kyrt inc 132016/7/20
  14. 14. Cluster: System View 2016/7/20 Failover manager Cluster manager Naming Image store System Services kyrt inc 14
  15. 15. VMs and VM Scale Sets Azure Public CloudAzure-Consistent Private Cloud VM Extensions SCALR, RightScale, Mesos, Swarm Service Fabric (VMs and Containers) BatchApp Service Media Web Apps Mobile Apps Apprenda, CloudFoundry Jelastic, Marathon Infrastructure IaaS and IaaS+ General Compute PaaS Vertical compute PaaS Open Choice at Every Layer Cluster Orchestration 参照:https://channel9.msdn.com/Events/Build/2015/3-618
  16. 16. Service Fabric Cluster の作成 portal 編 2016/7/20 kyrt inc 16
  17. 17. 概要 portal の Service Fabric の作成 各設定の意味 kyrt inc 172016/7/20
  18. 18. Service Fabric Cluster -> Create Service Fabric cluster 1. Basics ここはあまり問題ない 2. Cluster configuration 見慣れない設定がい ろいろある 3. Security KeyVault の事前準備 が必要 kyrt inc 182016/7/20
  19. 19. Cluster configuration kyrt inc 192016/7/20 1. Node type count 2. Durability tier 設定項目 1. Node type count 2. Durability tier 耐久性レベル 3. Reliability tier 信頼性レベル endpoints 3. Reliability tier
  20. 20. cluster planning 3つの考慮事項 1. node type の数 2. node type の特性 サイズ、プライマリ/非プライマリ、インター ネット接続、VM 数など 3. Cluster の信頼性と耐久性 kyrt inc 202016/7/20
  21. 21. node types とは node type は 1 つの VM scale set に対応 ⇨ 個別にスケール アップ/ダウン可 ⇨ 個別にLBを持ち異なったポートを開くことができる ⇨ 個別に異なるVM Size を持つことができる Clusterには、必ず1つの node type がある ⇨ primary node type (最低5台、テスト環境で3台) ⇨ システム サービスは、 primary node type に配置 node type は、Cloud Services のRoleに類似 ⇨ VM のサイズ、VM の数、プロパティが定義 kyrt inc 212016/7/20
  22. 22. node typeの数 下記の条件などを元に検討  アプリケーションに複数のサービスで構成されている ⇨ 例えば、インターネットに公開されたフロントエンドサービスと、直接は公開されないバックエンド サービスとが存在した場合、これらを2つの node type に分けることを検討  アプリケーションにインフラストラクチャー ニーズの異なる複数のサービスが存在する場合 ⇨ 大容量の RAM が必要、高い CPU 処理能力が必要など ⇨ 例えば、フロントエンド サービスはWeb アプリで、バックエンド サービスがバッチ処理の場合など、 フロントエンド サービスは小さ目の VM (D2 など) で実行し、インターネットに対してポートを開放 ⇨ バックエンド サービスは計算負荷が高く、メモリーも必要なため、より大きな VM (D4、D6、D15 な ど) で実行し、ポートは開かない  Compute Partition Guidance 参照 ⇨ https://msdn.microsoft.com/en-us/library/dn589773.aspx kyrt inc 222016/7/20
  23. 23. node type の特性 node type = vmss 最小 VM サイズは、選択した durability tier で決定 最低 VM 数は、選択したreliability tier で決 primary は、デフォルト5(silver) non-primary node type では、最低1 システム サービス は primary node type に置かれ る=Clusterの信頼性と耐久性 kyrt inc 232016/7/20
  24. 24. durability characteristics Service Fabric がこの特権を使って、システム サービスやス テートフル サービスのクォーラム要件に影響を及ぼすような、 VM レベルのインフラストラクチャ要求 (VM の再起動、VM の 再イメージング、VM の移行など) を一時停止させる ※今遅延要求出来るのは、Gold(G5, DS15)のみ  Gold - 1 つのUDにつき 2 時間  Silver - 1 つのUDにつき 30 分  Bronze - 特権なし kyrt inc 242016/7/20
  25. 25. reliability characteristics システム サービスのレプリカ数を設定 Platinum - 9 Gold - 7 Silver – 5 (default) Bronze – 3 (dev only) kyrt inc 252016/7/20
  26. 26. Security 2016/7/20 kyrt inc 26
  27. 27. Security  Source key vault Key Vault のリソース ID  Certificate URL 証明書がアップロードされた Key Vault の場所の URL  Certificate thumbprint 上記証明書のサムプリント  Configure advanced settings で下 記3つを個別設定 1. Secondary 2. Admin client 3. Read-only client kyrt inc 272016/7/20
  28. 28. KeyVaultの準備 KeyVaultは、Azure PowerShell or cliで作成 Invoke-AddCertToKeyVaultは、ServiceFabricRPHelpers.psm1(GitHub)内のコマンド 結果は、Service Fabric ClusterのSecurityで使用 kyrt inc 282016/7/20 $ git clone git@github.com:ChackDan/Service-Fabric.git $ Import-Module .Service-FabricScriptsServiceFabricRPHelpersServiceFabricRPHelpers.psm1 $ Login-AzureRmAccount $ Register-AzureRmResourceProvider –ProviderNamespace “Microsoft.KeyVault“ $ New-AzureRmResourceGroup –ResourceGroupName $rgn –Location $loc $ New-AzureRmKeyVault –VaultName $kvn –ResourceGroupName $rgn –Location $loc $ Set-AzureRmKeyVaultAccessPolicy –VaultName $kvn –ResourceGroupName $rgn –EnabledForDeployment $ Invoke-AddCertToKeyVault -SubscriptionId $sub ` -ResourceGroupName $rgn -Location $loc -VaultName $kvn ` -CertificateName $certn -Password $pas -CreateSelfSignedCertificate -DnsName $dns -OutputPath $pwd. Name : CertificateThumbprint Value : <省略> Name : SourceVault Value : <省略> Name : CertificateURL Value : <省略>
  29. 29. Cluster security 3つのシナリオ  Node-to-node security(ノード間) クラスター内の VM とコンピューターの間の通信をセキュリティで保護 ⇨ クラスターを作成時、プライマリ証明書とセカンダリ証明書(オプション)を指定  Client-to-node security(クライアント、ノード間) クライアントの認証を行い、クラスター内のクライアントと個々のノードの間の通信をセキュリ ティで保護 ⇨ 管理クライアント証明書や読み取り専用クライアント証明書がある ⇨ Node-to-node securityと別の証明書が必要 ⇨ 管理エンドポイントへのアクセスはAAD利用可  ロールベースのアクセス制御 (RBAC) ⇨ クラスターに接続するクライアント用に、管理者用とユーザー用のアクセス制御 ⇨ 個別の証明書を指定 kyrt inc 292016/7/20
  30. 30. Role-based access control  管理者用とユーザー用の 2 つの異なるアクセス コントロールの種類をサ ポート  管理者は、管理機能へのフル アクセス権  ユーザーは、管理機能 (クエリ機能など) 、アプリケーションとサービスの リソルバへのROアクセス権のみがある。(default)  ユーザーのグループごとに特定のクラスター操作へのアクセス制限可  クラスターの作成時に、2 つのクライアント ロール (管理者とクライアント) 毎に個別の証明書を設定 kyrt inc 302016/7/20
  31. 31. RBAC operation list (default) アプリケーションおよびサービスの操作 CreateService サービスの作成 CreateServiceFromTemplate テンプレートからのサービスの作成 UpdateService サービスの更新 DeleteService サービスの削除 ProvisionApplicationType アプリケーションの種類のプロビジョニング CreateApplication アプリケーションの作成 DeleteApplication アプリケーションの削除 UpgradeApplication アプリケーションのアップグレードの開始または中断 UnprovisionApplicationType アプリケーションの種類のプロビジョニング解除 MoveNextUpgradeDomain 明示的なアップグレード ドメインでのアプリケーションのアップグレードの再開 ReportUpgradeHealth 現在のアップグレードの進行状況でのアプリケーションのアップグレードの再開 ReportHealth 正常性のレポート PredeployPackageToNode デプロイメント前の API CodePackageControl コード パッケージの再開 RecoverPartition パーティションの復旧 RecoverPartitions 複数のパーティションの復旧 RecoverServicePartitions サービス パーティションの復旧 RecoverSystemPartitions システム サービス パーティションの復旧 kyrt inc 312016/7/20
  32. 32. RBAC operation list (default) クラスターの操作 ProvisionFabric MSI やクラスター マニフェストのプロビジョニング UpgradeFabric クラスターのアップグレードの開始 UnprovisionFabric MSI やクラスター マニフェストのプロビジョニング解除 MoveNextFabricUpgradeDomain 明示的な更新ドメインを使用したクラスターのアップグレードの再開 ReportFabricUpgradeHealth 現在のアップグレードの進行状況でのクラスターのアップグレードの再開 StartInfrastructureTask インフラストラクチャのタスクの開始 FinishInfrastructureTask インフラストラクチャのタスクの終了 InvokeInfrastructureCommand インフラストラクチャのタスクの管理コマンド ActivateNode ノードのアクティブ化 DeactivateNode ノードの非アクティブ化 DeactivateNodesBatch 複数のノードの非アクティブ化 RemoveNodeDeactivations 複数のノードでの非アクティブ化の取り消し GetNodeDeactivationStatus 非アクティブ化の状態の確認 NodeStateRemoved 削除済みノード状態のレポート ReportFault 障害のレポート FileContent イメージ ストア クライアント ファイルの転送 (クラスターの外部へ) FileDownload イメージ ストア クライアント ファイルのダウンロードの開始 (クラスターの外部へ) InternalList イメージ ストア クライアント ファイルの一覧操作 (内部) Delete イメージ ストア クライアントの削除操作 Upload イメージ ストア クライアントのアップロード操作 kyrt inc 322016/7/20
  33. 33. RBAC operation list (default) NodeControl ノードの開始、停止、および再開 MoveReplicaControl ノードから別のノードへのレプリカの移動 その他の操作 Ping クライアントの ping Query 許可されるすべてのクエリ NameExists 名前付け URI の存在確認 ユーザー、管理共通 EnumerateSubnames 名前付け URI の列挙 EnumerateProperties 名前付けプロパティの列挙 PropertyReadBatch 名前付けプロパティの読み取り操作 GetServiceDescription 長いポーリングのサービス通知と読み取りサービスの説明 ResolveService クレーム ベースのサービス解決 ResolveNameOwner 名前付け URI の所有者の解決 ResolvePartition システム サービスの解決 ServiceNotifications イベント ベースのサービスの通知 GetUpgradeStatus アプリケーションのアップグレード状態のポーリング GetFabricUpgradeStatus クラスターのアップグレード状態のポーリング InvokeInfrastructureQuery インフラストラクチャ タスクのクエリ List イメージ ストア クライアント ファイルのリスト操作 ResetPartitionLoad フェールオーバー ユニットの負荷の再設定 ToggleVerboseServicePlacementHealthReporting 詳細なサービス配置正常性レポートの切り替え kyrt inc 332016/7/20
  34. 34. 作成された Cluster の確認 2016/7/20 kyrt inc 34
  35. 35. 作成されたClusterの構成 kyrt inc 352016/7/20 load balancer VM NIC vmss Virtual Network public IP VM NIC VM NIC ① ③ ② ④ Backend address pools
  36. 36. 作成されたリソースの解説 1. Service Fabric cluster 2. 仮想ネットワーク 3. vmss(primary) が1つ  storage を5 つ持った 4. LBが1つ  public ip 付き  Service Fabric 管理ポートのload balancing rule  RDPのinbound NAT rule kyrt inc 362016/7/20
  37. 37. ARM template kyrt inc 372016/7/20
  38. 38. おまけ 2016/7/20 kyrt inc 38
  39. 39. 最低価格構成  Azure 上での最低価格構成 はA0 3台  テスト環境での利用を推薦  4800円/月(=1600*3) 1. Node type count = 1 2. Durability tier = bronze Virtual machine size = A0 3. Reliability tier = bronze VM scale set capacity = 3 kyrt inc 392016/7/20 1. Node type count 2. Durability tier 3. Reliability tier
  40. 40. Q&A kyrt inc 402016/7/20
  41. 41. 終 kyrt inc 412016/7/20

×