Azure 小ネタ集
Microsoftが出しているドキュメントや、MSの方から聞いたAzureを使用する上で注意することや知っておくといいことのまとめ。日々更新予定。
Azure VM
VM全般
- VMの課金は分単位の従量課金制
- VMの停止中に課金されないのは、あくまでコンピューティングの料金であり、VMのディスク容量や固定IPは課金が継続される。
VMのディスクについて
- VMを作成するとマウントされるDドライブは非永続な記憶領域であり、VMをdeallocateするとDドライブ内は消滅する。
しかし:Dドライブは永続ドライブに比べてIO速度が速い
なぜなら:通常のディスクはストレージとVMを紐づけて接続するが、DドライブはVMがホストされているデータセンター内の同一物理マシンに置かれるため。(だからdeallocateするとホストされている物理マシンが移動するためドライブ内が消滅する)
- ストレージの最大容量は1ストレージアカウントにつき35TBまで。
- ストレージの課金対象はVHDのサイズではなく使用容量に対して。
- ストレージをフォーマットする際はクイックフォーマットがいい。(フルフォーマットするとディスクサイズを全て0埋めするので実際には使ってなくてもディスクサイズ全てが課金対象になる)
- プレミアムストレージはBLOBのみをサポートしている。冗長性もローカル冗長のみで、ドメイン名もマッピング不可なので完全にVMのディスク用。
- プレミアムストレージは通常のストレージと異なりフォーマットに関わらずVHDのサイズ全てが課金対象となる。
VMの管理
- VMにはデプロイ時に自動的にエージェントが入る。
ポータル内のブレードでハートビートモニタリングやExtension導入をするため
VMスケールセット
- スケールセットとは複数のVMを1セットとして管理する方法。
- スケールセット内にあるVMには通常通りのRDP接続はできない。
理由:スケールセット内VMはサブネット内に配置され、個々に外部から接続されるパブリックなIPアドレスが振られないため。
- スケールセット内にあるVMにRDP接続する方法
1.スケールセットのサブネット内にパブリックIPを持たせたVMを1台デプロイし、そこにRDP接続して、さらにそのVM内でサブネットのスケーラブルVMにローカルIP指定でRDP接続する。(いわゆる踏み台)
2.スケールセット作成時に自動デプロイされるサブネットのロードバランサーにポート番号によるルーティング設定をして個々のVMに振り分ける。
- スケールセット作成時にはオーバープロビジョニングが既定で行われる。
オーバープロビジョニング:プロビジョニングに失敗してもいいように多めにプロビジョニングして、後から数を合わせること。オーバープロビジョニング時の余分なプロビジョニングには課金されない。もちろんこれを無効にすることもできる。
オンプレからクラウドへのP2V移行について
- Azureでサポートされる形式はVHDのみなのでオンプレがVHDXの場合はPowerShellコマンドで変換する必要がある。
- 移行前に一般化する必要がある。
- Azure Site Recoveryを使用してクラウドへ複製後、複製設定をオフにすると移行と同じようなことができる。
VNet
全般
- VNet内での名前解決は暗黙的に可。
- VNet外からの名前解決は暗黙的には不可。
- 受信セキュリティはNICとSubnetに対して設定することができる。
可用性
- 可用性を組むときは上流にロードバランサー(LB)をデプロイ。
- LBは配下のVMがダウンした時にそのVMを接続候補から除外する。
- VMのダウンを検知するために(既定)正常性プローブがVMの死活を検知している。
(既定)正常性プローブ:VMの死活を監視する仕組み。厳密にはVM内のAzureエージェントの死活を監視している。そのためVMは正常動作しているのにも関わらずエージェントがダウンした場合はVM全体がダウンしたと認識される。
- 上記問題を解決するためにカスタム正常性プローブというものがある。
カスタム正常性プローブ:TCP/UDPによる特定ポートへのアクセスによって実際に監視を行いたいサービスに対して死活を監視する。
Azure Machine Learning(ML)
- Azure MLの課金対象は実際に機械学習処理を行っている時間のみ。(モデル作成中は非課金)
- どのモデルを使えばいいか、はAzure MLチートシートを参考にする。