Azure へのデプロイ
CelerData は、Azure 上にクラシックまたはエラスティッククラスタをデプロイするプロセスを 4 つの簡単なステップに簡素化する、使いやすいデプロイウィザードを提供しています。
- STEP1: クラスタリソースの設定
- STEP2: Azure の資格情報の設定
- STEP3: クラスタへのアクセスの設定
- STEP4: Azure クラウド上にクラスタをデプロイ
CelerData は、各 BE がそのストレージにデータの一部を持つクラシック共有なしクラスタと、すべてのデータが共有オブジェクトストレージにあり、キャッシュのみがコンピュートノード (CN) にローカルなエラスティック共有データクラスタをサポートしています。エラスティッククラスタでは、CN が BE に置き換わります。
エラスティッククラスタの詳細は warehouse overview を参照してください。
制限事項
CelerData クラスタをデプロイするには、ストレージアカウント、マネージド アイデンティティ、仮想ネットワーク、セキュリティグループ、サービスプリンシパル、および SSH キーペア など、さまざまな Azure リソースが必要です。これらのリソースは同じサブスクリプションと同じリソースグループに属し、CelerData クラスタデプロイメントのリージョンでもある同じ Azure リージョンに属している必要があります。
デプロイウィザードの開始
デプロイウィザードを開始するには、次の手順に従ってください。
- CelerData Cloud BYOC コンソール にサインインします。
- Clusters ページで、Create cluster をクリックします。
- 表示されるダイアログボックスで、Classic cluster または Elastic cluster を選択し、クラウドプロバイダーとして Azure を選択して、Next をクリックします。
デプロイウィザードを開始した後、以下に説明するように手動デプロイを設定して実行できます。
NOTE
Azure では、CelerData は手動デプロイのみをサポートしていま す。
デプロイを成功させるためには、データ資格情報、デプロイ資格情報、およびネットワーク構成を提供する必要があります。
-
データ資格情報
CelerData の Azure 用データ資格情報は、Azure ストレージアカウント内のコンテナに対する読み取りおよび書き込み権限を宣言するマネージドアイデンティティを参照します。マネージドアイデンティティを通じて、Azure 仮想ネットワーク内の VM は特定のストレージに対する読み取りおよび書き込み権限を得ることができます。特定のデータ資格情報を使用して CelerData クラスタを作成した後、クラスタ内の SQL クエリ用に CelerData によって生成されたすべてのプロファイルは、データ資格情報で参照される Azure ストレージアカウントおよびコンテナに保存されます。
-
デプロイ資格情報
CelerData の Azure 用デプロイ資格情報には、サービスプリンシパルと SSH キーペアが含まれます。サービスプリンシパルは、デプロイメントおよびフォローアップスケーリングに必要なリソースを CelerData が起動することを可能にし、SSH キーペアは、Azure 仮想ネットワーク上でサービスをデプロイするために必要なアクセスを CelerData に提供します。
-
ネットワーク構成
CelerData の Azure 用ネットワーク構成は、CelerData クラスタデプロイメントをホストする仮想ネットワークやサブネットなどのネットワークインフラストラクチャを定義し、CelerData クラスタの入出力トラフィックを制御するセキュリティルールを定義します。
デプロイウィザードを開始した後(前のセクション「デプ ロイウィザードの開始」で説明したように)、デプロイメントのために 4 つの必須ステップ(STEP1 から STEP4)を順に案内されます。
STEP1: クラスタリソースの設定
ビジネス要件に基づいてクラスタを設定し、必要に応じて Add tag をクリックしてクラスタに 1 つ以上のタグを追加します。その後、Next をクリックして続行します。ここで追加したタグは、クラスタに関連付けられた Azure リソースに添付されます。
NOTE
- CelerData は Free Developer Tier を提供しています。これを使用するには、4 CPU コアと 16-GB RAM を提供する FE および BE インスタンスタイプを選択する必要があります。
- 4 CPU コアと 16-GB RAM は、FE および BE の最小構成パッケージでもあります。
-
クラシッククラスタの場合、次の構成項目を設定します。
パラメータ 必須 説明 クラスタ名 はい クラスタの名前を入力します。クラスタが作成された後、名前は変更できません。後でクラスタを簡単に識別できるような情報を含む名前を入力することをお勧めします。 Azure リージョン はい クラスタをホストする Azure リージョンを選択します。CelerData がサポートするリージョンについては、Supported cloud platforms and regions を参照してください。 FE HA モード いいえ FE HA モードを有効または無効にします。FE HA モードはデフォルトで無効です。 - FE HA モードが無効の場合、1 つの FE のみがデプロイされます。この設定は、CelerData がどのように機能するかを学ぶための概念実証クラスタを作成する場合や、テスト目的で小規模なクラスタを作成する場合に推奨されます。
- FE HA モードが有効の場合、3 つの FE がデプロイされます。この設定は、プロダクション対応環境のクラスタを作成する場合に推奨されます。3 つの FE を使用すると、クラスタはより多くの高並列クエリを処理しながら高可用性を確保できます。
FE インスタンスタイプ はい クラスタ内の FE ノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 BE インスタンスタイプ はい クラスタ内の BE ノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 BE ストレージサイズ はい クラスタ内の各 BE ノードに提供したいストレージ容量を指定します。 BE ノード数 はい クラスタにデプロイしたい BE ノードの数を指定します。処理するデータ量に基づいて BE の数を決定できます。デフォルト値は 3 です。これは、CelerData が各テーブルを 3 つの異なる BE に 3 つのレプリカとして保存する必要があるためです。
-
エラスティッククラスタの場合、次の構成項目を設定します。
パラメータ 必須 説明 クラスタ名 はい クラスタの名前を入力します。クラスタが作成された後、名前は変更できません。後でクラスタを簡単に識別できるような情報を含む名前を入力することをお勧めします。 Azure リージョン はい クラスタをホストする Azure リージョンを選択します。CelerData がサポートするリージョンについては、Supported cloud platforms and regions を参照してください。 コーディネータ HA モード いいえ コーディネータ HA モードを有効または無効にします。コーディネータ HA モードはデフォルトで無効です。 - コーディネータ HA モードが無効の場合、1 つのコーディネータのみがデプロイされます。この設定は、CelerData がどのように機能するかを学ぶための概念実証クラスタを作成する場合や、テスト目的で小規模なクラスタを作成する場合に推奨されます。
- コーディネータ HA モードが有効の場合、3 つのコーディネータがデプロイされます。この設定は、プ ロダクション対応環境のクラスタを作成する場合に推奨されます。3 つのコーディネータを使用すると、クラスタはより多くの高並列クエリを処理しながら高可用性を確保できます。
コーディネータノードサイズ はい クラスタ内のコーディネータノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 コンピュートノードサイズ はい クラスタ内のデフォルトウェアハウスのコンピュートノードのインスタンスタイプを選択します。CelerData がサポートするインスタンスタイプについては、Supported instance types を参照してください。 コンピュートストレージサイズ いいえ デフォルトウェアハウスのコンピュートノードのストレージサイズを指定します。このフィールドの横にあるボックスにチェックを入れることで、ボリュームの数をカスタマイズすることもできます。 コンピュートノード数 はい クラスタ内のデフォルトウェアハウスのコンピュートノードの数を指定します。処理するデータ量に基づいてコンピュートノードの数を決定できます。デフォルト値は 1 です。
STEP2: Azure の資格情報の設定
このステップでは、新しいデータ資格情報と新しいデプロイ資格情報を作成するか、以前の成功したデプロイメントによって CelerData によって自動的に作成された既存の資格情報を選択する必要があります。設定が完了したら、Next をクリックして続行します。
CelerData を初めて使用する場合は、新しいデータ資格情報と新しいデプロイ資格情報を作成することをお勧めします。
新しい資格情報を作成することを選択する
次の図に示すように、No, I need to manually create new credentials from scratch を選択します。その後、データ資格情報とデプロイ資格情報を作成します。
データ資格情報を作成する
-
Microsoft Azure ポータル にサインインします。Create a managed identity for your Azure storage account に記載されている手順に従って、ストレージアカウントにアクセスできるマネージドアイデンティティを作成し、マネージドアイデンティティの Properties ページからマネージドアイデンティティの Id を取得します。取得した情報を後でアクセスできる場所に保存します。
-
CelerData Cloud BYOC コンソールに戻ります。
-
Managed identity resource ID フィールドに、マネージドアイデンティティの ID を貼り付けます。
-
Storage account name フィールドに、ストレージアカウントの名前を指定します。
-
Container name フィールドに、コンテナの名前を指定します。
Data credential セクションのフィールドについては、次の表を参照してください。
フィールド 必須 説明 Managed identity resource ID はい マネージドアイデンティティの ID を入力します。形式: /subscriptions/xxxxxxxxxxx/resourcegroups/yyyyyy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zzzz
.Storage account name はい ストレージアカウントの名前を入力します。
NOTICE
ストレージアカウントは、STEP1 で選択した Azure リージョンに属している必要があります。Container name はい ストレージアカウント内のコンテナの名前を入力します。
NOTICE
コンテナはストレージアカウントに属し、その Public access level が Private (no anonymous access) に設定されている必要があります。さらに、使用するマネージドアイデンティティはコンテナに対する権限を持っている必要があります。詳細については、Create a storage account and a container for CelerData in Azure を参照してください。 -
デプロイ資格情報を作成する
-
Microsoft Azure ポータル にサインインします。Create a service principal for CelerData on Azure に記載されている手順に従って、アプリケーション登録を作成し、登録されたアプリケーションの Overview ページから Directory (tenant) ID と Application (client) ID を取得し、登録されたアプリケーションの Certificates & secrets ページからクライアントシークレットの Value を取得します。Create an SSH key pair for CelerData on Azure に記載されている手順に従って、SSH キーペアを作成し、SSH キーペアの Properties ページから SSH キーペアの Id を取得します。取得した情報を後でアクセスできる場所に保存します。
-
CelerData Cloud BYOC コンソールに戻ります。
- Directory (tenant) ID フィールドに、登録されたアプリケーションのディレクトリ (テナント) ID を貼り付けます。
- Application (client) ID フィールドに、登録されたアプリケーションのアプリケーション (クライアント) ID を貼り付けます。
- Client secret value フィールドに、登録されたアプリケーションのクライアントシークレットの値を貼り付けます。
- SSH Key resource ID フィールドに、SSH キーペアの ID を貼り付けます。
Deployment credential セクションのフィールドについては、次の表を参照してください。
フィールド 必須 説明 Directory (tenant) ID はい 登録されたアプリケーションのディレクトリ (テナント) ID を入力します。 Application (client) ID はい 登録されたアプリケーションのアプリケーション (クライアント) ID を入力します。 Client secret value はい 登録されたアプリケーションのクライアントシークレットの値を入力します。
CAUTION
クライアントシークレットの値は、作成直後を除いて表示できません。作成時にシークレット値を保存しておくことを忘れないでください。SSH Key resource ID はい SSH キーペアの ID を入力します。形式: /subscriptions/xxxxxxxxx/resourceGroups/yyyyyy/providers/Microsoft.Compute/sshPublicKeys/zzzzz
.
NOTICE
SSH キーペアは、STEP2 で選択または作成したデータ資格情報で参照されるマネージドアイデンティティと同じ リソースグループ に属し、STEP1 で選択した Azure リージョンに属している必要があります。
既存の資格情報を選択することを選択する
次の図に示すように、Yes, I hope to reuse the previous credentials and cloud storage を選択します。その後、既存のデータ資格情報と既存のデプロイ資格情報を選択します。
データ資格情報を選択する
Data credential セクションで、Reuse data credential ドロップダウンリストを展開し、クラ スタと同じ Azure リージョン(つまり、STEP1 で選択したリージョン)に属するデータ資格情報を選択します。
NOTE
ドロップダウンリストには、以前の成功したデプロイメントによって CelerData によって自動的に作成されたすべてのデータ資格情報が表示されます。
データ資格情報を選択すると、CelerData は自動的に Managed identity resource ID、Storage account name、および Container name フィールドを入力します。
Data credential セクションのフィールドについては、次の表を参照してください。
フィールド | 必須 | 説明 |
---|---|---|
Managed identity resource ID | はい | マネージドアイデンティティの ID を入力します。形式: /subscriptions/xxxxxxxxxxx/resourcegroups/yyyyyy/providers/Microsoft.ManagedIdentity/userAssignedIdentities/zzzz . |
Storage account name | はい | ストレージアカウントの名前を入力します。 NOTICE ストレージアカウントは、STEP1 で選択した Azure リージョンに属している必要があります。 |
Container name | はい | ストレージアカウント内のコンテナの名前を入力します。 NOTICE コンテナはストレージアカウントに属し、その Public access level が Private (no anonymous access) に設定されている必要があります。さらに、使用するマネージドアイデンティティはコンテナに対する権限を持っている必要があります。詳細については、Create a storage account and a container for CelerData in Azure を参照してください。 |
デプロイ資格情報を選択する
Deployment credential セクションで、Reuse deployment credential ドロップダウンリストを展開し、クラスタと同じ Azure リージョン(つまり、STEP1 で選択したリージョン)に属するデプロイ資格情報を選択します。
NOTE
ドロップダウンリストには、以前の成功したデプロイメントによって CelerData によって自動的に作成されたすべてのデプロイ資格情報が表示されます。
デプロイ資格情報を選択すると、CelerData は自動的に Directory (tenant) ID、Application (client) ID、および SSH Key resource ID フィールドを入力します。
Deployment credential セクションのフィールドについては、次の表を参照してください。
フィールド | 必須 | 説明 |
---|---|---|
Directory (tenant) ID | はい | 登録されたアプリケーションのディレクトリ (テナント) ID を入力します。 |
Application (client) ID | はい | 登録されたアプリケーションのアプリケーション (クライアント) ID を入力します。 |
SSH Key resource ID | はい | SSH キーペアの ID を入力します。形式: /subscriptions/xxxxxxxxx/resourceGroups/yyyyyy/providers/Microsoft.Compute/sshPublicKeys/zzzzz .NOTICE SSH キーペアは、STEP2 で選択または作成したデータ資格情報で参照されるマネージドアイデンティティと同じ リソースグループ に属し、STEP1 で選択した Azure リージョンに属している必要があります。 |
STEP3: クラスタへのアクセスの設定
このステップでは、次のことを行う必要があります。
-
ネットワーク構成を設定します。新しいネットワーク構成を作成するか、以前の成功したデプロイメントによって CelerData によって自動的に作成された既存のネットワーク構成を選択します。
NOTE
CelerData は、複数のクラスタ間で同じネットワーク構成を再利用することを許可しており、複数のクラスタが同じ Azure 仮想ネットワーク、サブネット、およびセキュリティグループを共有できることを意味します。
-
クラスタ資格情報を設定します。
-
接続性をテストします。
ネットワーク構成を設定する
Network configuration セクションで、新しいネットワーク構成を作成するか、既存のものを選択します。
CelerData を初めて使用する場合は、新しいネットワーク構成を作成することをお勧めします。
新しいネットワーク構成を作成する
-
Microsoft Azure ポータル にサインインします。Create a virtual network, a subnet, and a security group for CelerData on Azure に記載されている手順に従って、Azure 仮想ネットワークとサブネットを作成し、仮想ネットワークの Properties ページから仮想ネットワークの Resource ID を取得し、仮想ネットワーク内にクラスタをデプロイするサブネットの名前を取得します。取得した情報を後でアクセスできる場所に保存します。
-
CelerData Cloud BYOC コンソールに戻ります。Network Configuration セクションで、Azure 仮想ネットワークのリソース ID を Virtual network resource ID フィールドに貼り付け、サブネットの名前を Subnet name フィールドに貼り付けます。
クラスタがパブリックネットワークからアクセス可能かどうかを指定するには、Public accessible の横にあるチェックボックスを選択またはクリアすることで指定できます。Public accessible を選択すると、CelerData はクラスタにロードバランサをアタッチして受信クエリを分散し、クラスタにパブリックドメイン名を割り当てて、パブリックネットワーク経由でクラスタにアクセスできるようにします。Public accessible を選択しない場合、クラスタはプライベートドメイン名を介してのみアクセス可能です。
Network Configuration セクションのフィールドについては、次の表を参照してください。
フィールド 必須 説明 Virtual network resource ID はい Azure 仮想ネットワークのリソース ID を入力します。形式: /subscriptions/xxxxxx/resourceGroups/yyyyyy/providers/Microsoft.Network/virtualNetworks/zzzzz
.Subnet name はい サブネットの名前を入力します。 Public accessible いいえ クラスタがパブリックネットワークからアクセス可能かどうかを指定します。
既存のネットワーク構成を選択する
Reuse network configuration ドロップダウンリストを展開し、クラスタと同じ Azure リージョン(つまり、STEP1 で選択したリージョン)に属するネットワーク構成を選択します。
NOTE
ドロップダウンリストには、以前の成功したデプロイメントによって CelerData によって自動的に作成されたすべてのネットワーク構成が表示されます。
ネットワーク構成を選択すると、CelerData は自動的に Virtual network resource ID および Subnet name フィールドを入力します。
Network Configuration セクションのフィールドについては、次の表を参照してください。
フィールド | 必須 | 説明 |
---|---|---|
Virtual network resource ID | はい | Azure 仮想ネットワークのリソース ID を入力します。形式: /subscriptions/xxxxxx/resourceGroups/yyyyyy/providers/Microsoft.Network/virtualNetworks/zzzzz . |
Subnet name | はい | サブネットの名前を入力します。 |
クラスタ資格情報を設定する
Cluster credential セクションで、Admin password フィールドに admin アカウントのパスワードを入力するか、Admin password フィールドの横にある Random をクリックして、CelerData によって生成されたパスワードを取得します。
NOTE
- admin アカウントはクラスタの管理者であり、CelerData クラウドアカウント内で有効なすべての権限を持っています。
- クラスタが作成された後、クラスタの詳細ページに移動し、ページの右上隅で Manage > Reset password を選択して admin アカウントのパスワードをリセットできます。クラスタが Running 状態にあるときにのみ admin アカウントのパスワードをリセットできます。
接続性をテストする
-
Test connect をクリックして、CelerData の Azure 仮想ネットワークと自身の Azure 仮想ネットワーク間の接続性を確認します。
接続がテストに合格すると、Start create ボタンが有効になります。
-
Start create をクリックして続行します。
STEP4: Azure クラウド上にクラスタをデプロイ
前の 3 つのステップを完了すると、CelerData は自動的にク ラウドリソースを起動し、自身の Azure 仮想ネットワークにクラスタをデプロイします。これには数分かかります。
デプロイが完了すると、次の図に示すメッセージが表示されます。
メッセージ内の Preview Cluster をクリックしてクラスタを表示できます。また、Clusters ページに戻って、デプロイが成功したクラスタが Running 状態にあることを確認できます。
STEP5: デフォルトストレージボリュームの設定 - エラスティッククラスタのみ
クラシッククラスタをデプロイした場合は、このステップをスキップしてください。
デフォルトでは、すべてのデータベースとテーブルはデフォルトストレージボリュームに作成されます。デフォルトストレージボリュームに使用されるストレージアカウントとコンテナは、STEP2 で指定されました。
最近のリリースでは、デフォルトストレージボリュームはクラスタを作成した後、データベースやテーブルを作成する前に手動で作成する必要があります。ストレージボリュームは現在、Azure Blob Storage のマネージドアイデンティティ認証方法をサポートしていないため、認証と承認には共有キーまたは共有アクセス署名 (SAS) トークンを使用する必要があります。
Azure Blob Storage にストレージボリュームを作成する
必要なもの:
- Blob Storage アカウントのエンドポイントとコンテナパス。
- ストレージアカウントの共有キーまたは共有アクセス署名 (SAS) トークン。
SQL クライアントを使用して管理者ユーザーとしてクラスタに接続し、STORAGE VOLUME
を作成します(バケットと認証の詳細を置き換えてください)。
CREATE STORAGE VOLUME default_storage_volume
TYPE = AZBLOB
LOCATIONS = ("azblob://<azblob_path>") -- 例: "azblob://testcontainer/subpath"
PROPERTIES (
"enabled" = "true",
"azure.blob.endpoint" = "https://<storage_account>.blob.core.windows.net",
"azure.blob.shared_key" = "<shared_key>" -- SAS トークンの場合: "azure.blob.sas_token" = "<sas_token>"
);