Slide 1

Slide 1 text

0

Slide 2

Slide 2 text

1 ⾃⼰紹介 中川 翔太 • AWS事業本部 コンサルティング部 • 好きなAWSサービス • CloudWatch、Systems Manager

Slide 3

Slide 3 text

何のためにコスト最適化? 2

Slide 4

Slide 4 text

3 ビジネスを継続的に成長させるため 昨今、新型コロナウイルスの影響で、業績の見直しが不透明な 企業が増えています。 コストの削減では、ビジネスの成長にブレーキをかけてしまいます。 しかし、ビジネスへの投資は継続的に必要です。 無駄なコストを省き、必要なビジネスに投資できるようにするため コスト最適化を進めていきます。

Slide 5

Slide 5 text

コストにフォーカスしたポリシー 4

Slide 6

Slide 6 text

5 ポリシー コストにフォーカスしたポリシーを決定します。 開発環境は t2/3系インスタンスを使用する 開発環境のサービス起動時間は平日日中帯に限定する 開発環境は北米リージョンを使用する (東京に比べ割安) 負荷試験など例外時には一時的にスケールアップを許可

Slide 7

Slide 7 text

6 サービス起動時間を平日日中帯に限定する 例) EC2の場合 ・東京リージョンで m5.xlarge (Linux) を 24時間 31日 稼働した場合 0.248USD * 24h * 31days = 184.512USD ・東京リージョンで m5.xlarge (Linux) を 10時間 22日 稼働した場合 0.248USD * 10h * 22days = 54.56USD

Slide 8

Slide 8 text

7 EC2インスタンスを定時起動停止する方法 ■ Opswitch (クラスメソッドのサービス) AWSの定型作業スケジュール実行サービス。 ウェブ画面から簡単に設定を行うことが可能です。 無料でご利用いただけます。 https://opswitch.io/

Slide 9

Slide 9 text

8 EC2インスタンスを定時起動停止する方法 ■ AWS Instance Scheduler AWS が提供しているテンプレートを実行すると EC2インスタンスの起動停止をスケジュールする機能が実装されます。 https://aws.amazon.com/jp/solutions/instance-scheduler/?trk=sl_card

Slide 10

Slide 10 text

9 北米リージョンを使用 バージニア北部、オレゴン、オハイオは東京リージョンに比べると 利用料金が割安です。 ネットワークレイテンシが気にならないシステムや 開発検証環境で利用を検討します。 23%削減 東京リージョン バージニアリージョン

Slide 11

Slide 11 text

コストにフォーカスした AWS アカウント構造 10

Slide 12

Slide 12 text

11 AWSアカウント構造 コストを管理しやすいアカウント構造にします。 一つのAWSアカウント上で複数のシステムが稼働している場合、 システム毎のコストを算出することが困難になります。 システム毎、利用部門毎、プロジェクト毎など様々なコスト観点で AWSアカウントを分割します。

Slide 13

Slide 13 text

12 AWSアカウント構造

Slide 14

Slide 14 text

コストにフォーカスした IAM 13

Slide 15

Slide 15 text

14 IAMポリシーによるコストコントロール AWSは比較的容易にリソースを作成することが可能です。 これはポジティブな要素ですが、想定外のコスト増を招く要素でもあり ます。 IAMポリシーを必要最低限に制限し、必要な権限を持った担当者だけが リソースを作成可能にします。

Slide 16

Slide 16 text

15 IAMグループ例 Administrators 全ての操作が実行可能。 プロジェクトやシステムの責任者が持つ権限。 Developers EC2 インスタンスの起動停止、Lambda 関数のデプロイなど システム開発に必要な権限を付与。 Network Admin VPC 関連の操作権限を付与。 Database Admin RDS 関連の操作権限を付与。

Slide 17

Slide 17 text

コストのモニタリング 16

Slide 18

Slide 18 text

17 コストのモニタリング コストをモニタリングします。 AWS 請求およびコスト管理コンソール でモニタリングしますが デフォルトでは root ユーザーのみアクセスとなっています。 IAM ユーザー/ロールによる請求情報へのアクセスを有効します。 https://docs.aws.amazon.com/ja_jp/awsaccountbilling/latest/aboutv2/grantaccess.html

Slide 19

Slide 19 text

18 請求情報とコスト管理ダッシュボード

Slide 20

Slide 20 text

19 請求 詳細 各リソースごとの 選択月の料金を確認 どのリソースが コストを引き上げているか?

Slide 21

Slide 21 text

20 Cost Explorer Cost Explorer でコスト分析 今月初めから今日までのコスト 今月末の予測 コスト傾向 特定サービスでコスト増大など

