Azure 準備
この記事では、BYOC タイプのウェアハウス作成に関わる Azure の操作について主に紹介します。内容には VNet とサブネットの準備、Resource Orchestration と Resource Stack について(任意) が含まれます。
VNet とサブネットの準備
BYOC タイプのウェアハウスを作成する前に、要件を満たす既存の VNet とサブネットがない場合は、事前に VPC とサブネットを作成する必要があります。具体的な操作は以下の通りです:
注意:
- リージョン、アベイラビリティーゾーン、サブネット要件を満たす VNet とサブネットが存在し、この VNet に BYOC ウェアハウスをデプロイしたい場合は、新しい VNet とサブネットを作成する以下の手順をスキップしてください。
- 現在サポートされているリージョンとアベイラビリティーゾーンは: | Cloud Platform | Region Name | Region ID | Availability Zone ID | |:---------------|:-----------|:---------------------|:---------------------| | Azure | West US 3 | westus3 | all |
VNet とサブネットの作成
Azure Portal を開き、Virtual networks サービスを選択します。
Create をクリックします。

Subscription と Resource Group を選択します。Virtual network name を入力します。Region を選択します。Next をクリックします。
注記: 現在サポートされているリージョンとアベイラビリティーゾーンは:
| Cloud Platform | Region Name | Region ID | Availability Zone ID |
|---|---|---|---|
| Azure | West US 3 | westus3 | all |

+ Add a subnet をクリックします。Edit をクリックします。

Name を入力します。サブネット範囲を指定します。Save をクリックします。Next をクリックします。
注記:インターネットにアクセスしたい場合は、サブネット作成時に NAT gateway を指定できます

Create をクリックします。

