Azure の準備
この記事では、主に BYOC タイプのウェアハウスを作成する際に関わる Azure の操作について説明します。これには VNet とサブネットの準備、リソースオーケストレーションとリソーススタックについて学ぶ(オプション) が含まれます。
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 をクリックします。

リソースオーケストレーションとリソーススタックについて学ぶ(オプション)
注意:この章では何も行う必要はありません。仕組みについてより詳しく学びたい場合は、続けてお読みください。
お客様のクラウドアカウント配下の Azure Deployment Service を通じてリソーススタックを実行する際、VNet、Virtual Machine、Storage Account などのクラウドリソースに対して関連する操作を実行するため、一連の IAM 権限が必要になります。
管理者権限を使用してこのスクリプトを実行するか、管理者にこのスクリプトの実行を依頼してください。そうしないと、権限不足によりテンプレートの実行が失敗する可能性があります。
リソースオーケストレーションテンプレートの説明
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'
具体的な権限は以下のように分割されます:
-
仮想マシン権限:
-
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'
-