カテゴリー
Azure

新しいマシンを手に入れた

Azure Stack Development Kit (ASDK) の実行環境として、新しいマシンをヤフオク!で落札してきました。

買ったマシン

SuperWorkstation 7047A-T https://www.supermicro.com/products/system/4U/7047/SYS-7047A-T.cfm

落札したときの説明用文章では以下のようなスペックでした。

で、届いた。

ワークステーションモデルとは言え、19インチラックにマウント出来るような筐体。
某PCのロゴが貼り付けられていたw
CPUはXeon E5-2667v2が2基搭載。

メモリモジュールを差し替え。

UEFIブート対応。
知り合いから譲ってもらった 16GBモジュールを16枚搭載した。
memtest86を回すの巻。
1周するのに12時間くらいかかるので、さすがに何周も回すのは諦めた。

ディスクをSSDに入れ替え。

大容量の割に安いのでSamsung SSD 860 QVOを選択。どうせASDKは記憶域スペース機能でソフトウェアRAID(JBOD)になるので単体でのストレージI/O性能はそこまで必要ない。
Supermicroの純正2.5 -> 3.5マウントアダプタ。
タワー型ケースには8本搭載可能。
サードパーティーのマウントアダプタも利用した。

ASDKのインストール

Intel C602チップセット世代のSATAインターフェースは、Windowsの同梱ドライバではサポートされないのでASDK添付のWindows Server 2019では認識されない。そのため、ASDKのCloudBuilder.vhdxでVHDブートした後に手動でドライバを入れてやる必要があった。

ASDKのインストールウィザード。
ASDKのデプロイ画面。
ASDKのデプロイが完了したところ。

新しいマシンの感想

ASDKのデプロイ時間が、これまで使っていたマシンの半分くらいの6時間で終わるようになった。

また、Azure Stack Portalの応答速度が今までよりも体感的にも何倍か早くなった。

カテゴリー
Azure

ASDK上の仮想マシンに直接アクセスするためにNAT設定を追加する

ASDK上に立てた仮想マシンへのアクセス方式として、公式にドキュメントに記載されているのは以下のやり方がある。

  • ASDKホストマシンにリモートデスクトップして、その上でSSH/RDP接続する。
    ただし、ASDKホストマシンはWindows Serverベースのため、標準だと最大2セッションしか接続できないので、多数のユーザから同時にはアクセス出来ない。
  • Azure Stack PowershellおよびAzure Stack ToolsをセットアップしたPCから、ASDKホストマシンにVPN接続する。
    この場合は、リモートデスクトップの2セッション接続制限には引っかからないが、接続元となるPCに上記のツールをセットアップしてVPNを設定する必要がある。(ASDKをデプロイする度にこの設定をユーザにやり直してもらう)

その他、Azureと同様にVPN GatewayをセットアップしてP2S VPNを構成するとかは当然出来る。

ただ、いずれも、オンプレミスっぽい雰囲気でASDK上の仮想マシンを使いたいだけのユーザからするとちょっと……、ハードルが高い。

そのため、お手軽にオンプレミスっぽい感じで接続できるようにASDKホストマシン上でNATを設定して、さもその辺に仮想マシンが居るように見せかけることにした。

Fig. ASDKでNATを構成する概念図

ASDKホストマシンで実施する手順は以下の通り。

  1. NATオブジェクトを作成する
  2. NATオブジェクトに、接続用IPアドレスを追加する
  3. NATルールを作成し、仮想マシンのIPアドレス&Port番号と、接続用IPアドレス&Port番号のマッピングを設定する

NATオブジェクトを作成する

デフォルトで、ASDKとBGPルータの間でVPN接続するための”BGPNAT”という名前のNATオブジェクトが作成されているが、これは華麗に無視して別のNATオブジェクトを作成するのが吉。

New-NetNat -Name global -ExternalIPInterfaceAddressPrefix 192.168.1.0/24

NATオブジェクトに、接続用IPアドレスを追加する

ASDKホストマシンに割り当てられているIPアドレスとは別に、NAT専用のIPアドレスを設定するのが分かりやすいはず。もしASDKが接続されているセグメントに余裕があるなら、仮想マシンと1対1で設定してしまっても良いだろう。

Add-NetNatExternalAddress -NatName global -IPAddress 192.168.1.6 -PortStart 0 -PortEnd 65535

NATルールを作成し、仮想マシンのIPアドレス&Port番号と、接続用IPアドレス&Port番号のマッピングを設定する

Add-NetNatStaticMapping -NatName global -ExternalIPAddress 192.168.1.6 -Protocol TCP -ExternalPort 22 -InternalIPAddress 192.168.102.32 -InternalPort 22

後は、NATルールを作成するだけ。

で、繋いでみると、繋がる!!!
(ちなみにPingに応答しているのはASDKホストマシンのほう。NATルールにないのでASDKホストマシン側に着信している)

カテゴリー
Azure

Azure Stack Development Kit 1910をインストールする(その5)

その4の続きです。

Register the ASDK with Azure の記載に従って、ASDKをAzure Subscriptionと紐付けていきます。これによってMicrosoftに対してAzure Stack上で動かしているソフトウェアや各種リソースの情報を提供し、課金請求できるようにします。

そうしないとMarketplaceのイメージを扱わせてもらえないの図。

まずはPowerShellがFullLanguageモードかどうか確認。

Post deployment configurations for ASDK に従って、Azure Stack PowerShellの導入。

Azure Stack toolsの導入

ASDKのインストールが正常終了しているか、念のためのTest-AzureStack。

ASDKの登録を実施する。

このときAzure Subscription上に登録するASDKの名前はユニークである必要があるが、現時点でどの名前が使われているか取得するコマンドがない……(と思うので)、私の場合はASDKバージョン名+登録日で命名して被らないようにしている。

登録確認。

これでMarketplaceから各種のイメージを落とせるようになった。