Azure Arcとは
昨今のシステム開発において、パブリックラウドは広く世の中に浸透している。一方で、今なお多くのサーバーがオンプレミス環境やプライベートクラウド環境で稼働しており、企業においては基幹ビジネスを支えている従来のレガシーなシステムがオンプレミスで稼働しているところも多い。また、工場などの生産現場で利用されている極めて低レイテンシが求められるデバイスや、コンプライアンスが非常に厳しい企業などの場合はクラウド移行自体が非常に難しい場合もある。これに加え、パブリッククラウド自体も多数のプラットフォームが提供されており、Microsoft Azure(以下 Azure)、Amazon Web Service、Google Cloud Platformをはじめとしたいくつものクラウド環境が存在する。そうした中で近年クラウドサービスに求められているのが、オンプレミスなども含めた、複数のプラットフォームにおけるリソースの構築である。
こうしたリソース構築を自動化するサービスとしてはHashiCorpのTerraformが利用者が多く、公開されている情報も非常に多い。しかし、異なる環境でプロビジョニングしたリソースをどの様に運用してガバナンスを効かせるのかという課題は、現在でも多くのエンジニアの頭痛の種になっている。監視サービスを例として挙げると、Azureは AzureMonitor、Amazon Web ServiceはCloud Watch、Google Cloud PlatformではCloud Monitoringなどのサービスを個別に提供しているおり、オンプレミス側のリソースを監視する場合はさらに別の監視運用サービスを利用することも珍しくない。
環境ごとに利用するツールやサービスを切り替えるのは学習コストもかかるうえに利用者の負荷が非常に高い。こうした状況を改善することを目的とし、MicrosoftはAzure Arcと呼ばれるサービスを提供している。Azure ArcはAzure外のリソースを疑似的にAzure上のリソースとして登録し、パブリッククラウド、プライベートクラウド、オンプレミスなど、異なる環境をAzure上で透過的に管理・運用することが可能となる。日本の企業では既に富士通が事例をケーススタディとして発表している(英語記事)。
Azure Arcは主要な機能が以下の様に五つに大別されている。現状ではAzure Arc Enabled ServerとAzure Arc enabled Kubernetesが一般提供済みとなっている。
機能名 | 概要 | リリース状況 |
---|---|---|
Azure Arc Enabled Server | 異なる環境のサーバーを管理する | 一般提供 |
Azure Arc enabled data services | 異なる環境 Kubernetesクラスタに対しManaged SQL、Managed Instance、Azure Database for PostgreSQLを展開・管理する | パブリックプレビュー |
Azure Arc enabled Kubernetes | 異なる環境のKubernetes クラスタを管理する | 一般提供 |
Azure Arc enabled SQL Server | 異なる環境のSQL Serverへのポリシー適用、SQL Serverオンデマンド評価の利用が可能 | パブリックプレビュー |
Azure Arc enabled machine learning | 任意のKubernetesクラスターで機械学習モデルのトレーニングが可能となる | パブリックプレビュー |
※注1 2021年4月時点では、以下の二つの場合で料金が発生する。
- Azure外部のサーバに対してAzure Policyを利用する場合、サーバ毎に月々$6の料金が発生する
- Azure外部のKubernetesクラスタに対して最初の6vCPUは無料だが、vCPUコア毎に月々$2の料金が発生する
Azure Arcの利用料金についての詳細はこちらで確認できる。
Azure Arcの各機能を活用することで、Azureの機能とシームレスに連携することで柔軟なリソース管理が可能となる。
Azureはリソースマネージャーと呼ばれる機能でリソースを管理している。一方、Azure ArcはAzure以外のプラットフォームのリソースを、リソースマネージャーを介してAzure上のリソースとして登録する。これにより異なる環境のリソースをAzure上で一元的に管理することや、Azure Policy、Azure MonitorといったAzure上のガバナンスや監視機能を複数の環境へ適用することが可能となる。また、Azure Automationを利用して複数環境でのWindowsやLinuxサーバーのパッチ適用状況の管理・適用を一元的に行うこともできる。
本連載で扱うAzure Arc enabled Serverでは、別環境のサーバーをMicrosot Azure上のリソースとして疑似的に扱うことで、前述のAzure Monitorを利用した監視やAzure Automationを利用した更新プログラムの管理、Azure Policyを利用したガバナンス管理の適用などが可能となる。
次節から既に一般提供が開始されているAzure Arc enabled Serverの有効化方法を紹介する。
必要な環境
後述する Azure Arc enabled Server をセットアップする場合、以下の環境を事前に用意する必要があるため、事前に取得することを推奨する。
- Azureのサブスクリプションの取得
- AWSの利用環境の取得