2021/09/21

Microsoft AzureでSSL証明書対応のウェブサーバーを立てる(その1/2)

概要

まずはポータルへ

こちらです。
https://portal.azure.com/#home

 

Azureを使う際に大事なこと

すべての処理に時間がかかる

処理に時間がかかる仕様。
すべての処理(リソースの作成/削除など)は、終わりました!と表示されてから、本当に終わるまで数十秒かかる。DNSの変更などは20分くらいかかる。
処理中に開こうとするとエラーが出るが待っていれば正常化する。これは動いているのか、設定が違っているのか判断が難しく、本当に困るが仕様。

VMは電源OFFでも課金され続ける

課金されたくなければリソースの開放(VMごと削除)をするしかない。
https://docs.microsoft.com/ja-jp/azure/virtual-machines/states-billing

月額数百万のプランなどは、お試しでもやらないほうがよいかと笑

サブスクリプションを作る

要は課金単位のグループ。サブスクリプションごとに請求額が出る。このサブスクリプションは顧客A向け、こちらは顧客B向け。みたいな作り方でもよいかと。

サブスクリプションが表示されない

下記で、すべてのサブスクリプションを選択。いろんなところで、出てくるはずのサブスクリプションやリソースが出てこない。ということが発生する。Excelのオートフィルタみたいなのを選んで「すべて」とすればすべて出てきます。それでも出てこなければ処理中(結構時間かかる)です。

リソースグループを作る

リソースグループとは、コンピューター、ルーター、ディスクなど、サーバーを構成する要素として、どれを使うかをまとめたグループ。まな板の上に乗せる材料を選択という感じ。

リソースグループのリージョン

リソースグループでのポイントは、リージョンを「東日本」にするくらいで他は、次へ、次へと押していけばよい。

NetworkWatcherRGとは何か

システムで予約されたリソースグループ。勝手にできる。この中にログや監視の機能のいくつかが入るとのこと。

仮想マシン(VM)の作成

 リソースグループ>リソースの作成
もしくは、ポータルから仮想マシンを選ぶ

Azure スポット インスタンス

Azure全体で見てリソースが余っていたら安く借りられる。需要が逼迫したら消されることがある。1時間いくらまでの費用ならVMを稼働させるか設定できる。みたいな機能。
安いときだけ稼働させたいサーバーというのはどういうのがあるのか思いつかないが。Botや大量のクローリングなど迷惑系とか?次の入居者が決まるまで安く住ませる、一時使用目的の賃貸借契約のようなものと思われる。

VMのスペックを選ぶ

ここはポイントとなるところ。予算のない諸兄は「グループ化なし」を選んで安い順に並べるとよし。
Windows Serverを選ぶ場合はOSが結構重いはずなのでCPUひとつだと厳しいと思います。
金ないとはいえ、CPU 2個はほしいなーとなると、月$36~66のプランあり。
ディスクは、OS起動領域として128GBが無料でついている。この領域にユーザーがソフトをインストールするなども可能。

仮想マシン作成時のポイント

何はともあれWindows Updateを勝手にしないようにする

Windowsを使う上で最も大事なお約束ですね。

オンプレミスのライセンスありならば安くなる

別で払っている等、何らかの理由でライセンスをすでに持っているならばチェック

固定IPアドレスを無料で確保

IPアドレスは変動でも固定でも値段が同じようなので、ここは贅沢に固定(静的)を選択。

VMの世代は第二世代でよろしいかと

Hyper-Vの第二世代(UEFI)VMとVHDXのディスクの組み合わせとおおよそ同じかと思います。なお、現在のAzureではVHDはマウントできるがVHDXはできない。

Windowsはマイクロソフトの登録商標です

こんな細かいところで商標を主張しなくてもいいんじゃないか笑

VMのディスクについて

データディスクとは

追加できるディスク(仮想ディスクをマウントできる最大数量)の本数制限。安いプランでは大規模なシステムは組めないように制限されている。ディスクのマウント数で金をとるとはクラウドっぽい課金方法である。

一時ストレージとは

再起動したら消える領域。くらいに考えたらよい。実際に消えるのかは不明だが、スワップファイル、ページファイルなど、再起動したら消えても良いデータを置く場所。いつ消えるか分からないのでデータは置いてはいけない。VM一覧では一時ストレージの容量が表示されるが、ユーザーが使える領域ではないので、あまり気にしなくてよいと思う。

Premiumディスクサポートとは

プレミアムディスクをサポートしていないVMファミリーでは、Premium SSDが使えない。安い構成でもプレミアムディスクをサポートしているファミリーはあり。
ただし、非プレミアムでもSSDが選択できるので普通に使う分には気にしなくて良い

起動領域も高速化することができる

OSのディスクの種類でプレミアムSSDを選べば速くなります。

ディスク名称の最後に出てくるLRSとは

日本語訳がされないカ所があり、何の説明もなくLRSと表示されることがある。冗長性のこと。locally redundant storage.

VMに接続するディスクの作成

スナップショットを作っておけば、スナップショットをディスク化して接続することができる様子。ほか、BLOBを選べばAzure Storage ExplorerからアップロードしたVHDファイル(VHDXだめ)をマウントすることができる。ただし、ローカルのHyper-Vで動かしていたVHDをそのままAzure VMに接続しても起動に失敗する。
ここは素直に新規ディスクの作成が無難。

ローカルのHyper-Vで動いていたWindows VMをAzure上で再生するのは簡単ではない

https://docs.microsoft.com/ja-jp/azure/virtual-machines/windows/prepare-for-upload-vhd-image
ここにあるような複雑な処理をしなければならず、実質的に不可能。やってみたらディスクの一般化でよく分からないエラーが出て失敗した。Linux系は接続すれば動くのに。これはMSの仕様としてあり得ない。まだ発展途上と思われる。

BLOBファイルのアップロード

BLOBとは何か

Binary Large OBject. 要はVHDやイメージファイルほか、バイナリファイルのこと

VHDなどデータをAzureにアップロードするには

Azure Storage Explorerというソフトをダウンロードして使います。高速です。
詳しくは別で解説予定

VMマシンスペックのアップグレード

一度再起動が必要ですが、メニューからサイズを選べばすぐに変更できます。これがスケーラブルといわれる所以か。
普通のWindows Serverと同じで、1CPUや2GB RAMだとブラウザの利用などは厳しいです。

まずはVMが正常に動作しているのか確認

VMのグローバルIPアドレス

とりあえずFrontDoorやセキュリティなど細かい話は後にして、単体のVMに直つなぎして動作確認するのがよい。
VMのグローバルIPアドレスはVMの画面>概要に出ている。

VMに使いたいサーバーアプリをインストールする

ローカルからRDP 3389で接続してVMに使いたいソフトをインストールする。

これだけでローカルからAzure VM上のRedmineなどが開ける状態になっている。この時点では、まだローカル対Azure上のVM単体(Windows 2022)という経路なので、開けなければVMの問題と切り分けできる。

Windowsのファイアーウォールを開く

従い、開けない場合はVM(Windows 2022)のファイアーウォールを開放するなど対応。

VMのグローバルIPアドレスにDNS名を設定する

しなくても問題はないがしてもいい

DNS名にxxxxと入れれば、VMはxxxx.japaneast.cloudapp.azure.com で開けるようになる。無料なのでとりあえず設定しておけばよい。

その2へ続く

こちらから