AWS は非常に便利でユーザーは運用監視を考える必要も実施する必要もありませんが、時には AWS のルールを知らなかったことで思いもよらぬインシデント(incident、事故などの危難が発生するおそれのある事態)が発生する可能性があります。
データベースが停止すれば企業のサービスは確実に停止し被害も大きくなります。
特に Amazon RDS の場合は、メンテナンスを定期的に実行するのでどのような仕様なのか詳しく知っておく必要があります。
管理を忘れていると、ある日突然 DB が再起動される
AWS ドキュメントを調べると数か月ごとにセキュリティパッチの適用があると記載があります。
Amazon RDS DB インスタンスのメンテナンス
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Maintenance.html
セキュリティやインスタンスの信頼性に関連するパッチのみ、必須のパッチ適用として自動的にスケジューリングされます。このようなパッチは頻繁に発生するものではありません (通常数ヵ月ごとに一度です)。
アップデートをするタイミング
- 重要なセキュリティパッチがリリースされた場合
メンテナンス確認方法
AWS 管理コンソールより「Amazon RDS」に移動しインスタンス一覧で「メンテナンス」の状態を確認することができます。
必須もしくは重要でないものはアップデートされない
重要なセキュリティパッチの適用以外はメンテナンスをスキップしたり(メンテナンスをしない)、先延ばし(延期)することが可能です。
必ずしもアップデートをする必要がありません。
- Required ← 必須(必ずやらなければいけない)
- Available ← 可能(やらなくてもよい)
バージョンが変わってしまった場合はリリースノートを確認する
RDS の データベースエンジンのバージョンが変わってしまった場合、仕様や機能も変更されるので念のため「リリースノート」を確認し、バージョンアップによりどのような仕様や機能が変更されたのか確認します。
AWS からの通知を見逃さない
AWS のルール上、重要なセキュリティパッチを適用しなければならない状況になったとしても、ユーザーに何も連絡をせずにいきなりアップグレードからの再起動は行いません。
必ず事前に AWS からメール通知が来ます。
そのため、メール通知を見逃さなければ突然のアップデートからの再起動による「サービスの停止」や「仕様変更や機能変更によるサービスの不具合」は避ける猶予が与えられます。
セキュリティパッチを適用する場合
以下のように AWS からのメールは「英文」で届きます。まだ「日本語文」でのサービスはないようです。
Hello, 私たちの記録によれば、古いバージョンの Aurora PostgreSQL を実行している AP-NORTHEAST-1 には、以下の1つ以上のデータベースインスタンスがあります。 Aurora PostgreSQL バージョン 9.X.X には重要なセキュリティ改善が含まれているので、Aurora PostgreSQL X.X.X インスタンスを Aurora PostgreSQL 9.Y.Y にできるだけ早くアップグレードすることをお勧めします。 20XX年XX月XX日から、保守期間中に Aurora PostgreSQL 9.X.X インスタンスを Aurora PostgreSQL 9.Y.Y に自動的にアップグレードします。 アップグレード中にインスタンスが数分間使用できなくなります。 Amazon RDS のマイナーバージョンのアップグレードの詳細については、「データベースエンジンのバージョンのアップグレード」[1]ページを参照してください。 サポートされているエンジンのバージョンと Amazon RDS の非推奨ポリシーに関する情報は、Amazon RDS FAQs ページ[2]に説明されています。 ご質問やご不明な点がございましたら、AWS サポートチームはコミュニティフォーラムやAWSサポート[3]でご利用いただけます。 |
RDS を搭載している OS のアップグレードをする場合
セキュリティパッチの適用だけでなく OS のアップグレードを実施することもあります。
その場合は AWS より以下のようなメール通知が届きます。
Hello, 7月には、RDS Oracle インスタンスのオペレーティングシステムの更新版が入手可能であることを顧客に通知しました。これは最終的な通知となり、RDS Oracle データベース・インスタンスを最新のオペレーティング・システム・バージョンにアップグレードするために必要な情報が含まれます。 ap-northeast-1 地域の影響を受けるインスタンスを以下に示します。 自動アップグレードが20XX年XX月XX日に始まる前に、オペレーティングシステムをアップグレードすることをおすすめします。 Single-AZ インスタンスのオペレーティングシステムの更新には約10分かかります。 You can minimize the availability impact on your database instance during the update by selecting the Multi-AZ deployment option. Multi-AZ 配備オプションを選択すると、更新中のデータベースインスタンスの可用性への影響を最小限に抑えることができます。 For Multi-AZ instance, installing this update will have an availability impact for a few minutes on your RDS instance (60-120 seconds). Multi-AZ インスタンスの場合、このアップデートをインストールすると、RDS インスタンスで数分間(60〜120秒)アベイラビリティに影響があります。 This availability impact for Multi-AZ instances is reduced to the time needed to perform a failover, as Amazon RDS will conduct maintenance by first updating the standby database and then promoting the standby to primary. Amazon RDS は、最初にスタンバイデータベースを更新し、次にスタンバイをプライマリに昇格させることで、Multi-AZ インスタンスの可用性への影響をフェールオーバーの実行に必要な時間に短縮します。 20XX年XX月XX日以降、古いオペレーティングシステムで実行中の RDS Oracle インスタンスは、次回の定期メンテナンス期間中に自動的に更新されるようにスケジュールされます。 ご質問やご不明な点がありましたら、AWS サポートチームはコミュニティフォーラムや AWS Premium Support [2] でご利用いただけます。 |
EC2 インスタンスの場合
EC2 インスタンスの場合は「EC2 ダッシュボード」より「イベント」をクリックすると一覧が表示されます。
下図の場合は「イベントタイプ」が「system-reboot」となっているので OS 再起動が実施されます。
予定されているイベントがある場合は下図のように EC2 インスタンスの詳細画面の「予定されているイベント」に表示されます。
EC2 の場合は初回起動時に重要なセキュリティアップデートの自動インストールをする
EC2 インスタンスの場合は、インスタンスの初回起動時に重要なセキュリティアップデートの自動インストールをします。
実際にアップデートされるタイミングは、OS が起動し SSH などの各サービスが開始される前に実行されます。
EC2 起動時にセキュリティアップデートを無効にする方法
以下のように「/etc/cloud/cloud.cfg」ファイルを編集することでセキュリティアップデートを無効にすることができます。
repo_upgrade: security を repo_upgrade: none に変更します。
■デフォルト
# cat /etc/cloud/cloud.cfg |
■変更後
# cat /etc/cloud/cloud.cfg |
Amazon Linux のパッチを確認する手順
以下の URL より「Amazon Linux Security Center」にアクセスして各セキュリティパッチを確認することができます。
Amazon Linux Security Center
逆に定期的に EC2 インスタンスを最新のバージョンにしておきたい場合
yum-cron を利用すると定期的にバージョンを最新の状態にしてくれます。
コメント