AWSの運用において知っておくべきこと

AWSの運用において知っておくべきこと

今日から3回(予定)で、AWSの運用において知っておくべきことを、システムへの影響が高い順から書いていきたいと思います。突然AWSから英語のメールが来て、元オンプレのインフラエンジニアが冷静に対応できるかというと、できないと思うので(僕がそうでした)

EC2インスタンスのリタイア対応

AWSから「お使いのEC2インスタンスが動作しているハードウェアに劣化を検出したため、x年x月x日に停止します」という内容のメールが、何の予兆も無く突然来ます。

件名:Amazon EC2 Instance Retirement [AWS Account ID: xxxxxxxx]

***

Hello,
EC2 has detected degradation of the underlying hardware hosting your Amazon >EC2 instance (instance-ID: xxxxxxxx) associated with your AWS account (AWS >Account ID: xxxxxxxx) in the xxxxxxxx region. Due to this degradation your >instance could already be unreachable. We will stop your instance after >20xx-01-01 00:00 UTC.

***

docs.aws.amazon.com

どう解決するのか

ルートデバイスにEBSを使用している場合に絞って書くと、EC2インスタンスの停止と開始を行うことで解決します。と簡単に書きましたけど、EC2インスタンスの停止が必須であるので、影響は大きいです。期限もありますし。
特に、冗長化していない場合や、アプリ側からDBへの読み書きなど何らかの処理を完了させる必要がある場合など簡単に停止できない場合は、事前に手順を整理しておかないと突然のメールに振り回されることになります。

なぜ解決するのか

なぜEC2インスタンスの停止と開始のオペレーションでこの問題が解決するかというと、その操作を行うことによって、劣化が起きている仮想基盤と違うところでEC2が起動するからです。

f:id:TOSHIOSHIMO:20191210201621p:plain

再起動を行っても、同じ仮想基盤上(結局同じハードウェア)で再起動されるだけですので、問題は解決しません。

f:id:TOSHIOSHIMO:20191210201833p:plain

メモ

C5インスタンスのハイパーバイザはKVMベースとなった。