浅草橋青空市場

Microsoft Azure のニュースや情報を中心にあれこれと

Azure仮想マシンのメンテナンスを見守ったメモ

年始からバタバタしてますね。

CPU の脆弱性から Azure のお客様を保護するために – Japan Azure Technical Support Engineers' Blog

[重要: 2018 / 1 / 6 更新] [告知] 2018 年 1 月 2 日より Azure IaaS 仮想マシンのメンテナンス期間が開始します – Japan Azure Technical Support Engineers' Blog

背景等を含め、こちらの記事で分かり易く説明されています。

www.publickey1.jp

この記事ではメンテナンスの立ち会いがてらに、実際のところどんな感じだったかのメモを残しておこうと思います。

メンテナンス対象となっているVMをまとめて確認したい

「サービス正常性 → 計画済みメンテナンス → 影響を受けるリソース」で、いまのアカウントで管理している全サブスクリプションの情報がまとめて一覧で見られます。メンテナンスが終わったリストは残念ながら見あたりませんでした。

(2018年1月6日 追記)

メンテナンス期間に突入したせいか、「サービス正常性 → 計画済みメンテナンス → 影響を受けるリソース」と辿ると、メンテ完了したVMも表示されるようになっていました。

(追記終わり)

f:id:yhara90:20180104161258p:plain

(2018年1月5日 11時21分 追記)

メンテナンス完了 → ホスト障害 → メンテナンス終わってないホストに着地 → またメンテナンス対象に

という流れで再度メンテナンス対象になるケースを見かけました。やはり推奨されているとおり、Azure Monitor や Instance Metadata でこまめに見ておくのが良さそうです。

(追記終わり)

(2018年1月9日 14時06分 追記)

「サービス正常性 → 計画済みメンテナンス」から今回の告知自体が消えていました。今日の午前中に「COMPLETED: Required Maintenance for Azure Platform impacting Virtual Machines」という件名のメールが届いていたので、一連のメンテナンスが完了したと考えていいんでしょうね(本文内には「REGION(S): Australia East」と書いてありますが…)。

(追記終わり)

VMのメンテナンスウィンドウを確認したい

仮想マシン一覧のブレード(Virtual Machine)で列を追加できます。今回のようにプラットフォーム側でスケジュールを設定された場合は、「メンテナンス - 自動スケジュールされたウィンドウ」列に表示されます。ここが空欄であれば実施済みと判断して良さそうに思います。セルフサービス期間には「メンテナンス」列に「完了」と出ていたんですが、セルフサービス期間を過ぎると何故か消えてしまうようです。

f:id:yhara90:20180104161633p:plain

(2018年1月4日 20時57分 追記)

と思ったら、いま見た感じだと「完了」はちゃんと表示されるようになっていて、逆に「メンテナンス - 自動スケジュールされたウィンドウ」列が無くなっていました。列の追加からも消えてしまいました。

f:id:yhara90:20180104205806p:plain

(追記終わり)

メンテナンスがいつ頃行われたのか確認したい

「メンテナンス - 自動スケジュールされたウィンドウ」欄が空欄になっているがちょっと不安、という場合には、仮想マシンの「リソース正常性」から「履歴の表示」でメンテナンス(による再起動)が実施されたかどうかを確認することができます。メッセージにはいくつかのパターンがあるようです。

  1. この仮想マシンを実行しているホスト サーバーに対してメンテナンス更新プログラムを適用しています
  2. 計画メンテナンス アクティビティの一部として、この仮想マシンは別のホスト サーバーに再デプロイされています。再デプロイの完了後、オンラインに戻ります。

おそらく前者はホスト移動無しでパッチ適用した場合、後者はホスト更新のため自動再デプロイされた場合のメッセージかなと思います。

f:id:yhara90:20180104170454p:plainf:id:yhara90:20180104170509p:plain

セルフサービス期間を過ぎているがなんとか手動でやりたい

公式情報によると 「Azure インフラストラクチャの大部分は、本脆弱性に対応するため更新済みとなります」 ということで、割り当て解除・開始や再デプロイ、(主に)v3系へのサイズ変更なんかでメンテナンス済みのホストに移動する可能性はあるかなと思います。

といっても、相当な勢いでメンテナンスが進んでいるようなので、あまりジタバタしない方が良さそうには思います。今日のお昼頃に手動で再デプロイしてみた仮想マシンではこんな感じのログになっていまして、正常にアクセス可能になるまで結構な時間がかかりました。

f:id:yhara90:20180104171353p:plain

ゲストOSへのパッチ適用は必要?

必要なはずです。詳しくは各ベンダーやディストリビューションの情報を確認しましょう。