Resource Orchestration と Resource Stack について(任意)
注記:この章では何も行う必要はありません。動作原理について詳しく知りたい場合は、続けてお読みください。
お客様のクラウドアカウント下で Azure Deployment Service を通じてリソーススタックを実行する場合、VNet、Virtual Machine、Storage Account などのクラウドリソースに対して関連操作を実行するため、一連の IAM 権限が必要になります。
このスクリプトは管理者権限で実行するか、管理者にこのスクリプトの実行を依頼してください。そうでない場合、権限不足によりテンプレート実行が失敗する可能性があります。
Resource Orchestration テンプレートの説明
VeloDB が提供するリソースオーケストレーションテンプレートは、お客様のクラウドアカウント下で実行され、テンプレートコードは可視化・監査可能です。VPC 内のデータやその他の環境に対して操作を行うことはありません。VeloDB が提供するリソースオーケストレーションテンプレートは、以下のリンクから取得できます:
https://onlinevelodbwestus3.blob.core.windows.net/velodb-cloud-online-westus3/public/azure-westus3-byoc-cf.json
上記のリソーステンプレートをAzure Deployment Stacksを通じて実行すると、Agentが自動的に作成・デプロイされます。その後、AgentはVeloDB Cloudとのプライベート接続を確立し、ウェアハウスの初期化プロセスを完了します。
リソースオーケストレーションスクリプトの実行後、VeloDB Cloudプラットフォームから対応するウェアハウスに入り、通常のウェアハウスを使用するのと同じようにデータ分析用のコンピューティングクラスターの作成を開始できます。
リソーススタック情報の確認方法
VeloDBリソーススタックテンプレートによって作成されたすべてのリソース情報を確認でき、Azure Deployment Stacksを通じてリソース名による特定のリソースの表示が可能です。
注意 リソーススタックテンプレートによって作成されたすべてのリソースはお客様のクラウドアカウントに属し、お客様のVPC内でのみ使用され、外部に漏洩することはありません。
- Virtual Machine
- 名前: VeloDBAgent
- 目的: Agent、Prometheus、FluentBitなどのプログラムのデプロイに使用
- Private Endpoint
- 名前: VeloDBEndpoint
- 目的: VeloDB Manageサービスとのプライベートネットワーク接続(PrivateLink Connection)を確立し、制御命令の取得と監視・ログの一方向プッシュを可能にする
- Network SecurityGroup
- 名前: VeloDBSecurityGroupIngress、VeloDBSecurityGroupEgress
- 目的: エンドポイントとVeloDBによって作成されたすべてのVirtual Machineにバインドされ、ファイアウォールルールを通じて特定のポートとソースに対するインバウンド・アウトバウンドトラフィックを制限
- Storage Account
- 名前: VeloDBBucket
- 目的: データウェアハウスデータの保存に使用
- User-Assigned Managed Identity & Role Definition
- 名前:
- VeloDBDataAccessIdentity(Kernel側マネージドアイデンティティ)、VeloDBAgentIdentity(Control側マネージドアイデンティティ)
- VeloDBControlPlaneRole(Control側マネージドアイデンティティにバインドされたカスタムロール権限)
- 目的: 作成されたユーザー割り当てマネージドアイデンティティはAgentに必要な最小権限ポリシーを持ち、すべての後続制御操作はVeloDBAgentIdentityのアイデンティティを使用して実行される
- 名前:
作成されたユーザー割り当てマネージドアイデンティティの権限
テンプレートが初回実行されてデプロイメントスタックを作成した後、すべての管理・制御操作はユーザー割り当てマネージドアイデンティティの権限に基づいて実行されます。以下はテンプレートからの抜粋です。
-
権限の概要:
'Microsoft.Compute/register/action'
'Microsoft.Compute/virtualMachines/read'
'Microsoft.Compute/virtualMachines/write'
'Microsoft.Compute/virtualMachines/delete'
'Microsoft.Compute/virtualMachines/start/action'
'Microsoft.Compute/virtualMachines/powerOff/action'
'Microsoft.Compute/virtualMachines/redeploy/action'
'Microsoft.Compute/virtualMachines/restart/action'
'Microsoft.Compute/virtualMachines/deallocate/action'
'Microsoft.Compute/virtualMachines/runCommand/action'
'Microsoft.Compute/virtualMachines/attachDetachDataDisks/action'
'Microsoft.Compute/virtualMachines/vmSizes/read'
'Microsoft.Compute/virtualMachines/runCommands/read'
'Microsoft.Compute/virtualMachines/runCommands/write'
'Microsoft.Compute/virtualMachines/instanceView/read'
'Microsoft.Compute/virtualMachines/extensions/read'
'Microsoft.Compute/locations/diskOperations/read'
'Microsoft.Compute/disks/read'
'Microsoft.Compute/disks/write'
'Microsoft.Compute/disks/delete'
'Microsoft.Compute/skus/read'
'Microsoft.Compute/locations/usages/read'
'Microsoft.Compute/locations/publishers/artifacttypes/offers/skus/read'
'Microsoft.Compute/locations/publishers/artifacttypes/offers/read'
'Microsoft.Compute/locations/publishers/artifacttypes/offers/skus/versions/read'
'Microsoft.Compute/operations/read'
'Microsoft.Compute./assets/read'
'Microsoft.Compute/locations/operations/read'
'Microsoft.Compute/locations/vmSizes/read'
'Microsoft.Compute/locations/runCommands/read'
'Microsoft.Network/register/action'
'Microsoft.Network/operations/read'
'Microsoft.Network/loadBalancers/read'
'Microsoft.Network/loadBalancers/write'
'Microsoft.Network/loadBalancers/delete'
'Microsoft.Network/loadBalancers/health/action'
'Microsoft.Network/loadBalancers/backendAddressPools/queryInboundNatRulePortMapping/action'
'Microsoft.Network/loadBalancers/backendAddressPools/updateAdminState/action'
'Microsoft.Network/loadBalancers/backendAddressPools/health/action'
'Microsoft.Network/loadBalancers/backendAddressPools/read'
'Microsoft.Network/loadBalancers/backendAddressPools/write'
'Microsoft.Network/loadBalancers/backendAddressPools/delete'
'Microsoft.Network/loadBalancers/backendAddressPools/backendPoolAddresses/read'
'Microsoft.Network/loadBalancers/backendAddressPools/join/action'
'Microsoft.Network/loadBalancers/providers/Microsoft.Insights/diagnosticSettings/read'
'Microsoft.Network/loadBalancers/providers/Microsoft.Insights/diagnosticSettings/write'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/read'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/join/action'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/loadBalancerPools/read'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/loadBalancerPools/write'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/loadBalancerPools/delete'
'Microsoft.Network/loadBalancers/loadBalancingRules/read'
'Microsoft.Network/loadBalancers/loadBalancingRules/health/action'
'Microsoft.Network/loadBalancers/networkInterfaces/read'
'Microsoft.Network/loadBalancers/outboundRules/read'
'Microsoft.Network/loadBalancers/virtualMachines/read'
'Microsoft.Network/loadBalancers/probes/read'
'Microsoft.Network/loadBalancers/probes/join/action'
'Microsoft.Network/loadBalancers/providers/Microsoft.Insights/metricDefinitions/read'
'Microsoft.Network/networkInterfaces/read'
'Microsoft.Network/networkInterfaces/write'
'Microsoft.Network/networkInterfaces/join/action'
'Microsoft.Network/networkInterfaces/delete'
'Microsoft.Network/networkInterfaces/effectiveRouteTable/action'
'Microsoft.Network/networkInterfaces/effectiveNetworkSecurityGroups/action'
'Microsoft.Network/networkInterfaces/ipconfigurations/read'
'Microsoft.Network/networkInterfaces/loadBalancers/read'
'Microsoft.Network/networkSecurityGroups/read'
'Microsoft.Network/networkSecurityGroups/write'
'Microsoft.Network/networkSecurityGroups/delete'
'Microsoft.Network/networkSecurityGroups/join/action'
'Microsoft.Network/virtualNetworks/read'
'Microsoft.Network/virtualNetworks/joinLoadBalancer/action'
'Microsoft.Network/virtualNetworks/subnets/read'
'Microsoft.Network/virtualNetworks/subnets/join/action'
'Microsoft.Network/virtualNetworks/subnets/joinLoadBalancer/action'
'Microsoft.Network/ipAllocations/read'
'Microsoft.Network/publicIPAddresses/read'
'Microsoft.Storage/storageAccounts/blobServices/containers/read'
'Microsoft.Storage/storageAccounts/blobServices/containers/write'
'Microsoft.Storage/storageAccounts/blobServices/containers/delete'
具体的な権限は以下のように分かれています:
-
Virtual Machine権限:
-
vmインスタンスを管理する
'Microsoft.Compute/register/action'
'Microsoft.Compute/virtualMachines/read'
'Microsoft.Compute/virtualMachines/write'
'Microsoft.Compute/virtualMachines/delete'
'Microsoft.Compute/virtualMachines/start/action'
'Microsoft.Compute/virtualMachines/powerOff/action'
'Microsoft.Compute/virtualMachines/redeploy/action'
'Microsoft.Compute/virtualMachines/restart/action'
'Microsoft.Compute/virtualMachines/deallocate/action'
'Microsoft.Compute/virtualMachines/runCommand/action'
'Microsoft.Compute/virtualMachines/attachDetachDataDisks/action'
'Microsoft.Compute/virtualMachines/vmSizes/read'
'Microsoft.Compute/virtualMachines/runCommands/read'
'Microsoft.Compute/virtualMachines/runCommands/write'
'Microsoft.Compute/virtualMachines/instanceView/read'
'Microsoft.Compute/virtualMachines/extensions/read'
'Microsoft.Compute/locations/diskOperations/read'
'Microsoft.Compute/disks/read'
'Microsoft.Compute/disks/write'
'Microsoft.Compute/disks/delete'
'Microsoft.Compute/skus/read'
'Microsoft.Compute/locations/usages/read'
'Microsoft.Compute/locations/publishers/artifacttypes/offers/skus/read'
'Microsoft.Compute/locations/publishers/artifacttypes/offers/read'
'Microsoft.Compute/locations/publishers/artifacttypes/offers/skus/versions/read'
'Microsoft.Compute/operations/read'
'Microsoft.Compute./assets/read'
'Microsoft.Compute/locations/operations/read'
'Microsoft.Compute/locations/vmSizes/read'
'Microsoft.Compute/locations/runCommands/read'
-
-
ファイアウォールルールを管理する
compute.firewalls.create
compute.firewalls.createTagBinding
compute.firewalls.delete
compute.firewalls.deleteTagBinding
compute.firewalls.get
compute.firewalls.list
compute.firewalls.update -
Virtual Networks権限:
-
VPC関連のリソース情報を取得する
'Microsoft.Network/register/action'
'Microsoft.Network/operations/read'
'Microsoft.Network/virtualNetworks/read'
'Microsoft.Network/virtualNetworks/joinLoadBalancer/action'
'Microsoft.Network/virtualNetworks/subnets/read'
'Microsoft.Network/virtualNetworks/subnets/join/action'
'Microsoft.Network/virtualNetworks/subnets/joinLoadBalancer/action'
'Microsoft.Network/ipAllocations/read'
'Microsoft.Network/publicIPAddresses/read'
-
-
ネットワークインターフェースとセキュリティグループリソースを管理する
'Microsoft.Network/register/action'
'Microsoft.Network/operations/read'
'Microsoft.Network/virtualNetworks/read'
'Microsoft.Network/virtualNetworks/joinLoadBalancer/action'
'Microsoft.Network/virtualNetworks/subnets/read'
'Microsoft.Network/virtualNetworks/subnets/join/action'
'Microsoft.Network/virtualNetworks/subnets/joinLoadBalancer/action'
'Microsoft.Network/ipAllocations/read'
'Microsoft.Network/publicIPAddresses/read' -
LBリソースの管理
'Microsoft.Network/loadBalancers/read'
'Microsoft.Network/loadBalancers/write'
'Microsoft.Network/loadBalancers/delete'
'Microsoft.Network/loadBalancers/health/action'
'Microsoft.Network/loadBalancers/backendAddressPools/queryInboundNatRulePortMapping/action'
'Microsoft.Network/loadBalancers/backendAddressPools/updateAdminState/action'
'Microsoft.Network/loadBalancers/backendAddressPools/health/action'
'Microsoft.Network/loadBalancers/backendAddressPools/read'
'Microsoft.Network/loadBalancers/backendAddressPools/write'
'Microsoft.Network/loadBalancers/backendAddressPools/delete'
'Microsoft.Network/loadBalancers/backendAddressPools/backendPoolAddresses/read'
'Microsoft.Network/loadBalancers/backendAddressPools/join/action'
'Microsoft.Network/loadBalancers/providers/Microsoft.Insights/diagnosticSettings/read'
'Microsoft.Network/loadBalancers/providers/Microsoft.Insights/diagnosticSettings/write'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/read'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/join/action'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/loadBalancerPools/read'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/loadBalancerPools/write'
'Microsoft.Network/loadBalancers/frontendIPConfigurations/loadBalancerPools/delete'
'Microsoft.Network/loadBalancers/loadBalancingRules/read'
'Microsoft.Network/loadBalancers/loadBalancingRules/health/action'
'Microsoft.Network/loadBalancers/networkInterfaces/read'
'Microsoft.Network/loadBalancers/outboundRules/read'
'Microsoft.Network/loadBalancers/virtualMachines/read'
'Microsoft.Network/loadBalancers/probes/read'
'Microsoft.Network/loadBalancers/probes/join/action'
'Microsoft.Network/loadBalancers/providers/Microsoft.Insights/metricDefinitions/read' -
Storage Account Container Permissions:
-
ストレージアカウントコンテナを管理する
'Microsoft.Storage/storageAccounts/blobServices/containers/read'
'Microsoft.Storage/storageAccounts/blobServices/containers/write'
'Microsoft.Storage/storageAccounts/blobServices/containers/delete'
-
-
IAM permissions:
-
ユーザー割り当てマネージド ID の割り当て
'Microsoft.ManagedIdentity/userAssignedIdentities/read'
'Microsoft.ManagedIdentity/userAssignedIdentities/assign/action'
-