メインコンテンツまでスキップ

Azure 準備

この記事では、BYOC タイプのウェアハウス作成に関わる Azure の操作について主に紹介します。内容には VNet とサブネットの準備Resource Orchestration と Resource Stack について(任意) が含まれます。

VNet とサブネットの準備

BYOC タイプのウェアハウスを作成する前に、要件を満たす既存の VNet とサブネットがない場合は、事前に VPC とサブネットを作成する必要があります。具体的な操作は以下の通りです:

注意:

  1. リージョン、アベイラビリティーゾーン、サブネット要件を満たす VNet とサブネットが存在し、この VNet に BYOC ウェアハウスをデプロイしたい場合は、新しい VNet とサブネットを作成する以下の手順をスキップしてください
  2. 現在サポートされているリージョンとアベイラビリティーゾーンは: | Cloud Platform | Region Name | Region ID | Availability Zone ID | |:---------------|:-----------|:---------------------|:---------------------| | Azure | West US 3 | westus3 | all |

VNet とサブネットの作成

Azure Portal を開き、Virtual networks サービスを選択します。

Create をクリックします。

vnet create 1

SubscriptionResource Group を選択します。Virtual network name を入力します。Region を選択します。Next をクリックします。

注記: 現在サポートされているリージョンとアベイラビリティーゾーンは:

Cloud PlatformRegion NameRegion IDAvailability Zone ID
AzureWest US 3westus3all

vnet create 2

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

vnet create 3

Name を入力します。サブネット範囲を指定します。Save をクリックします。Next をクリックします。

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

vnet create 4

Create をクリックします。

vnet create 5

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'