Azure以外のクラウドは?

AWSで年末からずっとメンテナンスが走っていたのもこの件だったんでしょうね。公式なリリースはこちら。あと数時間で基盤側のアップデートが終わるので、ユーザー側でもOSパッチを当てるようにとのこと。Amazon Linuxはパッチ提供済みなので yum update kernel で適用されるそうです。

Processor Speculative Execution Research Disclosure

Google Cloud Platform については、基盤側は対応済みなのでゲストOS側のパッチを当てるようにとのこと。影響があるのはGCE、GKE、Cloud Dataflow、Cloud Dataproc。

Google Online Security Blog: Today's CPU vulnerability: what you need to know

クラウドではありませんが、VMwareについてはパッチが提供されているようですね。

VMSA-2018-0002.1

(2018年1月5日 追記)

IBM Cloud からもリリースがありました。1/5から1/8の間にパッチ適用、インスタンスの再起動あり、バックアップ推奨。タイミングはメンテナンスチケットで通知されるとのこと。

We're taking action to secure our cloud against recent security vulnerabilities - IBM Cloud Blog

(追記終わり)

性能が落ちるという情報があるが大丈夫?

(2018年1月24日 追記)

日本マイクロソフトから記事が出ていましたので、まずはこちらをご覧頂くのが良さそうです。

Windows システム上の Spectre および Meltdown に対する緩和策のパフォーマンスへの影響について – 日本のセキュリティチーム

(追記終わり)

AWSのフォーラムで話題になっていたようですね。実際に、身近なEC2でも特にParavirtualizedなインスタンスでは比較的大きめな影響が出ていたようです。

Degraded performance after forced reboot due to AWS instance maintenance

Azureについては、ネットワークに影響が出る可能性があるかも、ということで、これは後ほど実測してみようかと思います。

CPU の脆弱性から Azure のお客様を保護するために – Japan Azure Technical Support Engineers' Blog

(2018年1月5日 追記)

と言うわけで実測してみました。

まずはUbuntuでUnixBenchを実行した結果です。誤差程度といいますか、東日本のAシリーズはむしろ新しいハードウェアに乗って性能アップしちゃったのかもしれません。Bシリーズについては、ちょっと性能が出すぎてしまっている感があるので参考程度に。

リージョン インスタンスタイプ スコア
(メンテ前)
スコア
(メンテ後)
前後比
東日本 Standard A1 (1 vcpu, 1.75 GB memory) 742 799 108%
東日本 Standard_A1_v2 (1 vcpu, 2 GB memory) 785 820 105%
東日本 Standard F1s (1 vcpu, 2 GB memory) 1,770 1,676 95%
西日本 Standard B1ms (1 vcpu, 2 GB memory) 1,015 1,890 186%
米国西部2 Standard F2s_v2 (2 vcpus, 4 GB memory) 2,877 2,914 101%

続いてネットワークのパフォーマンス。公式ドキュメントの案内通り、NTttcp で測定しました。 見た感じ、アナウンス通り少しパフォーマンスが落ちているように見えますね。SR-IOVを有効にした場合で以前と同程度という結果でした。Dシリーズ(Dv2、Dv3)だけの結果なので偏りがあるかもしれませんが、ご参考まで。

(2018年1月5日 訂正)

Windows Updateの影響を考慮してなかったので、改めて測定し直しました。
結果、プラットフォームのメンテナンス前後ではパフォーマンスは変わらず、Windows Update を適用すると少し落ちて、SR-IOVを有効にすると回復する、といった結果になりました。

f:id:yhara90:20180105152737p:plain

最後に、ストレージのベンチマークを簡単に(2018年1月5日 追記)。L4sにアタッチしたデータディスク(P30)を CrystalDiskMark のデフォルト設定で計測しました。結果としてはアップデートの影響は無く、スペック通りの性能が出ていました。

▼Azureメンテナンス前(2017年12月 計測) f:id:yhara90:20180105130026p:plain

▼Azureメンテナンス後、Windows Update未適用(2018年1月5日 計測) f:id:yhara90:20180105130109p:plain

▼Azureメンテナンス後、Windows Update適用(2018年1月5日 計測) f:id:yhara90:20180105130149p:plain

(2018年1月6日 追記)

AzureのホストメンテナンスというよりWindows Updateの話になりますが、KB4056892でRAMDISKのパフォーマンスが落ちるということでL4sにiSCSIでアタッチして簡単に試してみました。数パーセントから銃数パーセントの低下といったところですかね。

▼KB4056892 適用前 f:id:yhara90:20180106100804p:plain

▼KB4056892 適用後 f:id:yhara90:20180106100837p:plain

(追記ここまで)