CLI を使用して Azure Database for MariaDB 用の Private Link を作成および管理する

重要

Azure Database for MariaDB は、提供終了予定です。 Azure Database for MySQL に移行することを強くお勧めします。 Azure Database for MySQL への移行の詳細については、「Azure Database for MariaDB の動作」を参照してください

プライベート エンドポイントは、Azure におけるプライベート リンクの基本的な構成要素です。 これによって、仮想マシン (VM) などの Azure リソースが Private Link リソースと非公開で通信できるようになります。 この記事では、Azure CLI を使用して Azure仮想ネットワーク内に VM を作成し、Azure プライベート エンドポイントを含む Azure Database for MariaDB サーバーを作成する方法について説明します。

Note

プライベート リンク機能は、General Purpose または Memory Optimized の価格レベルの Azure Database for MariaDB サーバーにのみ使用可能です。 データベース サーバーがこれらの価格レベルのいずれであることを確実にします。

Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。

前提条件

  • Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。

  • CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。

    • ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。

    • 初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。

    • az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。

  • この記事では、Azure CLI のバージョン 2.0.28 以降が必要です。 Azure Cloud Shell を使用している場合は、最新バージョンが既にインストールされています。

リソース グループを作成する

リソースを作成するには、その前に、仮想ネットワークをホストするリソース グループを作成する必要があります。 az group create を使用して、リソース グループを作成します。 この例では、westeurope の場所に myResourceGroup という名前のリソース グループを作成します。

az group create --name myResourceGroup --location westeurope

仮想ネットワークを作成します

az network vnet create を使用して仮想ネットワークを作成します。 この例では、mySubnet という名前のサブネットを使って、myVirtualNetwork という名前の既定の仮想ネットワークを作成します。

az network vnet create \
--name myVirtualNetwork \
--resource-group myResourceGroup \
--subnet-name mySubnet

サブネットのプライベート エンドポイント ポリシーを無効にする

Azure では仮想ネットワーク内のサブネットにリソースがデプロイされるため、プライベート エンドポイントのネットワーク ポリシーを無効にするようにサブネットを作成または更新する必要があります。 az network vnet subnet update を使用して  mySubnet  という名前のサブネット構成を更新します。

az network vnet subnet update \
--name mySubnet \
--resource-group myResourceGroup \
--vnet-name myVirtualNetwork \
--disable-private-endpoint-network-policies true

VM の作成

az vm create を使って VM を作成します。 メッセージが表示されたら、VM のサインイン資格情報として使用するパスワードを入力します。 この例では、myVm という名前の VM を作成します。

az vm create \
  --resource-group myResourceGroup \
  --name myVm \
  --image Win2019Datacenter

VM のパブリック IP アドレスを書き留めます。 このアドレスは、次の手順でインターネットから VM に接続するために使用します。

Azure Database for MariaDB サーバーを作成する

az mariadb server create コマンドを使用して Azure Database for MariaDB を作成します。 MariaDB サーバーの名前は Azure 全体で一意である必要があるため、角かっこ内のプレースホルダーの値を独自の一意の値に置き換えることを忘れないでください。

# Create a server in the resource group 

az mariadb server create \
--name mydemoserver \
--resource-group myResourcegroup \
--location westeurope \
--admin-user mylogin \
--admin-password <server_admin_password> \
--sku-name GP_Gen5_2

Note

Azure Database for MariaDB と VNet サブネットが異なるサブスクリプションに存在する場合があります。 このような場合は、次の構成を確認する必要があります。

  • 両方のサブスクリプションに Microsoft.DBforMariaDB リソース プロバイダーが登録されていることを確認してください。 詳細については、resource-manager-registration に関するページをご覧ください

プライベート エンドポイントを作成する

仮想ネットワーク内に MariaDB サーバーのプライベート エンドポイントを作成します。

az network private-endpoint create \  
    --name myPrivateEndpoint \  
    --resource-group myResourceGroup \  
    --vnet-name myVirtualNetwork  \  
    --subnet mySubnet \  
    --private-connection-resource-id $(az resource show -g myResourcegroup -n mydemoserver --resource-type "Microsoft.DBforMariaDB/servers" --query "id" -o tsv) \    
    --group-id mariadbServer \  
    --connection-name myConnection  

