【AWS/Udacity】AWS クラウドアーキテクト ~First Submit~
Udacity の AWS アーキテクチャコースを受講しています。
今回はその内容のアウトプットをしていければと思います。
Resiliency
redundancy(冗長性)
- サブネットグループがキーになる
- 複数のインスタンス
- 最初の構築はマルチAZで構築するのが良さげ、リージョンだと少し重い。
Business Objectibe(ビジネス目標)
Uptime
- SLA
- 全て冗長化すべき
- 計算
Allowed downtime = (30 days 24 hours 60 minutes) - (30 days 24 hours 60 minutes * SLA percentage)
99%の場合の計算は以下の通りです。
43200 - 42768 = 432
432 ÷ 60 = 7.2時間
Downtime(ダウンタイム)
Downtime is the opposite of uptime
- Third party Downtime
- ダウンタイムの例外
- Scheduled Maintenance
- Degraded Service(サービスの低下)
- Force Majeure(不可抗力)
メンテナンスに優れている時間帯はどこか?
メンテナンスをするサイトのトラフィックのパターンを解析してから決定するのが良い
・最初の土曜日の 1am ~ 4am とか
自分たちのサービスとThird Partyを分ける
RTO(Recovery Time Objective)
ダウンタイムを許容できる時間のことをさします。
いまさら聞けないRPO(目標復旧時点)とRTO(目標復旧時間)の違い
2時間のRTOの場合は、下記などが必要になります。
・24時間体制のサポートチーム
・復旧手順書
RPO(Recovery Point Objective)
システムがデータを失う最大の時間をさします
RPOをできる限り減らす施策は下記が考えられます。
- 冗長化
- バージョニング
- Point-in-time recovery
全体図
第1回 DBシステム可用性向上の基礎知識 より引用
大事なこと
- 復旧用のドキュメント作成
- 誰でもこれをみて実行できるようにしておく
- 練習を何回も行うこと
- ここはカオスエンジニアリングとかも関わってきそう
何を準備しておくべきか
- データベースバックアップ
- サーバーイメージ
- ソースコード
- サーバーの設定詳細
- ネットワークの設定
- IPのホワイトリスト
復旧プランの種類
- Cold Standby
- Pilot light
- Warm Standby
- Hot Standby
参考記事
October 21 post-incident analysis - The GitHub Blog
How we run incident postmortems | Atlassian
5 Monitor, Reaact, Recovery
何が変わったのかを確認する
- Release notes
- Application log
- CloudTrail CloudTrailの基本 – サーバーワークスエンジニアブログ
復習
データベース作成
【AWS】(番外編)初心者向けVPC内でEC2やRDSインスタンスを生成する際の備忘録 - SEワンタンの独学備忘録
リードレプリカ作成
RDSリードレプリカ環境を構築してみる – Web Pencil
インスタンス作成
sshコマンド
ssh -i primary-udacity.pem [email protected]
忘れた時は
どうやんだっけ?となった時は、「接続」ボタンをクリックして、コマンドを確認します。
権限が適切に設定されているか確認
chmod 600 primary.pem
【SSH】Permissions 0644 for 'XXX.pem' are too open. | 株式会社アイ・プライド
EC2からデータベースへの接続
mysql -h udacity.cqhvsheixadi.ap-northeast-1.rds.amazonaws.com -P 3306 -u admin -p
AWSのEC2からRDSに接続してmySQLを操作。EC2踏み台サーバー構築メモ|おちゃカメラ。
データベース作成
create database udacity;
データベースを作成する(CREATE DATABASE文) | MySQLの使い方
テーブル作成
create table user (id int, name varchar(10));
データを追加する(INSERT文) | MySQLの使い方
データ挿入
insert into user values (1, 'Yamada');
データを追加する(INSERT文) | MySQLの使い方
データ読み取り
select * from user;
リードレプリカの作成、昇進
アクションからリードレプリカを作成したり、masterに昇進させることもできます。
構築した構成図
Author And Source
この問題について(【AWS/Udacity】AWS クラウドアーキテクト ~First Submit~), 我々は、より多くの情報をここで見つけました https://qiita.com/wqwq/items/34eaa2b54c524cc59bc8著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .