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

Azure の準備

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

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

リソースオーケストレーションとリソーススタックについて学ぶ(オプション)

注意:この章では何も行う必要はありません。仕組みについてより詳しく学びたい場合は、続けてお読みください。

お客様のクラウドアカウント配下の 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'