プライベート DNS ゾーンを構成する

MariaDB サーバー ドメイン用のプライベート DNS ゾーンを作成し、仮想ネットワークとの関連付けリンクを作成します。

az network private-dns zone create --resource-group myResourceGroup \ 
   --name  "privatelink.mariadb.database.azure.com" 
az network private-dns link vnet create --resource-group myResourceGroup \ 
   --zone-name  "privatelink.mariadb.database.azure.com"\ 
   --name MyDNSLink \ 
   --virtual-network myVirtualNetwork \ 
   --registration-enabled false

#Query for the network interface ID  

networkInterfaceId=$(az network private-endpoint show --name myPrivateEndpoint --resource-group myResourceGroup --query 'networkInterfaces[0].id' -o tsv)

az resource show --ids $networkInterfaceId --api-version 2019-04-01 -o json
# Copy the content for privateIPAddress and FQDN matching the Azure database for MariaDB name

#Create DNS records 

az network private-dns record-set a create --name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup  
az network private-dns record-set a add-record --record-set-name mydemoserver --zone-name privatelink.mariadb.database.azure.com --resource-group myResourceGroup -a <Private IP Address>

Note

お客様の DNS 設定の FQDN は、構成されている非公開 IP では解決されません。 こちらで示すように、構成された FQDN の DNS ゾーンを設定する必要があります。

インターネットから VM に接続する

次のように、インターネットから VM myVm に接続します。

  1. ポータルの検索バーに、「myVm」と入力します。

  2. [接続] を選択します。 [接続] ボタンを選択すると、 [Connect to virtual machine](仮想マシンに接続する) が開きます。

  3. [RDP ファイルのダウンロード] を選択します。 リモート デスクトップ プロトコル ( .rdp) ファイルが作成され、お使いのコンピューターにダウンロードされます。

  4. downloaded.rdp ファイルを開きます。

    1. メッセージが表示されたら、 [Connect] を選択します。

    2. VM の作成時に指定したユーザー名とパスワードを入力します。

      Note

      場合によっては、[その他]>[別のアカウントを使用する] を選択して、VM の作成時に入力した資格情報を指定する必要があります。

  5. [OK] を選択します。

  6. サインイン処理中に証明書の警告が表示される場合があります。 証明書の警告を受信する場合は、 [はい] または [続行] を選択します。

  7. VM デスクトップが表示されたら最小化してローカル デスクトップに戻ります。

VM から MariaDB サーバーにプライベートにアクセスする

  1. myVM のリモート デスクトップで、PowerShell を開きます。

  2. nslookup mydemoserver.privatelink.mariadb.database.azure.com」と入力します。

    次のようなメッセージが返されます。

    Server:  UnKnown
    Address:  168.63.129.16
    Non-authoritative answer:
    Name:    mydemoserver.privatelink.mariadb.database.azure.com
    Address:  10.1.3.4
    
  3. 利用可能な任意のクライアントを使用して、MariaDB サーバーのプライベート リンク接続をテストします。 次の例では、MySQL Workbench を使用して操作を行いました。

  4. [新しい接続] で、この情報を入力または選択します。

    設定
    接続名 ご自身で選んだ接続の名前を選択します。
    Hostname (ホスト名) mydemoserver.privatelink.mariadb.database.azure.com を選択します
    ユーザー名 MariaDB サーバーの作成時に指定されるユーザー名を「username@servername」という形式で入力します。
    Password MariaDB サーバーの作成時に指定したパスワードを入力します。
  5. [テスト接続]または [OK] を選択します。

  6. (省略可能) 左側のメニューからデータベースを参照して、MariaDB データベースからの情報を作成または照会します

  7. myVm へのリモート デスクトップ接続を閉じます。

リソースをクリーンアップする

不要になったら、az group delete を使って、リソース グループとそのすべてのリソースを削除できます。

az group delete --name myResourceGroup --yes 

次のステップ

Azure プライベート エンドポイントの概要について学習します。