Azure Stack HCI 検証環境を構築してみた③ – Azure 接続 ~ シングルノード作成

今回は前回に続き、Azure とRaspberry Pi の接続、そしてAzure Stack HCI をシングルノード構成でAzureに登録するところまで行います。
前回の記事は以下参照ください。

第一回

Azure Stack HCI 検証環境を構築してみた① – ネットワーク構成編 –

第二回

Azure Stack HCI 検証環境を構築してみた②- Azure Stack HCI OS の設定

 

今回はRaspberry Pi によるAzureへのVPN接続、AzureStackHCIのドメイン参加、Azureへの登録を行っていきます。

最終的にはAVDをAzureStackHCI上で利用できるように以下の構成を目指します。

 



Azure VPN Gateway の構築

今回Raspberry Pi と Azure を接続するために Azure VPN Gateway を使ってP2S接続を行います。Raspberry Pi を VPN クライアントとして設定します。

 

初めに、Azure 上に VPN Gateway を構築します。

Azure Portal > 仮想ネットワークゲートウェイ > 作成 をクリックし、以下の通り設定します。

 

サブスクリプション:任意

リソースグループ:任意

名前:任意(例:HubVnetGW)

地域:任意(例:東日本)

ゲートウェイの種類:VPN

VPNの種類:ルートベース

SKU:VpnGw1

世代:Generation1

仮想ネットワーク:任意(今回はHubVnetにゲートウェイを設定)

ゲートウェイサブネットのアドレス範囲:ゲートウェイサブネットを選択

 

パブリックIPアドレス:新規 or 既存のものを使用

パブリックIPアドレス名:任意

アクティブ/アクティブモードの有効化:無効

RaspberryPi(P2S VPNクライアント)の構成

初めにVPNソフトのstrongswan をRaspberry Pi にインストールします。

 

続いてCA証明書を作成します。

 

次に、CA 証明書 を base64 形式で出力します。

 

出力したbase64形式のデータをAzure に登録するために、仮想ネットワークゲートウェイを開きます。

 

仮想ネットワークゲートウェイからポイント対サイトの構成を開き以下の設定を行います。

アドレスプール:172.16.201.0/24 ※仮想ネットワークのアドレス空間と被らなければOK

トンネルの種類:IKEv2

認証の種類:Azure 証明書

ルート証明書 – 名前:P2SRootCert ※任意でOK

公開証明書データ:前のステップで出力したbase64形式の証明書データ

BGPの構成:無効

 

これでAzure 側の設定は完了です。

 

続いてRaspberry Pi 側でユーザー証明書の生成と設定を行います。

以下のコマンドでユーザー証明書を生成します。

生成したユーザー証明書を含んだp12バンドルを作成します。

 

続いてAzure で VPN クライアントをダウンロードします。

 

ダウンロードしたGeneric フォルダーには、次のファイルが含まれています。

 

VpnSettings.xml:サーバー アドレスやトンネルの種類など、重要な設定が含まれています。

VpnServerRoot.cer:P2S 接続の設定中に Azure VPN Gateway を検証するために必要なルート証明書が含まれています。

 

ルート証明書をRaspberry Pi に送った上で、以下のコマンドで/etc/ipsec.d/cacertsにコピーします。

後続の手順で利用するためホスト名を以下コマンドで確認しメモします。

VpnSettings.xml ファイルを開き、<VpnServer> の値をメモします。

/etc/ipsec.conf を開き編集します。

/etc/ipsec.secrets を開いてシークレット値を追加します。

※.12 ファイルの名前は、作成した時の名前と一致している必要があります。

また、パスワードは、証明書の生成時に選択したパスワードと一致している必要があります。

変更した場合は適宜変えてください。

これは、ホスト名が “raspberrypi” であり、証明書パスワードが “password” であるマシンで実行するコマンドの例です。

 

最後に以下コマンドを実行するとVPN接続が始まります。

うまくいくと

connection ‘azure’ established successfully と表示されます。

以下のコマンドで接続状況の確認もできます。

 

Raspberry Pi のNAT設定

これでRaspberry Pi から Azure に繋がりましたが、Azure Stack HCI からraspberry Pi のVPNIPをSNATするために、以下の設定を行います。

 

AD向け通信のソースをVPNのグローバルIPに変換(SNAT)

それ以外の通信はAPからインターネットへ

iptables の確認

こうなっていればOK

 

ドメインコントローラーの構築

Azure Stack HCI はドメインに参加する必要がありますので、Azure 上にドメコンを作成します。

IaaS上にサーバーを立てて、Active Directory ドメインサービスをインストールしてからドメコンに昇格させればOKです。

構築手順は一旦省きます。

 

Azure Stack HCI ドメイン参加

Azure Stack HCI のDNSサーバーをAzure 上に建てたADサーバーに向けます。

SConfigの画面から、8.ネットワーク設定に進めばDNSが変更可能です。

名前解決できることも確認しましょう。できないとドメイン参加失敗します。

さてここまでくればAzure Stack HCI が AD にアクセスできるようになったので、

ドメイン参加させましょう。

Sconfig画面から1.ドメイン/ワークグループに進みADの資格情報を入力します。

うまくいったら再起動します。

 

シングルノードクラスタ―作成

再起動後に、必要なロールと機能をインストールします。

以下のコマンドでクラスタ―として問題ない構成かチェック可能です。

問題なければクラスタ―を作成します。

クラスタ―名とノード名は任意で変えてください。

記憶域スペース ダイレクトを有効にして、ストレージ キャッシュを無効にします。

 

Azureへの登録

登録に必要なモジュールをAzure Stack HCI OS にインストールします。

以下のコマンドでサブスクリプションに登録します。

サブスクリプションIDやコンピューター名、リージョン、テナントIDはご自身の環境に置き換えてください。

実行すると以下のメッセージが表示されます。

ブラウザを開けるPCで表示されたURLを開きコードを入力します。

https://microsoft.com/devicelogin

 

この画面がでれば認証完了です。

 

AzureStackHCI側のCLIで Result が SuccessになればOKです。完了まで5分くらいかかります。

Azureポータルから Azure Stack HCI を確認すると登録されていることが確認できます。

 

 

まとめ

今回Raspberry Pi をP2SクライアントとしてAzureへの接続を行いました。

またラズパイを経由して、Azure Stack HCI OSのドメイン参加、クラスタ―設定、Azure への登録まで行いました。

 

次回はAzureポータルからVMの展開や監視等の管理を行う方法をご紹介します。

この記事を書いた人

髙橋 和輝
髙橋 和輝
テクニカルマーケターとして、新技術の検証、ブログ執筆、セミナー講師を行っております!
学生時代はアプリ開発に興味がありましたが、インフラ、セキュリティ事業を経て、現在はクラウド屋さんになっております。
コロナ禍前は、月1で海外旅行にいくなどアクティブに活動していましたが、最近は家に引きこもってゲームが趣味になっています。

宜しくお願い致します!