Slide 22

Slide 22 text

21 Cost Explorer フィルターを駆使して独自の切り口でコスト分析 (フィルター例) リージョン サービス インスタンスタイプ コスト配分タグ (後術) 使用タイプ (データ転送、CloudWatch メトリックなど) etc…

Slide 23

Slide 23 text

22 コスト配分タグ リソースに付与するラベル タグでリソースを整理し コストの追跡を容易にします。 右図の例でいうと、 Widget2 というアプリケーション は 本番環境で $3.84 の料金が発生と いうこと がわかります。

Slide 24

Slide 24 text

23 AWS Budget 予算を計画し、発生コストや予算の比較、予測コスト、 アラートの通知を行います。 • コスト予算 • 指定した金額をモニター、しきい値を超えたらアラート • 使用量予算 • ある特定のサービス使用量をモニター、しきい値を超えたらアラート • 予約予算 • RI使用量をモニター、しきい値を下回ったらアラート

Slide 25

Slide 25 text

適切なリソースタイプを選んで コストを最適化 24

Slide 26

Slide 26 text

25 サイジングの基本 • サイズはリソースの使用状況から選定 • 小さいサイズから利用(スモールスタート) • サイジングを勘に頼るのはNGです

Slide 27

Slide 27 text

26 パフォーマンスメトリクスを取得 CloudWatchなどでパフォーマンスメトリクスを取得し 実際の負荷に合わせてインスタンスタイプをアップダウンさせます。 (例) ・CPU使用率が常時10%前後 → インスタンスタイプを下げる ・EBSボリューム → 活性拡張が可能なのでギリギリのサイズにする

Slide 28

Slide 28 text

27 簡単 CloudWatch プリセットのダッシュボードを 使ってリソース使用率を表示

Slide 29

Slide 29 text

28 簡単 CloudWatch ダッシュボード

Slide 30

Slide 30 text

29 AWS Compute Optimizer • メトリクスや設定を機械学習で分析し、最適なインスタンスを提案 • 無料で利用可能 https://dev.classmethod.jp/articles/aws-compute-optimizer-tokyo/

Slide 31

Slide 31 text

30 (new) Cost ExplorerにCompute Optimizerが統合 https://dev.classmethod.jp/articles/aws-cost-explorer-rightsizing- recommendations-integrates-with-aws-compute-optimizer/

Slide 32

Slide 32 text

31 Trusted Advisor

Slide 33

Slide 33 text

32 アイドル状態のインスタンスを検出 Trusted Advisor でアイドル状態のリソースを検出 → 必要がなければリソース削除

Slide 34

Slide 34 text

33 (new) チェック項目と推奨アクションが追加 https://dev.classmethod.jp/articles/aws-trusted-advisor-add-new-checks/

Slide 35

Slide 35 text

購入オプションを知る 34

Slide 36

Slide 36 text

35 EC2 インスタンス購入オプション • オンデマンドインスタンス • 起動するインスタンスに対して秒単位で支払います • Spot Instance • 未使用の EC2 インスタンスをリクエストして、Amazon EC2 コストを大幅に削減します • Reserved Instance • 1~3 年の期間で、常に使用できるインスタンスを大幅な割引で購入します • Savings Plans • 1〜3年の期間で、1時間あたりの利用費をコミットして、コミット分を割引価格で利用します

Slide 37

Slide 37 text

36 スポットインスタンス • 変動するスポット価格に対し、希望価格設定して入札 • スポット価格が高騰し入札価格を上回るとインスタンスは強 制的に終了(Terminate) • 強制的に終了させられても影響の少ない処理に使用すること で費用が削減が期待できる

Slide 38

Slide 38 text

37 Reserved Instance • Standard RI • オンデマンド料金に比べて最大 75%の割引適用 • 1年または3年 • 全前払い/一部前払い/前払いなし の支払い • 同じインスタンスタイプ内でサイズ変更可能 • Convertible RI • オンデマンド料金に比べて最大45%の割引が適用 • 3 年のみ • 構成変更や新インスタンスファミリーへ変更可能

Slide 39

Slide 39 text

38 リザーブドインスタンスがあるサービス ● EC2 インスタンス ● Amazon RDS ● Amazon ElastiCache ● Amazon Redshift ● Amazon Elasticsearch Service

Slide 40

Slide 40 text

39 Reserved Instance コスト管理で Reserved Instance 購入のすすめ 推奨実施した場合の節約額 どの種類の Resered Instance を どれだけ購入すれば 推奨を表示。 それによって月額で どの程度削減見込みかも 表示。

