Developers.IOにある 冗長化(マルチAZ、マルチリージョン)、監視、障害対応などの記事をまとめてみた(全116個)
先日の東京リージョンで発生したEC2とEBSの障害について、振り返ってみれば、
- 冗長化しておく
- 適宜バックアップを取っておく
- ログをすぐ可視化できる仕組みを構築しておく
- 障害発生時の対応を検討・シミュレートしておく
などによって、影響を軽減できたと言えそうです。 もちろん、このあたりは「事業内容や構築しているシステムで必要な稼働率、予算」などで考え方や実現できる内容は異なると思います。
ところで、AWSには責任共有モデルがあり、AWSと利用者がそれぞれ行うべきことを定義しています。 利用者がこれを行うための手段として、AWS Well-Architectedも提供しています。
本記事では、これまで培ってきたDevelopers.IOの記事から、冗長化・監視・障害対応などの記事をピックアップしてまとめてみました。 少しでも参考になると幸いです。
なお、本記事は今後も適宜アップデートしていきます。差分は最後の更新履歴をご覧ください。
目次
はじめに
検索ワード
Developers.IOを下記で検索し、ヒットした記事をピックアップしています。
- 障害
- 監視
- マルチリージョン、Multi Region
- AZ、Availability Zone、アベイラビリティーゾーン
- 冗長
- リカバリ
- バックアップ、backup
- スナップショット、snapshot
- 復旧、復元
前提
- ピックアップ対象は2018年1月以降に投稿された記事のため、最新でない記事もあると考えられます
- 「2018年以前だけどこの記事良いよ」な記事は掲載しています
- 運用、監視、障害対応などが対象です(セキュリティ観点は含みません)
- 記事のタイトルで一次判断し、内容で二次判断しています
まずは現状確認を!
AWS Well-Architectedをじっくり確認し、「AWSに構築しているシステムはどうだろう?」と現状確認し、改善点の洗い出しや改善方法の検討などを実施するのが良さそうです。
その際には、各サービスのベストプラクティスも確認するとヒントが得られるかもしれません。
- Amazon EC2 のベストプラクティス - Amazon Elastic Compute Cloud
- Amazon RDS のベストプラクティス - Amazon Relational Database Service
ベストプラクティスがあるものについては、「サービス名 + ベストプラクティス」で検索すればHitすると思います。
Developers.IOからピックアップ
AWS概要
Well-Architected Framework関連
全般
- HPC on AWS での Well-Architected Framework を学ぼう!(前編)
- HPC on AWS での Well-Architected Framework を学ぼう!(後編)
- [レポート]Well-Architected Frameworkを100%生かす方法 #AWSSummit
- AWS再入門2018 AWS Well-Architected Framework編
信頼性
- AWSが定義する信頼性とは?Well-Architected Frameworkの『Reliability』ペーパーが群を抜いて面白い件(日本語ガイド)
- Well-Architected Frameworkの柱「信頼性」を読み解いてみた
運用の優秀性
- Well-Architected Frameworkの柱「運用の優位性」を読み解いてみた
- AWSの運用ベストプラクティス 「運用上の優秀性」についての解釈
- AWSの運用ベストプラクティス 「運用上の優秀性(Operational Excellence)」についてがっつり説明しているスライドがあったのでレポートします
Availability Zone関連
全般
- AWSアカウントに因らずアベイラビリティゾーンを識別できるAZ IDを利用しよう #reinvent
- AWS CLIで自アカウントのAZ名とAZ IDのマッピングを確認する
- AWS Tools for PowerShellで自アカウントのAZ名とAZ IDのマッピングを確認する
EC2
RDS
- マルチAZ構成のRDS(MySQL)を強制フェイルバックさせてみた
- RDSリードレプリカの負荷分散・冗長構成をRoute 53のヘルスチェックとCloudWatch Alarmで実現する
- Amazon RDS for PostgreSQLのレプリケーションとフェイルオーバーの仕様を確認してみた
- RDS の Multi-AZ構成から Single-AZ構成へ変更したとき Availability Zone はどこになるか確認してみた
- RDSってなんでAZ(Availability Zone)を指定する項目がふたつあるの?
ALB系
MongoDB
マルチリージョン関連
設計
- [レポート] ARC326 : マルチリージョンでActive-Active構成アプリの設計パターン #reinvent
- [レポート] ARC209: マルチリージョン構成でのActive-Activeアプリケーションアーキテクチャパターン #reinvent
- [レポート] SRV425: マルチリージョンのサーバーレスアプリケーションの構築に関するベストプラクティス #reinvent
IoT
デプロイ
SLA関連
全般
監視・通知
ログ出力
監視(モニタリング)
全般
- 【レポート】【初級】クラウド環境におけるモニタリングの重要性について #AWSSummit
- 【レポート】AWS で実現する攻めのシステムモニタリング #AWSSummit
- AKIBA.AWS 第13回 ガチ編〜監視(モニタリング)〜 で「いまふたたびのCloudWatch Dashboardsへ」という内容で登壇しました #akibaaws
- クラウド世代の OSS 監視システム「Prometheus」 Meetup でがっつり話を聞いてきた #prometheustokyo
- [レポート] DEV311: カオスからの脱却:AWSクラウドネイティブアプリのモニタリング ベストプラクティス #reinvent
Route 53
Kubenetes
ツール
- 【レポート】モダンなモニタリングへの変革!Datadog徹底解説 #AWSSummit
- [レポート]無意味なアラートからの脱却 〜 Datadogを使ってモダンなモニタリングを始めよう 〜 #devsumi #devsumiB
電話通知
Slack通知
- 運用中のLambdaのログに特定のワードが出現した時、Slackに通知させる仕組みをAWS CDKで作ってみました
- LambdaとAPI GatewayのCloudWatchアラームをAWS SAMで定義して監視する! Slack通知もするよ!! 〜CloudFormationの参考にもどうぞ〜
- Cloudformationで構築するCloudWatchアラームSlack連携
検索・可視化
- Webサイトの稼働状況を確認するダッシュボードをCloudFormationで作成する
- Amazon CloudWatch Events のログを Amazon CloudWatch Logs Insights で検索してみる!
- RDS for MySQL のスロークエリログを可視化して、パフォーマンスをモニタリングする
- オンプレのネットワーク機器のメトリクスをCloudWatchで表示する
- Performance InsightsのカウンターメトリクスをCloudWatchに連携してみた
- CloudWatchダッシュボードを利用してオートスケール環境の稼働状態を可視化してみた
- Amazon Athena RegexSerDe を利用して ALB ログを探索する(2018年8月版)
新機能リリース系
RDS
- [アップデート] その設定、大丈夫?Amazon Aurora のベストプラクティスガイダンスが提供されるようになりました!
- 【新サービス】Amazon Aurora Multi-Masterが一般公開になりました
- 災害対応以外にもメリット有!RDS for PostgreSQLがリードレプリカのマルチAZに対応しました
- [アップデート] Amazon RDS の自動バックアップがインスタンス削除後も残せるようになりました。
- Amazon RDSのリードレプリカMulti-AZ利用が可能になりました
- [アップデート] RDS および Aurora のリストア時にパラメータグループが指定できるようになりました!
ALB系
Buckup
- フルマネージド統合バックアップサービスのAWS Backupが東京リージョンにやってきました!
- Amazon DLMが東京に上陸してEBSのライフサイクル管理が簡単になりました
- 【新サービス】 AWSの各種サービスのバックアップを管理するAWS Backupが登場!
DLM
CloudWatch
- CloudWatchにAnomary detection(異常検出)が追加されました(Open preview)
- k8s環境のメトリクスやログを取得するマネージドサービス「CloudWatch Container Insights」が発表されました!
- ECSとFargateのメトリクスを一括取得するCloudWatch Container Insightsがプレビューリリースです!
DynamoDB
App Mesh
Mackerel
障害に備える
全般
EC2
- スティッキーセッションを使っていなければApplication Load Balancer障害に耐えれたかも??? Amazon EC2をステートレスにする為にやるべきこと
- SingleAZ配置のEC2インスタンスで障害発生時の影響を最小化する
- EC2インスタンスの自動リカバリー設定を改めて説明する(CloudWatch Alarm)
- Systems Managerから簡単にEC2を定期バックアップ
RDS
バックアップ
- 【初心者向け】DLM (Data Lifecycle Manager)で周期的にEC2スナップショットを作成してみた
- AWS Backupで間引きながらバックアップする
- AWS BackupでDynamoDBを日次バックアップ&リストアしてみた
- Amazon DLMとAWS BackupはEBSバックアップの世代管理方法が異なります
- AWS Backup で RDS をバックアップ/リストアする
- CloudFormationでさくっとEFSを作成して、AWS Backupする Templateを作成してみた
- AWS Backup でお手軽に EFS バックアップを取得する
- Amazon謹製のEFSバックアップソリューションを使ってみた:バックアップ編
- Amazon謹製のEFSバックアップソリューションを使ってみた:リストア編
- EBSで組んだRAIDもバックアップ可能。複数のEBS間でクラッシュ整合性のあるスナップショットが取れます
- AWS再入門2018 バックアップとディザスタリカバリ編
- AWS Systems Manager で EC2 のバックアップを取得(期日指定篇)
- AWS Systems Manager で EC2 のバックアップを取得(ドキュメント作成・手動実行篇)
- AWS Systems Manager を使って AMI と スナップショット を一緒に削除してみた!
- AWSCLIでタグ付きEBSスナップショットを取得する****
Elasticsearch Service
Lightsail
障害対応・復旧・復元
実際にやってみた
EC2
- EC2再作成時にプライベートIPアドレスとMACアドレスを引き継いでみる
- ルートデバイスにアタッチされたボリュームをスナップショットから作成したボリュームに入れ替える方法
- EC2 の「強制的に停止 (Forcefully Stop)」操作を紹介します
- Windows Server EC2インスタンスを別サブネットに移行する際に注意すべきこと
- AMIバックアップイメージから復元したWindows EC2インスタンスのパスワード取得について
- EC2 が起動できない!実例から学ぶ原因と解決策 〜オペ部だより〜
- [素朴な手順]EBSスナップショットからファイル復旧してみます
- CloudFormationでDLMを使ったEBSを自動バックアップするEC2を起動させてみた
- EC2上のプロセスを監視し自動復旧する
- [小ネタ] プライベートIPアドレスを指定して EC2 インスタンスを起動する方法
- EC2インスタンス(EBS)のリストア手順をAMI ID指定で作成・出力する内製スクリプトのご紹介
- EC2インスタンスをインスタンスIDを変えずに復元する
- EBSスナップショットからのレストア
RDS
- RDS の CPU 使用率がほぼ 100% どう調査する? 実例から学ぶ原因と解決策 〜オペ部だより〜
- 障害発生時、Single-AZ構成のDBインスタンスを簡単に手早く復旧したい
- 【Amazon RDS】AWS CLI で DBスナップショットからリストアする
Redshift
- Amazon Redshift cronライクに自動スナップショットを取得できる『スナップショットスケジューラ』がリリースされました
- Amazon Redshift: 自動スナップショットの「お掃除」がラクになりました
書籍
- Monitoring Modern Infractructure(eBook provided by Datadog)を読んでみた #datadog
- 【書評】「インフラ設計のセオリー」新人インフラエンジニアが押さえておくべき内容が詰まった一冊
- 書評「入門 監視」雰囲気で監視をやっているすべての人にオススメ
更新履歴
- 2018/9/10 追加
- スティッキーセッションを使っていなければApplication Load Balancer障害に耐えれたかも??? Amazon EC2をステートレスにする為にやるべきこと
- AWSが定義する信頼性とは?Well-Architected Frameworkの『Reliability』ペーパーが群を抜いて面白い件(日本語ガイド)
- 【初心者向け】DLM (Data Lifecycle Manager)で周期的にEC2スナップショットを作成してみた
- EC2再作成時にプライベートIPアドレスとMACアドレスを引き継いでみる
- RDS の CPU 使用率がほぼ 100% どう調査する? 実例から学ぶ原因と解決策 〜オペ部だより〜
- CloudWatch Logs InsightsでALBのELB 5XX発生時のアクセスログを分析してみた
- 2018/8/28
- 新規投稿