狠狠撸

狠狠撸Share a Scribd company logo
AWS設計ガイドラインで
取り組むクラウドシフト
モードチェンジを加速させるために
トレノケート株式会社
AAI(AWS Authorized Instructor) Champion
山下 光洋
#trainocate
自己紹介
●山下 光洋 (@yamamanx)
トレノケート株式会社
AWS認定インストラクター
●経歴
?SI ソフトウェアエンジニア
?ユーザー企業 IT部門
●好きなAWSサービス
AWS Lambda
#trainocate
著書 #trainocate
AWS Authorized Instructor of the Year 2018, 2019 #trainocate
Trainocate #trainocate
Trainocate実績 - AWSクラスルームトレーニング受講者様 #trainocate
本日お話すること
1.Well-Architected Frameworkとは
2.起こりそうなコストリスクと対応策
3.起こりそうなセキュリティリスクと対応策
4.起こりそうな組織のリスクと対応策
#trainocate
AWS Well-Architected Framework #trainocate
https://aws.amazon.com/jp/architecture/well-architected/
AWS Well-Architected Framework 5本の柱 #trainocate
運用上の優秀性 セキュリティ 信頼性 パフォーマンス効率 コスト最適化
Well-Architected = よりよい設計
安全で、高いパフォーマンス、障害耐性があり、効率的な運用と最適なコストを兼ね
備えた設計。
アンチパターン→セキュリティリスクが散見、遅いレスポンス、HWひとつの障害が
システム全体に影響して、手動によりエラーが発生する運用、無尽蔵にコストが発生
。
アンチパターンで気づく信頼性の柱 #trainocate
(1)急遽新しいサーバーが必要になったがIPアドレスが使用できなかった。
(2)プライベートIPアドレスが不足した。
(3)アクセスが集中してWebサイトが停止した。
(4)「なんだか重い」と言われてインスタンスサイズを大きくしたが、解消しな
かった。
(5)すべてのアプリケーションサーバーにログインして変更している。
(6)復旧しようとしたがバックアップデータにアクセスできなかった。
(7)AZレベル、HWレベルの障害時に、データベースにアクセスできなくなった
。
(8)障害対策をしてはいたが、発生時に初めて復旧手順を試して失敗した。
(9)災害発生時に、対策を考え始めたので復旧できなかった。
信頼性(Reliability)
アンチパターンで気づく信頼性の柱 #trainocate
1. 急遽新しいサーバーが必要になったがIPアドレスが使用できなかった。
REL1.サービス制限をどのように管理していますか?
2. プライベートIPアドレスが不足した。
REL2. ネットワークトポロジをどのように管理していますか?
3. アクセスが集中してWebサイトが停止した。
REL3. システムが需要の変化にどのように対応していますか?
4. 「なんだか重い」と言われてインスタンスサイズを大きくしたが、解消しなかった。
REL4. リソースをどのようにモニタリングしていますか?
5. すべてのアプリケーションサーバーにログインして変更している。
REL5. 変更をどのように実施していますか?
6. 復旧しようとしたがバックアップデータにアクセスできなかった。
REL6. データをどうバックアップするか?
7. AZレベル、HWレベルの障害時に、データベースにアクセスできなくなった。
REL7. どのようにしてシステムがコンポーネントのエラーに耐えるか?
8. 障害対策をしてはいたが、発生時に初めて復旧手順を試して失敗した。
REL8. 弾力性をどのようにテストしていますか?
9. 災害発生時に、対策を考え始めたので復旧できなかった。
REL9. 災害対策をどのように計画していますか?
信頼性(Reliability)
コストの柱 #trainocate
【設計原則】
?消費モデルを導入する
?全体的な効率を測定する
?データセンター運用のための費用を排除する
?費用を分析し、帰結させる
?アプリケーションレベルのマネージドサービスを使用して所有コストを削減する
【コストの柱】
COST1. 使用状況をどのように管理しますか?
COST2. 使用状況とコストをどのようにモニタリングしますか?
COST3. 不要なリソースをどのように削除しますか?
COST4. サービスを選択するとき、どのようにコストを評価しますか?
COST5. リソースタイプとサイズを選択する際、どうすればコスト目標を達成できるでしょうか?
COST6. コストを削減するには、料金モデルをどのように使用したらよいでしょうか?
COST7. データ転送料金についてどのように計画していますか?
COST8. リソースの供給と顧客の需要をどのように一致させていますか?
COST9. 新しいサービスをどのように評価していますか?
コストの最適化(Cost)
起こりそうなコストリスクと対応策 #trainocate
左図の構成で、
想定していたより
もコストがかかっ
ています。
今後顧客が増える
に従いさらにコス
トは増大します。
どうやって見直し
ますか?
Region
Availability Zone
EC2
Availability Zone Availability Zone
AMI
スタンバイマスター
起こりそうなコストリスクと対応策 #trainocate
Region
Availability Zone
EC2
Availability Zone Availability Zone
AMI
スタンバイマスター
● Amazon CloudWatch
● AWS Trusted Advisor
● ElasticVolume
● Reserved Instance
● Spot Instance
● Amazon CloudFront
● Amazon Aurora
● AWS Lambda
● Amazon SNS
● Amazon SQS
● AWS Cost Explorer
● AWS Compute Optimizer
● Amazon ElastiCache
● AWS Direct Connect
● Amazon S3
● Amazon DynamoDB
etc...
起こりそうなコストリスクと対応策 #trainocate
Region
Availability Zone Availability Zone Availability Zone
Auto Scaling group
【コストの柱】
COST1. 使用状況をどのように管理しますか?
COST2. 使用状況とコストをどのようにモニタリン
グしますか?
COST3. 不要なリソースをどのように削除しますか
?
COST4. サービスを選択するとき、どのようにコス
トを評価しますか?
COST5. リソースタイプとサイズを選択する際、ど
うすればコスト目標を達成できるでしょうか?
COST6. コストを削減するには、料金モデルをどの
ように使用したらよいでしょうか?
COST7. データ転送料金についてどのように計画し
ていますか?
COST8. リソースの供給と顧客の需要をどのように
一致させていますか?
COST9. 新しいサービスをどのように評価していま
すか?
セキュリティの柱 #trainocate
【設計原則】
?最小権限の原則
?追跡可能性の有効化
?すべてのレイヤーにセキュリティを適用する
他
【セキュリティの柱】
SEC1. 認証情報と認証をどのように管理していますか?
SEC2. 人為的なアクセスをどのように制御していますか?
SEC3. プログラムによるアクセスをどのように制御していますか?
SEC4. セキュリティイベントをどのように検出し、調査していますか?
SEC5. 新しいセキュリティ脅威に対してどのように防御していますか?
SEC6. ネットワークをどのように保護していますか?
SEC7. コンピューティングリソースをどのように保護していますか?
SEC8. データをどのように分類していますか?
SEC9. 保管中のデータをどのように保護していますか?
SEC10. 伝送中のデータをどのように保護していますか?
SEC11. セキュリティインシデントにどのように対応していますか?
セキュリティ(Security)
例1. AWSアカウントへの不正アクセス #trainocate
AWS Access Key ID [*KB2P]:
AWS Secret Access Key [*Q7go]:
24万件のメールアドレス
5万件の氏名など個人情報アクセス元は海外
どうすれば防げるか #trainocate
AWS Access Key ID [*KB2P]:
AWS Secret Access Key [*Q7go]:
24万件のメールアドレス
5万件の氏名など個人情報
最小権限の原則
アクセス元IPを限定
キーを使わない
IAMロールを使う
例2. コンピューティングリソースへの不正アクセス #trainocate
開発用サーバー
には脆弱性
2. 管理者用のポー
トから侵入
1.開発者がセキュ
リティ設定を変更
どうすれば防げたか #trainocate
開発用サーバー
脆弱性検査
管理者用のポート
から侵入できない
最小権限の原則
必要なサーバー以外は
ブロック
パフォーマンス効率の柱 #trainocate
【設計原則】
?最新テクノロジーの標準化
?サーバーレスアーキテクチャ、マネージドサービスを使用
?より頻繁に実験可能
?システムを深く理解
?数分でグローバルに展開
【パフォーマンスの柱】
PERF1. 最も良いパフォーマンスのアーキテクチャをどのように選択していますか?
PERF2. コンピューティングソリューションをどのように選択していますか?
PERF3. ストレージソリューションをどのように選択していますか?
PERF4. データベースソリューションをどのように選択していますか?
PERF5. ネットワークソリューションをどのように選択していますか?
PERF6. ワークロードを進化させるためにどのように新機能とりこんでいますか?
PERF7. リソースが正常に稼働していることを確認するためにどのようにモニタリングしていますか?
PERF8. パフォーマンスを向上させるために、トレードオフをどのように利用していますか?
パフォーマンス効率(Performance)
「継続的な挑戦」
パフォーマンス効率の柱 #trainocate
「継続的な挑戦」のためにサービスを知る。
→【推奨】手を動かす、本番同等のデータで試す。
承認が必要な場合
遅い(ボトルネック) 速い
#trainocate
承認者が技術スキルを持ちあわせていないケース
?承認者にわかる資料作り
?承認者が判断しやすいよう社外事例の収集
?新しい技術は承認されにくい
?結果的に遅くなる
#trainocate
チームの速度をあげる
遅い(ボトルネック) 速い
判断
#trainocate
判断することで自分ごとになる
速い
判断
失敗
チャレンジ
#trainocate
失敗を早くする
速い
判断
失敗
チャレンジ
「やってみないと分からない」
をやる時代
#trainocate
パフォーマンス効率の柱 #trainocate
「継続的な挑戦」のために、
どのサービスがどんな課題を解決できるかを知る。
AWSトレーニングと認定 #trainocate
https://aws.amazon.com/jp/training/
AWS Well-Architected Tool #trainocate
まとめ #trainocate
コストの効率化を実現するのも、
セキュリティを強化するのも、
パフォーマンスの最適化を実現するのも、
信頼性を向上させるのも、
Well-Architected Frameworkは有用。
チームによる「継続的な挑戦」により、
スピードも内容も向上する。
チームの人材育成は重要なミッションの1つ。
(チームはエンジニアのみではありません)
ご清聴ありがとうございました #trainocate
アンケートにお答えください。
https://questant.jp/q/aws629

More Related Content

础奥厂设计ガイドラインで取り组むクラウドシフト