Slide 41

Slide 41 text

40 Savings Plans EC2 Instance Savings Plans • 適用条件あり(リージョンとインスタンスファミリー) • Standard RI に近い Compute Savings Plans • 適用条件無し(OSも含めて自由) • FargateやLambdaに対応 • Convertible RI に近い

Slide 42

Slide 42 text

41 Savings Plansの推奨事項

Slide 43

Slide 43 text

42 Reserved InstanceとSavings Plansのよくある質問 Q. Reserved Instance と Savings Plans を併用時の適用される優先度は? A. Reserved Instance が優先されます。 適用範囲が狭い割引から適用されますので、 Reserved Instance の 割引が無駄になることを避けられます。

Slide 44

Slide 44 text

43 Reserved InstanceとSavings Plansのよくある質問 Q. EC2では、Reserverd Instance と Savings Plans のどちらを選ぶ? A. 多くのケースで、Savings Plans から検討いただくと良いです。 既にReserved Instanceで最適化できている場合や、特定のインスタンス を必須として長期稼働するシステムなどであれば、 Reserverd Instance を継続利用いただいて問題ないです。

Slide 45

Slide 45 text

転送料金を知る 44

Slide 46

Slide 46 text

45 EC2 データ転送料金 料金が発生するパターンをおさえておきましょう。(サービスごと) From To 料金発生 インターネット EC2 しない EC2 インターネット する EC2 CloudFront しない EC2 別リージョンEC2など する EC2 同リージョン別AZ EC2など する ※双方向 EC2 VPCピアリング先 EC2など する ※双方向 EC2 同AZ EC2など しない EC2 同リージョン S3など しない EC2 同リージョン CLB/ALB しない 詳細は公式ドキュメントを参照 https://aws.amazon.com/jp/ec2/pricing/on-demand/

Slide 47

Slide 47 text

46 EC2 データ転送料金 S3のWebサイトホスティング(デジタルコンテンツの配信) • ストレージ料金 • 10MB/Content × 約100,000 Contentと仮定 • $0.025 × 1024GB = $25.5 • リクエスト料金 • 10,000,000 GETと仮定 • $0.00037/k × 10,000k = $3.7 • データ転送料金 • 10MB × 10,000,000 GET = 100TB • $0.114/GB × 10TB + $0.089/GB × 30TB + $0.086/GB × 60TB = $9185.28 • 合計:$9214.48 詳細は公式ドキュメントを参照 https://aws.amazon.com/jp/s3/pricing/

Slide 48

Slide 48 text

47 データ転送量の削減 • CloudFront • 前ページのように S3 に静的コンテンツを配置するパターンで 大きな効果を発揮します。 • Multi AZ 構成 • EC2、RDS マスター (Active) を同じ AZ に配置。 • ファイル圧縮 • 転送する前にファイル(ディレクトリ) を圧縮。

Slide 49

Slide 49 text

48 NAT Gatewayのデータ転送量の削減 • NAT Gatewayはデータ転送に対しても課金発生します • ログやデータをS3やCloudWatch Logsへ転送する際、NAT Gatewayを介 して高額課金にならないように注意 • 対策 • VPCエンドポイントを使用してNAT Gatewayを経由しないようにします • AWS以外宛に送る場合、パブリックサブネットからインターネットゲートウ ェイを通じて転送する • セキュリティグループやネットワークACLを適切に設定します https://aws.amazon.com/jp/premiumsupport/knowledge-center/vpc-reduce-nat-gateway-transfer-costs/

Slide 50

Slide 50 text

需要に合わせてリソースを増減 49

Slide 51

Slide 51 text

50 需要のトレンド ご自身が管理しているシステムが需要のピークを迎えるのは いつでしょうか? キャンペーン時 (SNS、メール、Web等) 季節 (レジャー、行事) 時間帯 (ユーザー行動特性により) 業務ごと (基幹システムなら夜間バッチ、月次バッチなど)

Slide 52

Slide 52 text

51 スケーリング AWS の長所を活かしてスケールアップ/ダウン、イン/アウトします。 需要ピークに合わせてリソースを増減させ利用料金を節約します。 手動 • インスタンスタイプの変更(スケールアップ/ダウン) • EC2インスタンスをELBに登録/登録解除 • AutoScaling Desired Countを手動で変更 自動 • AutoScalingによる自動スケーリング (スケジュール/リソースベース)

Slide 53

Slide 53 text

52 EC2 Auto Scaling アプリケーションの負荷に応じて自動的に EC2 インスタンスを 増減させるサービスです。 指定した最小数と最大数の間でインスタンス数が調整されます。

