本ページは広告が含まれています。気になる広告をクリック頂けますと、サーバ運営費になります(^^
Azure Virtual Desktopで仮想ホスト作成
Azureクラウド上で、クライアントもデータベースも完結できるシステムを目指して構築中です。
今回は、Azure上のVMホストからPostgreSQLに接続してみます。仮想ネットワークの作成方法に設定の肝があります。
仮想ネットワークを作成する
KasoNet11という仮想ネットワークを作成します。仮想ホストと、PostgreSQLデータベースをネットワーク上で接続できるようにするためには、まずは仮想ネットワークから作成しておく事をお勧めします。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-115-700x441.png)
Azure Virtual Desktop用のサブネット
ネットワークアドレス空間は: 10.1.0.0/16で作成
Azure Virtual Desktop用には 10.1.0.0/24でサブネットを作成します。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-116-700x521.png)
仮想ネットワークはこんな感じで作成しました。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-117.png)
AzureforPostgres用にサブネットを作成
ここが設定の要です。
上の手順で仮想ネットワークを作成し、デプロイが終わった後に、サブネットを追加します。ここでないとサブネットの委任が出てきません。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-118.png)
サブネットをサービスに委任が重要
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-119.png)
Microsoft.DBforPostgreSQL/flexibleServers にサブネットを委任すること。 この委任は、Azure Database for PostgreSQL フレキシブル サーバーのみがそのサブネットを使用できることを意味します。 委任されたサブネットに他の Azure リソースの種類を含めることはできません。
Azure portal を使用した Azure Database for PostgreSQL – フレキシブル サーバーの仮想ネットワークの作成と管理
この委任設定をしたサブネットを作成しないと、Azure Virtual Desktopと同じネットワーク内にPostgreSQLサーバを配置する事ができません。
同じネットワーク内ではあるものの、サブネットを別ける必要があります。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-120.png)
Azure Virtual Desktopを作成
ホストプールを作成
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-121-700x260.png)
同じリソースグループの中にホストプールを作成します。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-122-700x618.png)
仮想マシンの作成
ホストプールと一緒に仮想マシンを作成します。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-123-700x838.png)
サブネットは、仮想ネットワーク作成時にAzure Virtual Desktop用に準備した SubVMにしました。
また、参加するディレクトリは、 Azure Active Directory を選択します。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-124-700x663.png)
アプリケーショングループに権限の割り当て
同じAD内のユーザに、Azure Virtual Desktopへの接続権限を割り当てます
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-131-700x397.png)
Azure Database for PostgreSQLを作成する
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-125.png)
フレキシブルサーバを作成していきます。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-126-700x573.png)
開発用で作成します。開発用で作成すると、価格が安く作成可能です。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-127-700x521.png)
ネットワーク設定
プライベートアクセスを設定すると、自動的に委任されたサブネットまで表示されます。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-128-700x579.png)
全体的な設定はこんな感じです。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-129.png)
Azure Virtual Desktopにアクセス
専用のリモートデスクトップアプリにて、
URLで登録します。
詳しくはこちらで
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-130-700x447.png)
同じAD内のユーザでアクセスすると、接続できるAzure Virtual Desktopが表示されます。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-132-700x447.png)
以下の操作はAzure Virtual Desktop上で行います。
リモート接続できたら、Windows Power Shellを起動し、Postgresのサーバ名
※Azure Portal の Azure Database for PostgreSQLに記載があります。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-134.png)
に Pingをうって疎通確認を行います。
ping post11.postgres.database.azure.com
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-133-700x597.png)
疎通が確認できたら、pgAdmin4をダウンロードインストールします。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-135-700x379.png)
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-136.png)
pgAdmin4 上に Azure Database for PostgreSQLを登録します。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-137-700x380.png)
これで Azure Virtual Desktop から、Azure Database for PostgreSQLに接続できました。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-138-700x546.png)
余談 pgAdmin4のせいで接続できない!? ver6.5
最新バージョンの、 pgAdmin4 6.5を利用しよとしたのですが、
Crypt key is missing.
と表示されてしまい、接続できませんでした。
pgAdmin4 5.7を利用したところ問題なく接続できました。pgAdmin4の最新バージョンには何か設定が必要なのか?それともまだバグがあるのか分かりません。
![](https://techlive.tokyo/wp-content/uploads/2022/02/image-139-700x394.png)