LoginSignup
0
1

More than 5 years have passed since last update.

Azure App Services からオンプレミスの Linux 環境へハイブリッド接続

Last updated at Posted at 2018-08-03

概要

 Azure App Service のハイブリッド接続は、Service Bus を仲介 (Relay) としてファイアウォールの後ろにあるオンプレミスのリソースに簡単に接続する便利な方法を提供します。

 オンプレミス側には、ハイブリッド接続マネージャー (HCM) と呼ばれるリレーエージェントをインストールする必要がありますが、このエージェントがインストールできる環境が Windows Server 2012 以降となっているためオンプレミス側にある Linux 環境には接続できないと勘違いされている節があります。

 実際には、ハイブリッド接続マネージャー (HCM) はオンプレミスのエンドポイントに対する仲介 (Relay) の役割をしており、HCM をインストールした Windows Server からエンドポイントのサービスにアクセス出来れば良い事となります。以下の構成では Windows Server (下記図のオレンジ)に HCM がインストールされており、そこから名前解決できる同一 LAN 内に Linux(下記図の赤枠)サーバーがエンドポイントとしてあります。
image.png

詳細

 Azure App Service のハイブリッド接続の構成はこちらの手順となりますが、ここでは下記のように構成したハイブリッド接続を元に説明をしていきます。

image.png

 以下の画面は、ハイブリッド接続マネージャー (HCM) をインストール、構成した Windows Server 2016 になります。この HCM 上で ping で名前解決している MySQL は同一 LAN 内にある Linux サーバーのホスト名となります。 Linux ホストは CentOS で MySQL が稼働しており、この Windows Server からアクセスできる状態にあります。

image.png

動作確認

 上記の状態でクラウド側 Azure App Service に、下記のような PHP コンテンツを配置します。MySQL への接続情報は環境にあわせて修正します。

dbconnect.php
<?php
$mysqli = new mysqli('MySQL', 'root', 'password', 'test');
if ($mysqli->connect_error) {
    echo $mysqli->connect_error;
    exit();
} else {
    echo "Successs : Connect to on-premise MySQL on Linux via HCM.";
}

$mysqli->close();
?>

 ブラウザで https://[your app name].azurewebsites.net/dbconnect.php へアクセスし動作を確認します。エラーとなる場合は、HCM 上の Windows Server から、エンドポイントの MySQL への接続が出来るか再度確認してみてください。

冗長化

 ハイブリッド接続の高可用性が必要な場合は、複数の HCM を個別の Windows Server 2016 ホストで実行します。

オンプレミス側の FW 構成

 ハイブリッド接続を HCM でサポートするには、HCM ホスト(Windows Server 2016) で以下の接続要件が必要です。

  • ポート 80 および 443 経由の Azure への TCP アクセス(outgoing のみ incoming は全て閉じて OK)
  • エンドポイント ホストに対する TCP アクセス(今回の例では、HCM から IP:10.0.0.5 Port:3306 へのアクセス)
  • エンドポイント ホストおよび Service Bus 名前空間に対する DNS 名前解決

制限

 動的ポートを使用する TCP ベースのサービスなど、ハイブリッド接続で実行できないことがいくつかあります。

  • ドライブのマウント
  • UDP の使用
  • FTP パッシブ モードや拡張パッシブ モードなどの動的ポートを使用する TCP ベースのサービス
  • UDP を必要とする場合があるため、LDAP のサポート
  • Active Directory のサポート
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1