Slide 54

Slide 54 text

新サービスを評価 53

Slide 55

Slide 55 text

54 増え続ける AWS サービス

Slide 56

Slide 56 text

55 新サービスとコスト 新サービスにより自社システムのアーキテクチャ改善が可能になれば コストが大幅に削減出来る可能性があります。

Slide 57

Slide 57 text

56 評価方法 • AWS 最新リリースを情報収集、理解 • 現行アーキテクチャの改善になるか? を検討

Slide 58

Slide 58 text

57 情報収集 ■ AWS Blog & Podcast Category=news https://aws.amazon.com/blogs/?awsf.blog-master-category=category%23news ■ AWS Blackbelt https://aws.amazon.com/jp/aws-jp-introduction/ ■ Twitter awscloud_jp https://twitter.com/awscloud_jp ■ Release Note https://aws.amazon.com/jp/releasenotes/ ■ Developers.IO https://dev.classmethod.jp/

Slide 59

Slide 59 text

58 定期的なレビュー AWS はアップデートが頻繁に行われます。 最新情報を収集しつつ、サービスやアーキテクチャを評価し 進化させていくことをお勧めします。

Slide 60

Slide 60 text

付録 59

Slide 61

Slide 61 text

60 合わせて読みたい AWSのコストを削減する9の方法(全3回) https://aws.amazon.com/jp/blogs/news/9ways-to-optimize-aws-cost/ https://aws.amazon.com/jp/blogs/news/9ways-to-optimize-aws-cost-part2/ https://aws.amazon.com/jp/blogs/news/9ways-to-optimize-aws-cost-part3/ え、そんなに!?意外と知らないAWSでお金がかかるポイント5選!! https://dev.classmethod.jp/articles/5-ways-to-spend-cost-on-aws/ https://dev.classmethod.jp/articles/5-ways-to-spend-cost-on-aws-v2/ https://dev.classmethod.jp/articles/5-ways-to-spend-cost-on-aws-v3/

Slide 62

Slide 62 text

61 合わせて読みたい EC2 [2016版] Amazon EC2 購入オプションを理解する [コストダウン] https://dev.classmethod.jp/articles/amazon-ec2-cost-down-2016/ [アップデート] AWS Compute Optimizerが東京リージョンに対応しました! https://dev.classmethod.jp/articles/aws-compute-optimizer-tokyo/ [アップデート]コスト最適化の決定版!AWS Cost Explorerの推奨事項にAWS Compute Optimizerが統合されました https://dev.classmethod.jp/articles/aws-cost-explorer-rightsizing-recommendations- integrates-with-aws-compute-optimizer/ AWS EC2 料金を最適化! リソース最適化の推奨を試してみた https://dev.classmethod.jp/articles/getting-start-resource-optimization- recommendations/

Slide 63

Slide 63 text

62 合わせて読みたい Reserved Instance / Savings Plans リザーブドインスタンス(RI)に関してこの数ヶ月で多くいただいたお問い合わせ を紹介します。〜オペ部だより〜 https://dev.classmethod.jp/articles/amazon-ec2-cost-down-2016/ 【レポート】Savings Plans でコストを削減する #CMP210 #reinvent (について #cmregrowth で発表しました) https://dev.classmethod.jp/articles/reinvent-2019-cmp210-dive-deep-savings-plans/ Savings Plans(SP)に関してこの数ヶ月で多くいただいたお問い合わせを動画で紹 介してみました。〜オペ部だより〜 https://dev.classmethod.jp/articles/sp-2020-spring-youtube/

Slide 64

Slide 64 text

63 合わせて読みたい S3 [レポート] STG240: Amazon S3のコストを最適化するためのガイドラインと設計パタ ーン #reinvent https://dev.classmethod.jp/articles/reinvent-2019-report-stg240/ S3の利用料金を損してるかも?安心して利用するための設定をしましょう https://dev.classmethod.jp/articles/sugano-045-s3-lifecycle-policy/

Slide 65

Slide 65 text

64 合わせて読みたい Well-Architected Framework 【資料公開】”Well-Architected Tool の使い方セミナー(コスト最適化編)~おかわ り~”の後半パートに登壇しました https://dev.classmethod.jp/articles/well-architected-cost-optimization-20190219-02/ AWSで優れた設計をしているか?の質問と回答(コスト最適化編)「AWS Well- Architected Framework」 https://dev.classmethod.jp/articles/are-you-well-architected-cost-optimization/

Slide 66

Slide 66 text

65