次の方法で共有


リソースの前提条件

この記事では、HDInsight on AKS の使用を開始するために必要なリソースについて詳しく取り上げます。 必須のリソースおよび任意のリソースと、その作成方法について説明します。

必須のリソース

次の表では、クラスターの種類ごとにクラスターの作成に必要なリソースを示しています。

ワークロード 管理サービス ID (MSI) 記憶域 SQL Server - SQL Database Key Vault
Trino
Flink
Spark
Hive メタストア (HMS) を使用する Trino、Flink、Spark

Note

MSI は、SQL Database を除くリソース間の認証と認可のセキュリティ標準として使用されます。 ロールの割り当ては、ストレージへの MSI の認可のためにデプロイ前に行われ、SQL Database 用にはシークレットが Key Vault に保存されます。 ストレージのサポートには ADLS Gen2 が採用され、コンピューティング エンジンのデータ ストアとして使用されます。また、HIVE メタストアでのテーブル管理には SQL Database が使用されます。

Optional resources

Note

  • VNet には、既存のルート テーブルが関連付けられていないサブネットが必要です。
  • HDInsight on AKS により、独自の VNet とサブネットの使用が可能となり、自社のニーズに合わせてネットワーク要件をカスタマイズできます。
  • Log Analytics ワークスペースは任意であり、Azure Log Analytics などの Azure Monitor 機能を使用したい場合に、事前に作成する必要があります。

必須のリソースは、次の 2 つの方法で作成できます。

ARM テンプレートの使用

次の ARM テンプレートを使用すると、リソースのプレフィックスと必要な詳細を設定することで、指定されている必須のリソースをワンクリックで作成できます。

たとえば、“demo” というリソース プレフィックスを付けると、選択したテンプレートに応じて、次のリソースがリソース グループに作成されます。

  • demoMSI という名前の MSI が作成されます。
  • demostore という名前のストレージが democontainer という名前のコンテナーとともに作成されます。
  • demoKeyVault という名前の Key Vault がテンプレートのパラメータとなるシークレットとともに作成されます。
  • demoSqlDB という名前の Azure SQL データベースが demoSqlServer という名前の SQL サーバーとともに作成されます。
ワークロード 前提条件
Trino 指定のリソースを次のように作成します。
1.マネージドサービス ID (MSI): ユーザー割り当てマネージド ID。

Trino を Azure にデプロイする
Flink 指定のリソースを次のように作成します。
1.マネージドサービス ID (MSI): ユーザー割り当てマネージド ID。
2.ADLS Gen2 ストレージ アカウントとコンテナー。

ロールの割り当て:
1.ストレージ アカウントのユーザー割り当て MSI に “ストレージ BLOB データ所有者” ロールを割り当てます。

Apache Flink を Azure にデプロイする
Spark 指定のリソースを次のように作成します。
1.マネージドサービス ID (MSI): ユーザー割り当てマネージド ID。
2.ADLS Gen2 ストレージ アカウントとコンテナー。

ロールの割り当て:
1.ストレージ アカウントのユーザー割り当て MSI に “ストレージ BLOB データ所有者” ロールを割り当てます。

Spark を Azure にデプロイする
Hive メタストア (HMS) を使用する Trino、Flink、Spark 指定のリソースを次のように作成します。
1.マネージドサービス ID (MSI): ユーザー割り当てマネージド ID。
2.ADLS Gen2 ストレージ アカウントとコンテナー。
3.Azure SQL Server と SQL Database。
4.SQL Server 管理者の資格情報を保存するための、Azure Key Vault とシークレット。

ロールの割り当て:
1.ストレージ アカウントのユーザー割り当て MSI に “ストレージ BLOB データ所有者” ロールを割り当てます。
2.Key Vault のユーザー割り当て MSI に “Key Vault シークレット ユーザー” ロールを割り当てます。

Trino HMS を Azure にデプロイする

Note

これらの ARM テンプレートを使用するには、ユーザーが新規リソースを作成し、サブスクリプション内のリソースにロールを割り当てることのできるアクセス許可を持っている必要があります。

Azure portal を使用

ユーザー割り当てマネージド ID (MSI) を作成する

マネージド ID とは、Microsoft Entra ID (Microsoft Entra ID) に登録され、資格情報が Azure によって管理されている ID です。 マネージド ID を使用すれば、サービス プリンシパルを Microsoft Entra ID に登録して、証明書などの資格情報を保持する必要はありません。

HDInsight on AKS ではユーザー割り当て MSI に依存して、さまざまなコンポーネント間の通信を行っています。

ストレージ アカウントを作成する – ADLS Gen 2

ストレージ アカウントはクラスターのログおよび他の出力の既定の保存先として使用されます。 ストレージ アカウントの作成時に階層型名前空間を有効にして、ADLS Gen2 ストレージとして使用します。

  1. ロールの割り当て: このストレージ アカウントに対して作成されるユーザー割り当て MSI に “ストレージ BLOB データ所有者” ロールを割り当てます。

  2. コンテナーの作成: ストレージ アカウントの作成後、このストレージ アカウントにコンテナーを作成します。

Note

任意で、クラスターの作成時にコンテナーを作成することも可能です。

Azure SQL Database を作成する

外部メタストアとして使用する Azure SQL Database はクラスター作成時に作成するか、または既存の SQL Database を使用することができます。 ただし、次のプロパティを設定する必要があります。

SQL Server および SQL Database で有効にする必要のあるプロパティ-

リソースの種類 プロパティ 説明
SQL Server 認証方法 SQL Server を作成するときに、"認証方法" は次のようにします
認証方法を選択する方法を示すスクリーンショット。
SQL Database Azure のサービスとリソースにこのサーバーへのアクセスを許可する Azure portal から SQL データベースの [ネットワーク] ブレードで、このプロパティを有効にします。

Note

  • 現在、組み込みのメタストアとしては Azure SQL Database のみをサポートしています。
  • Hive の制限により、メタストアのデータベース名で "-" (ハイフン) 文字はサポートされていません。
  • Azure SQL Database は、クラスターと同じリージョンに配置する必要があります。
  • 任意で、クラスターの作成時に SQL Database を作成することも可能です。 ただし、新しく作成したデータベースを候補リストに表示するには、クラスター作成ページを更新する必要があります。

Azure Key Vault を作成する

Key Vault があれば、SQL Database の作成時に設定された SQL Server 管理者パスワードを保存することができます。 HDInsight on AKS プラットフォームでは、資格情報を直接処理しません。 そのため、重要な資格情報を Key Vault に保存する必要があります。

  1. ロールの割り当て: この Key Vault に必要なリソースのひとつとして作成するユーザー割り当て MSI に “Key Vault シークレット ユーザー” ロールを割り当てます。

  2. シークレットの作成: このステップにより、SQL Server 管理者パスワードをシークレットとして Azure Key Vault に保持できます。 シークレットの作成時に、[値] フィールドにパスワードを追加します。

Note

  • シークレット名を必ずメモしておいてください (クラスター作成時に必要です)。
  • Azure portal を使用して Key Vault にシークレットを追加するには、ID またはアカウントに “Key Vault 管理者” ロールを割り当てておく必要があります。 Key Vault に移動して、ロールを割り当てる方法のステップに従います。