Upgrade to Pro — share decks privately, control downloads, hide ads and more …

15分でお届けするElastic Stack on Azure設計・構築ノウハウ

Elastic Co
December 14, 2017

15分でお届けするElastic Stack on Azure設計・構築ノウハウ

Azureはマイクロソフトが提供するオープンで柔軟な、エンタープライズレベルのクラウドプラットフォームです。ここではAzure特有のインフラコンポーネントにフォーカスしてElastic Stack on Azureの設計・構築ノウハウをご紹介します。

川崎 庸市 | Azureテクノロジーソリューションプロフェッショナル
| マイクロソフトコーポレーション

Elastic Co

December 14, 2017
Tweet

More Decks by Elastic Co

Other Decks in Technology

Transcript

  1. 2

  2. 3 プラットフォームサービス インフラストラクチャーサービス Compute Storage Datacenter Infrastructure Application Platform Web

    Apps Mobile Apps API Apps Notification Hubs Hybrid Cloud Backup StorSimple Azure Site Recovery Import/Export Networking Data SQL Database DocumentDB Redis Cache Azure Search Storage Tables SQL Data Warehouse Azure AD Health Monitoring Virtual Network Express Route Blob Files Disks Virtual Machines AD Privileged Identity Management Traffic Manager App Gateway Operational Analytics Compute Services Cloud Services Batch RemoteApp Service Fabric Developer Services Visual Studio Application Insights VS Team Services Containers DNS VPN Gateway Load Balancer Domain Services Analytics & IoT HDInsight Machine Learning Stream Analytics Data Factory Event Hubs Data Lake Analytics Service IoT Hub Data Catalog Security & Management Azure Active Directory Multi-Factor Authentication Automation Portal Key Vault Store/ Marketplace VM Image Gallery & VM Depot Azure AD B2C Scheduler Xamarin HockeyApp Power BI Embedded SQL Server Stretch Database Mobile Engagement Functions Intelligence Cognitive Services Bot Framework Cortana Security Center Container Service Queues VM Scale Sets Data Lake Store Dev/Test Lab Integration BizTalk Services Service Bus Logic Apps API Management Media & CDN Content Delivery Network Media Services Media Analytics
  3. 5 Azureへのデプロイメント 2種類の便利なデプロイメントオプションのご紹介 Azure Marketplaceからの デプロイ • Azure Marketplace •

    最も手っ取り早いやり方 • 30日のX-Packトライアルライセンス 付き。トライアル期間が過ぎたら BYOLでライセンス更新可能 Github上のARMテンプレートを カスタマイズしてデプロイ • Elastic社が用意したGithub上のARM テンプレートをカスタマイズ • Azure CLIやPowerShellコマンドを 使ってデプロイメント
  4. 7

  5. 9 Azure 仮想マシンインスタンスの種類 [x]S プレミアムストレージ型 (例) • DS = 汎用

    + プレミアム ストレージ • FS = コンピューティング 最適化 + プレミアムスト レージ
  6. 10 推奨仮想ハードウェアとDISK TYPE 推奨インスタンス 推奨DISK 特徴 マスターノード スモールDシリーズ Managed Disk

    • 大量コア, メモリは不要 • 大規模クラスタでは専用マス ターノード x 3を推奨 データノード DSシリーズ (DS3 or DS4) Premium Managed Disk • メモリ量は多いほどよい • Premium Storage推奨 Kibana スモールDシリーズ Managed Disk • マスターノードと同様 Logstash FSシリーズ Premium Managed Disk • コンピューティング最適化型イ ンスタンス推奨 • Premium Storage推奨 Source: https://www.elastic.co/blog/deploying-elasticsearch-on-microsoft-azure https://www.elastic.co/jp/blog/deploying-elasticsearch-on-microsoft-azure https://docs.microsoft.com/en-us/azure/architecture/elasticsearch/
  7. 11 可用性設定 可用性セット DC内のハード障害/定期ソフトアップ デート等に有効。VM SLA 99.95% 可用性ゾーンの注意点 マスターノード 各ゾーンに最低1ノードを配置

    データノード パフォーマンスの観点から Shard Allocation Awarenessを使用 して検索要求の際にゾーン間の大量通 信を避ける必要がある 可用性ゾーン DCレベルの障害に有効 VM SLA 99.99%(予定) Preview OR Source: https://azure.microsoft.com/en-us/updates/azure-availability-zones/ https://www.elastic.co/blog/deploying-elasticsearch-on-microsoft-azure
  8. 12 ネットワークセキュリティグループ ネットワーク セキュリティ グループ(NSG) • L4フィルタリング • 受信、送信のトラフィック制御 •

    設定単位はサブネット、または VM(ARMではNIC単位) • 各NSGルールの適用によるトラ フィックの拒否/許可をログ記録す ることが可能 例) Kibana VM用受信ルール
  9. 13 データコレクション Beats Log Files Metrics Wire Data your(beat) Kafka

    Redis Nodes (X) Hadoop Ecosystem Logstash Elasticsearch Kibana X-pack Custom UI Authentication Notification X-pack ES-Hadoop LDAP AD SSO Instances (X) Master Nodes (3) Ingest Nodes (X) Data Nodes - Hot (X) Data Nodes - Warm (X) Messaging Queue Azure Services Blob Storage Service Bus Topic Event Hub PaaS MySQL PaaS PostgreSQL SQL DB HDInsight Azureサービスと連携方法一覧 • Azure Blob Storage • logstash-input-azureblob • Azure Service Bus (Topic) • logstash-input-azuretopic • Azure Event Hub • logstash-input-azureeventhub • Azure SQL Database • logstash-input-jdbc • Azure Database for MySQL • logstash-input-jdbc • Azure Database for PostgreSQL • logstash-input-jdbc • Azure HDInsight • ES-Hadoopによる連携 VM on Azure
  10. 14 Azureリソースのメトリック・ログのコレクション Azure診断ログ、活動ログ、メトリックのElastic Stackへの取り込み例 Nodes (X) Logstash Elasticsearch Kibana X-pack

    Custom UI Authentication Notification X-pack LDAP AD SSO Instances (X) Master Nodes (3) Ingest Nodes (X) Data Nodes - Hot (X) Data Nodes - Warm (X) Azure Services Blob Storage Event Hub 1. Azureリソースが出力する下記の情報は標準で Blob StorageまたはEvent Hubに出力設定可能 • 診断ログ(Diagnostics log) • 活動ログ(Activity log) • メトリック 2. BlobまたはEvent hubに出力されたデータを Logstashを通じてElastic Stackに取り込み可能 Azureリソース関連情報を含め 全てのログをElastic Stackで 一元管理することができる
  11. 15 Elastic on Azure Presented by Creationline Elastic公認パートナーであるクリエーションラインが、Azure上でElasticを導入する際の アーキテクチャ支援、マイグレーションサービスなどフルサポートいたします。 Cloud

    Everywhereトライアルメニュー (30万円相当が無償) データアナリスト、ElasticエキスパートがAzure上で Elasticを導入する際のアーキテクチャコンサル、マイグ レーションなどのコンサルティングを提供します。 コンサルティングサービス アーキテクチャ (ハードウェア/ソフトウェア/ネットワーク) クラスタ管理 インデックス / シャードの設計 クエリの最適化 他の製品との連携 バックアップおよび高可用性戦略 他製品からのマイグレーション ExpressRoute対応 クリエーションライン株式会社(Creationline, Inc.) Elastic公認パートナー。高度なアーキテクチャ設計などを得意とするテクノロジスト集団。大手通信事業者、 サービス提供事業者などに対して多くの実績を持っている。最新のイノベーティブなテクノロジーをス ピード感を持って提供することができる数少ない企業。 https://www.creationline.com/elastic
  12. 16 16 Appendix – 参考文献 Deploying Elasticsearch on Microsoft Azure

    https://www.elastic.co/blog/deploying-elasticsearch-on-microsoft-azure Microsoft AzureにElasticsearchをデプロイする https://www.elastic.co/jp/blog/deploying-elasticsearch-on-microsoft-azure Elasticsearch and Kibana Deployments on Azure https://www.elastic.co/blog/elasticsearch-and-kibana-deployments-on-azure Spinning up a cluster with Elastic's Azure Marketplace template https://www.elastic.co/blog/spinning-up-a-cluster-with-elastics-azure-marketplace-template Run Elasticsearch on Azure https://docs.microsoft.com/en-us/azure/architecture/elasticsearch/ Public preview: Azure Availability Zones https://azure.microsoft.com/en-us/updates/azure-availability-zones/ Filter network traffic with network security groups https://docs.microsoft.com/en-us/azure/virtual-network/virtual-networks-nsg Shared Allocation Awareness https://www.elastic.co/guide/en/elasticsearch/reference/6.0/allocation-awareness.html#allocation-awareness Azure Diagnostics Tools https://github.com/Azure/azure-diagnostics-tools