AZ障害を想定したブログのマイグレーション

170 Views

September 17, 19

スライド概要

JAWS UG京都でLTした資料です

profile-image

 開発ベンダーに5年、ユーザ企業システム部門通算9年を経て、2018年よりトレノケート株式会社でAWS Authorized InstructorとしてAWSトレーニングコースを担当し、毎年1500名以上に受講いただいている。プロトタイプビルダーとして社内の課題を内製開発による解決もしている。 AWS認定インストラクターアワード2018・2019・2020の3年連続受賞により殿堂入りを果たした。 APN AWS Top Engineers、APN ALL AWS Certifications Engineers、AWS Community Buildersに数年にわたり選出。 個人活動としてヤマムギ名義で執筆、勉強会、ブログ、YouTubeで情報発信している。 その他コミュニティ勉強会やセミナーにて参加、運営、スピーカーや、ご質問ご相談についてアドバイスなどをしている。

シェア

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

#jawsug 2019/9/17 JAWS-UG京都 AZ障害を想定した ブログのマイグレ ーション 山下 光洋

2.

自己紹介 ●山下 光洋 トレノケート株式会社 ラーニングサービス本部 テクニカルトレーニング第1部 技術教育エンジニア AWS認定インストラクター ●過去の経歴 ・SI ソフトウェアエンジニア ・ユーザー企業 IT部門 ●コミュニティ ヤマムギ(勉強会) , JAWS-UG OSAKA, JAWS-UG IoT関西支部, kintone Cafe大阪 ●好きなAWSの サービス #jawsug

3.

AWS認定試験対策クラウドプラクティショナー 本を書きました #jawsug

4.

#jawsug PR

5.

#jawsug 9/24(火) 13:00~ 名古屋駅前TKP お申し込みは、「トレノケート」で検索、ブログから。

6.

JAWS FESTA 2019/11/2 札幌 北海道テレビ放送 創世スクエアスタジオ #jawsug

7.

#jawsug VRといえば

8.

VR研修 #jawsug

9.

VR研修 #jawsug

10.

Virtual Karaoke #jawsug

11.

#jawsug VRじゃなくて ブログの話

12.

今日お話すること #jawsug 1. 個人ブログ(ヤマムギなど) 2. AZ障害、そのときブログは 3. AZ障害に備えるアーキテクチャ 4. ブログマイグレーション 5. 結果(途中報告)

13.

#jawsug 個人ブログ (ヤマムギなど)

14.

個人ブログ(ヤマムギ、チャリンコログ) #jawsug

15.

個人ブログ(ヤマムギ、チャリンコログ) 平日650~850PV #jawsug 1日80~150PV

16.

#jawsug AZ障害、 そのときブログは

17.

AZ障害発生時のブログのアーキテクチャ AWS Cloud Region VPC Availability Zone Public subnet Private subnet #jawsug

18.

AZ障害発生時のブログのアーキテクチャ #jawsug AWS Cloud Region VPC Availability Zone 使用していたAZは、 apne1-az1でした。 Public subnet 障害が発生したのは、 apne1-az4でしたので、 何も影響ありませんでした。 Private subnet

19.

#jawsug AZ障害に 備える アーキテクチャ

20.

AZ障害発生時のブログのアーキテクチャ #jawsug AWS Cloud Region VPC たまたま障害の影響が なかっただけ。 Availability Zone Public subnet もしも該当AZなら、 EC2をAMIから作成、 RDSもスナップショットから 再作成が必要。 wp-config.phpのエンドポイン トも変更。 Private subnet 仮に同様のことが 次回発生したときに、 なるべく早く復旧するには。

21.

AZ障害発生時のブログのアーキテクチャ #jawsug AWS Cloud Region VPC Availability Zone Availability Zone Availability Zone Public subnet Public subnet Public subnet Auto Scaling group Private subnet Private subnet Private subnet

22.

#jawsug ブログ マイグレーション

23.

CloudFront以外を1セット作成 #jawsug AWS Cloud Region VPC Availability Zone Availability Zone Availability Zone Public subnet Public subnet Public subnet Auto Scaling group Private subnet Private subnet Private subnet

24.

T2→T3はAMIではなく作り直した #jawsug ENAサポート有効化手順も試したが、Amazon LinuxだったのでT3のAmazon Linux 2で再構築。 WordPressファイルはSCPコマンドでコピー。 画像はS3バケットへS3 CPコマンドでコピー。 T3.nanoにしたので、メモリ不足は仮想メモリを追加。

25.

画像のS3オフロードはMedia Cloud #jawsug EC2ローカル(EBS)にデータを保存しない。 CloudFront経由独自ドメイン対応。 IAMロール対応はしてないがそこは諦めた。 アクセスキー用の専用IAMユーザは最小権限。 WP Offload S3 Liteは使ってるテーマがあわなかった。

26.

ALBへの直アクセス制御はWAFで CloudFrontのカスタムヘッダを追加。 カスタムヘッダがないリクエストはWAFでブロック。 #jawsug

27.

DMSでデータ移行 #jawsug VPC VPC AWS Database Migration Service Peering connection

28.

Aurora Serverless #jawsug

29.

Auto Scaling Group #jawsug EC2はt3.nanoのスポットインスタンス。 AZを3つ指定して終了される可能性を減らす。 将来的にはt3a.nanoも追加する。

30.

ElastiCache #jawsug PHPサーバーのセッション管理に使用 ElastiCache for Memcached Auroraへのリクエストを減らすために、 キャッシュにも使用。(未実施)

31.

Health Check(将来的に対応) If ( 1. Connect to Database 2. Log Check 3. Process Check etc…. Return 200 ) else ( Return 503 ) #jawsug ヘルスチェック用のmonitor.phpを用意。 何を持ってEC2をUnhealthyにするか。 今後の障害時のモニタリング結果から学んで、moitor.phpに 追加していく。

32.

#jawsug 結果 (途中報告)

33.

1週間運用してみて #jawsug 特に問題なく稼働。 t2.micro 0.0152USDに対して、t3.nano スポット 0.002USD x 2で約1/4。 MySQLシングルインスタンス(0.026USD)からAurora Serverless(1ACU 0.1USD)はコ スト増が見込まれるが、それ以上の運用メリットと可用性を期待している。 Aurora Serverlessの自動停止機能によるコスト削減が、 どこまで可能か突き詰めてやってみる。

34.

We are hiring!!!!!! #jawsug ①AWS Authorized Instructor & AWS内製開発チーム(社員) ②パラレルキャリアなパートナーインストラクター

35.

ご清聴ありがとうございました。 Special Thanx to…..