Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
JAWS SONIC 2020 初心者が避けがちな AWS Well-Architectedフレームワークを使って WordPressサイトを評価してみた JAWS-UG 初心者支部
Slide 2
Slide 2 text
・山原 崇史 ・Twitter : @shonansurvivors ・某Web系企業のSRE 自己紹介
Slide 3
Slide 3 text
本日のセッションについて ・初心者支部運営メンバーが、AWS Well-Architectedの勉強の為に設定した 架空の企業が題材となっています
Slide 4
Slide 4 text
目次 ・とある小さな企業のお話 ・Well-Architectedフレームワークとは? ・5本の柱を使って改善 ・まとめ
Slide 5
Slide 5 text
とある小さな企業のお話 ・色とりどりの布デザインマスクを製造/販売している小さな企業
Slide 6
Slide 6 text
とある小さな企業のお話 ・1年ほど前に、商品紹介等のためのWordPressのサイトを公開した ・サイトを構築したのは新卒入社2年目社員(エンジニアではない) ・いまAWSがイケてるらしい?と聞いて、独学でEC2上に構築
Slide 7
Slide 7 text
とある小さな企業のお話 ・その後の運用もこの2年目社員が1人で続けていた ・ここ最近、コロナ禍の影響でアクセスが増加中
Slide 8
Slide 8 text
構成と運用 ルートユーザー 管理
Slide 9
Slide 9 text
この構成と運用をどう改善する?
Slide 10
Slide 10 text
AWS Well-Architectedフレームワークを 参考にしてみよう
Slide 11
Slide 11 text
AWS Well-Architected FWとは? ・クラウドにサービスを構築する上での原則やベストプラクティス等を解説 ・概要 (約90ページ) と5つの柱から構成される ・運用上の優秀性の柱 (約50ページ) ・セキュリティの柱 (約50ページ) ・信頼性の柱 (約120ページ) ・パフォーマンス効率の柱 (約50ページ) ・コスト最適化の柱 (約50ページ)
Slide 12
Slide 12 text
運用上の優秀性の柱 ・4つの領域 ・組織 👀 ・準備 ・運用 ・進化
Slide 13
Slide 13 text
組織 ・運用モデルを 2 x 2 の形で表してみると、チーム間の関係を理解しやすい
Slide 14
Slide 14 text
「完全に分離した」運用モデル (https://d1.awsstatic.com/whitepapers/ja_JP/architecture/AWS-Operational-Excellence-Pillar.pdf)
Slide 15
Slide 15 text
「自ら実行して構築する」運用モデル (https://d1.awsstatic.com/whitepapers/ja_JP/architecture/AWS-Operational-Excellence-Pillar.pdf)
Slide 16
Slide 16 text
実践 ☑ 今後の体制を上司に相談 ☑ サイト開発/運用に関心のある1年目社員に参画してもらうことに 2年目社員 2年目社員 (プラットフォーム エンジニアリング) 1年目社員 (アプリケーション エンジニアリング) 2年目社員 1年目社員
Slide 17
Slide 17 text
セキュリティの柱 ・5つの領域 ・アイデンティティ管理とアクセス管理 👀 ・検出 ・インフラストラクチャの保護 ・データ保護 👀 ・インシデント対応
Slide 18
Slide 18 text
アイデンティティ管理とアクセス管理 ・最小権限のアクセスを付与しよう ・まず、各IAMユーザー(やIAMロール)が何をする必要があるか定義しよう ・その上で、その実行に必要な権限(ポリシー)を付与しよう 👇 実践 ☑ ルートユーザーは権限として何でもできるので使用を止めた ☑ IAMユーザーを使用することにした ☑ 前述の新体制も踏まえて、各メンバーに最小限の権限(ポリシー)を付与した
Slide 19
Slide 19 text
データ保護 ・転送中のデータを保護しよう ・証明書を安全に管理しよう ・通信を暗号化しよう 👇 実践 ☑ ACMで証明書を発行/管理 ☑ ALBに証明書を付けてHTTPS化 ☑ HTTPはALBでHTTPSへリダイレクト
Slide 20
Slide 20 text
信頼性の柱 ・4つの領域 ・基盤 ・ワークロードのアーキテクチャ(ワークロード : AWSリソースとコードの集まり) 👀 ・変更の管理 ・障害の管理
Slide 21
Slide 21 text
ワークロードのアーキテクチャ ・可能であればサービスをステートレス(状態を持たないこと)にしよう ・ステートレスにすることで水平方向にスケーリング(注)できる 注 : EC2インスタンスの数を増やし、アクセスピーク時などに対応できる
Slide 22
Slide 22 text
ステートレス化の実践 ☑ EC2のストレージを、複数のEC2からアクセス可能なEFSに変更した ☑ DBを、EC2上にWordPressと同居させるのではなく、RDSでの管理とした
Slide 23
Slide 23 text
パフォーマンス効率の柱 ・4つの領域 ・選択 👀 ・レビュー ・モニタリング ・トレードオフ
Slide 24
Slide 24 text
テレビの取材があったよ、来週放送されるよ! (これはアクセスが凄いことになるぞ・・・) 社長
Slide 25
Slide 25 text
選択 ・パフォーマンスアーキテクチャの選択 ・アーキテクチャを最適化するにはテストを通じて得られたデータが必要 👇 実践 ☑ 負荷テストを実施 ☑ ALBの前段にCloudFrontを導入 ☑ WordPressのキャッシュプラグインを利用するためにElastiCacheを導入 ☑ 再び負荷テストを実施して効果を検証
Slide 26
Slide 26 text
コスト最適化の柱 ・5つの重点分野 ・クラウドの財務管理の実践 👀 ・支出と使用量の認識 👀 ・費用対効果の高いリソース ・需要と供給を一致させる ・継続的最適化
Slide 27
Slide 27 text
クラウドの財務管理の実践 ・ファイナンス部門とテクノロジー部門のパートナーシップを確立する 👇 実践 ☑ 会社の経理担当者にもIAMユーザーを発行し、コストを常時参照可能にした ☑ AWSの割引プラン(Savings Plans, Reserved Instances)の仕組みを 経理担当者に説明し、今後の支払方法を一緒に検討するようにした
Slide 28
Slide 28 text
支出と使用量の認識 ・コントロールと通知 ・コスト管理の第一歩は、ポリシー外のコスト発生を通知すること 👇 実践 ☑ AWS Budgetsで予算を設定した ☑ 月次予算が超過しそうな見込みであればSlack通知するようにした
Slide 29
Slide 29 text
構成と運用の振り返り
Slide 30
Slide 30 text
これが ルートユーザー 管理
Slide 31
Slide 31 text
こうなった 管理 ・アプリ担当 ・インフラ担当 ・経理担当
Slide 32
Slide 32 text
まとめ 1 / 2 ・Well-Architectedにはクラウド構築のベストプラクティスが詰まっている ・何をどこからどう改善すれば良いのか悩んでいる時の指針となる ・普段当たり前のように導入している構成の意義や目的の再確認になる ・技術的要素だけでなく組織体制や財務管理の話もある ・リードポジションの方も改めて読んでみると良いかもしれません
Slide 33
Slide 33 text
まとめ 2 / 2 ・それなりにボリューム(300ページ超)のあるドキュメントを読むのは腰が重い・・・ 👇 ・社内/社外の仲間と分担して読んで、意見交換してみては?
Slide 34
Slide 34 text
Special Thanks ! ・太田 亮 (運用上の優秀性の柱) ・山本 淳博 (セキュリティの柱) ・織田 繁 (パフォーマンス効率の柱) ・武田 可帆里 (コスト最適化の柱)
Slide 35
Slide 35 text
🏛ご静聴ありがとうございました🏛