Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWS ソリューション知ってますか? 〜 便利な構成テンプレ集 〜

AWS ソリューション知ってますか? 〜 便利な構成テンプレ集 〜

こちらのちょっぴりDiveDeepにて登壇した内容です。
開催報告:https://aws.amazon.com/jp/blogs/news/update-divedeep-series-21/
動画:https://www.youtube.com/watch?v=oWbRVchYx6k

Instance Scheduler on AWS:EC2とRDSの細かな起動/停止スケジューリング
Workload Discovery on AWS:構成図を自動生成
Distributed Load Testing on AWS:負荷試験を分散で実施
の3つのソリューションについて紹介しています。

More Decks by kashinoki38 - Yasuhiro Horiuchi

Other Decks in Technology

Transcript

  1. © 2022, Amazon Web Services, Inc. or its affiliates. ©

    2022, Amazon Web Services, Inc. or its affiliates. AWS ソリューション知ってますか? 〜 便利な構成テンプレ集 〜 堀内 保大(Horiuchi, Yasuhiro) 黄 光川(Kou, Kousen) 馬 賽(Ma, Sai) ア ッ プ デ ー ト 紹 介 と ち ょ っ ぴ り D I V E D E E P す る A W S の 時 間 アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト
  2. © 2022, Amazon Web Services, Inc. or its affiliates. AWS

    ソリューション 知ってますか?? • AWSサービス、コード、設定を組み合わせたすぐにデプロイできるソリューション =便利な構成テンプレ集(CloudFormation) • AWS ソリューションライブラリで公開(2022/8時点で54個) • カテゴリやサービス名にて検索が可能 2 https://aws.amazon.com/jp/solutions/ https://aws.amazon.com/jp/solutions/browse-all/
  3. © 2022, Amazon Web Services, Inc. or its affiliates. AWSソリューションの例

    • ソリューションごとにランディングページ • 概要、構成図、デプロイガイド(ドキュメント)、CloudFormation、ソース GitHub • すぐに利用できるので、車輪の再開発を防ぎましょう! 3
  4. © 2022, Amazon Web Services, Inc. or its affiliates. 本セッションで学ぶこと

    • SAがオススメする3つの AWS ソリューションの概要や特長を理解する • それぞれのデモを通してデプロイ方法や使い方を体感する • 本日紹介する AWS ソリューション 1. Instance Scheduler on AWS – EC2とRDSの細かな起動/停止スケジューリング 2. Workload Discovery on AWS – 構成図を自動生成 3. Distributed Load Testing on AWS – 負荷試験を分散で実施 4 本日のSA 堀内 保大 黄 光川 馬 賽
  5. © 2022, Amazon Web Services, Inc. or its affiliates. ©

    2022, Amazon Web Services, Inc. or its affiliates. Instance Scheduler on AWS AWS ソリューションのご紹介 堀内 保大(Horiuchi, Yasuhiro) ア ッ プ デ ー ト 紹 介 と ち ょ っ ぴ り D I V E D E E P す る A W S の 時 間 アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト
  6. © 2022, Amazon Web Services, Inc. or its affiliates. Instance

    Scheduler on AWS とは? ❑インスタンスの開始スケジュールと停止スケジュールを開発する ことなく設定可能 ❑ Amazon Elastic Compute Cloud (Amazon EC2) Amazon Relational Database Service (Amazon RDS) が対象 ❑使用されていないリソースを停止し、必要なときにリソースを開始 することで、運用コストを削減するのに役立つ 6
  7. © 2022, Amazon Web Services, Inc. or its affiliates. アーキテクチャ

    7 https://aws.amazon.com/jp/solutions/implementations/instance-scheduler/ ユーザーが定義したスケジュールや、対象を指定するた めのリソースタグの値といった設定値がDynamoDBに保 存される ユーザーが定義した間隔で Lambda 関数を定期実行 Instance Scheduler の初期設定時に、該当する EC2 およ び RDS インスタンスを識別するために使用するタグキー を定義
  8. © 2022, Amazon Web Services, Inc. or its affiliates. メリット

    ❑CloudFormation のパラメータや Amazon DynamoDB に保存され ているパラメータ変更で設定変更が可能 ❑日を跨ぐスケジュール、曜日指定、毎月第一月曜日といった柔軟な スケジュール設定が分単位で可能 ❑リソースタグにより対象を指定するため、複数の EC2, RDS に簡単 にスケジュールを適用可能 8
  9. © 2022, Amazon Web Services, Inc. or its affiliates. DynamoDB

    へのスケジュール登録 • ピリオド定義:インスタンスの開始時刻、終了時刻、曜日を設定 • スケジュール定義:ピリオド定義の組み合わせで定義 9 DynamoDB にて 設定管理
  10. © 2022, Amazon Web Services, Inc. or its affiliates. Scheduler

    CLI • AWS Instance Scheduler は専用の CLI ツールである Scheduler CLI を提供 • 例えば、月曜日の 09:00 から金曜日の 16:59 まで起動し、それ以 外は停止するスケジュールは下記のコマンドによって設定すること が可能 11 $ scheduler-cli create-period --name "mon-start-9am" --begintime 09:00 --endtime 23:59 --weekdays mon ¥ --stack InstanceScheduler $ scheduler-cli create-period --name "tue-thu-full-day" --weekdays tue-thu --stack InstanceScheduler $ scheduler-cli create-period --name "fri-stop-5pm" --begintime 00:00 --endtime 16:59 --weekdays fri ¥ --stack InstanceScheduler $ scheduler-cli create-schedule --name mon-9am-fri-5pm --periods mon-start-9am,tue-thu-full-day,fri-stop-5pm ¥ --timezone Asia/Tokyo --stack InstanceScheduler
  11. © 2022, Amazon Web Services, Inc. or its affiliates. インスタンスへのタグ付け

    • タグにより管理対象インスタンスの指定、スケジュール定義の指定 を実施 • 複数のリソースにタグを追加するには、タグエディターがおすすめ 12 DynamoDBに登録しているスケジュール 定義名を指定 CloudFormation 作成時定義した “Instance Scheduler tag name” を指定
  12. © 2022, Amazon Web Services, Inc. or its affiliates. 利用料金例(us-east-1)

    13 サービス 項目 月額料金 AWS Lambda 24 時間あたり 1,440 回実行 1 つの Lambda 関数は1回あたり 8 秒間の実行時間 Lambda 関数は 5 つ実行 $7.25 Amazon CloudWatch Metrics (enabled) オプションで有効化した場合 $0.90 AWS DynamoDB 月あたり 1,080,000 回の書き込み 月あたり 1,080,000 回の読み込み ストレージ料金は 1 GB 未満 (最初の 25 GB は無料です) $1.75 合計: 9.90 USD/月 ソリューション自体は無償, 各AWSサービス利用料は発生 ※前提:2 つのアカウントの Amazon EC2 及び Amazon RDS に対するスケジュールを設定
  13. © 2022, Amazon Web Services, Inc. or its affiliates. 補足情報

    14 • Instance Scheduler on AWS • https://aws.amazon.com/jp/solutions/implementations/instance- scheduler/ • 紹介ブログ ▪ https://aws.amazon.com/jp/builders-flash/202110/instance- scheduler/?awsf.filter-name=*all • ソースコード • https://github.com/aws-solutions/aws-instance-scheduler
  14. © 2022, Amazon Web Services, Inc. or its affiliates. ©

    2022, Amazon Web Services, Inc. or its affiliates. Demo 15
  15. © 2022, Amazon Web Services, Inc. or its affiliates. ©

    2022, Amazon Web Services, Inc. or its affiliates. AWS でのワークロード検出 Workload Discovery on AWS ( 旧称: AWS Perspective ) 黄 光川 ア ッ プ デ ー ト 紹 介 と ち ょ っ ぴ り D I V E D E E P す る A W S の 時 間 アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト
  16. © 2022, Amazon Web Services, Inc. or its affiliates. 「AWS

    でのワークロード検出」の利点 ❑ アーキテクチャ図の作成 ❑ AWS のコストと使用状況レポート (CURs) の照会 ❑ 検索 (リソース名、タグ名、IPアドレスなど) ❑ リソースディレクトリ ❑ アーキテクチャ図の保存とエクスポート (PNG, JSON, CSV, draw.io) 17
  17. © 2022, Amazon Web Services, Inc. or its affiliates. 「AWS

    でのワークロード検出」のアーキテクチャ 18
  18. © 2022, Amazon Web Services, Inc. or its affiliates. 「AWS

    でのワークロード検出」のデプロイ - ソリューションのデプロイ: 約 30 分 - リーソースの検出: 約 45 分 19 考慮事項: - デプロイ用の AWS アカウントを別途用意すると 既存リソースとの分離ができるのでお勧め 前提条件: - IAM Role の AWSServiceRoleForAmazonOpensearchService が必要 ( 存在しない場合には、CloudFormation デプロイ時に CreateOpensearchServiceRole で Yes を選択 ) - AWS Config が設定されている必要がある AWS Config を使用して、リソースの大半を収集 ( 設定されていない場合、CloudFormation デプロイ時に、 AlreadyHaveConfigSetup で No を選択) - コスト機能の設定 Billing コンソールで、レポートをの作成を必要がある 別アカウントの場合、S3 レプリケーションの設定が必要
  19. © 2022, Amazon Web Services, Inc. or its affiliates. 利用料金(us-east-1

    の場合) 20 ソリューション自体は無償, 利用される各 AWS サービス利用料は発生 Option 1: Single instance deployment ( default 設定の場合 ) https://docs.aws.amazon.com/solutions/latest/workload-discovery-on-aws/cost.html
  20. © 2022, Amazon Web Services, Inc. or its affiliates. 補足情報

    21 • ドキュメントほか • AWS Solutions Workload Discovery on AWS • https://docs.aws.amazon.com/solutions/latest/workload-discovery-on- aws/welcome.html • サポートしている AWS リソース • https://docs.aws.amazon.com/ja_jp/solutions/latest/workload-discovery-on- aws/supported-resources.html • 実装ガイド • https://d1.awsstatic.com/Solutions/ja_JP/aws-perspective.pdf • ソースコード • https://github.com/awslabs/aws-perspective
  21. © 2022, Amazon Web Services, Inc. or its affiliates. ©

    2022, Amazon Web Services, Inc. or its affiliates. Demo 22
  22. © 2022, Amazon Web Services, Inc. or its affiliates. ©

    2022, Amazon Web Services, Inc. or its affiliates. Distributed Load Testing on AWS AWS ソリューションのご紹介 馬 賽(Ma, Sai) ア ッ プ デ ー ト 紹 介 と ち ょ っ ぴ り D I V E D E E P す る A W S の 時 間 アマゾン ウェブ サービス ジャパン合同会社 ソリューションアーキテクト
  23. © 2022, Amazon Web Services, Inc. or its affiliates. 従来負荷試験の課題

    ❑ 負荷試験用環境の構築や運用は手間がかかる ❑ 負荷をかける側のサーバー(負荷試験サーバー)がボトルネックに なってしまう ❑ 負荷試験サーバーのスケールアウトとオーケストレーションが複雑 ❑ 結果の集計や定期実行の仕組みなど 25
  24. © 2022, Amazon Web Services, Inc. or its affiliates. Distributed

    Load Testing on AWS とは? 26 AWS Fargate タスク1 タスク2 タスクn … 指定日または定期日 などスケジュール 実行可能 1タスクあたりの 仮想ユーザー数を指定して 並列処理 Apache JMeter テストシナリオ (.jmx) S3バケット 各シナリオが S3バケット から取得 負荷テスト対象サービス ※ご注意:Network Stress Testに関する 留意事項を事前にご確認ください https://aws.amazon.com/ec2/testing/ … Distributed Load Testing on AWS の提供範囲
  25. © 2022, Amazon Web Services, Inc. or its affiliates. Distributed

    Load Testing on AWS のアーキテクチャ v2.x 27 https://aws.amazon.com/solutions/implementations/distributed-load-testing-on-aws/?nc1=h_ls フロントエンド Amazon CloudFront Web コンソール 負荷テスト制御API AWS Amplify Amazon S3 バックエンド 負荷生成エンジン ECR Publicレジストリ Taurus Docker Image VPC ECR リポジトリ Amazon CloudWatch Task runner Lambda 関数 Amazon Cognito Amazon API Gateway Lambda関数 ECS on Fargate Amazon DynamoDB
  26. © 2022, Amazon Web Services, Inc. or its affiliates. 利用料金例(us-east-1)

    28 AWS サービス ディメンション コスト (1 か月あたり) AWS Fargate 10 個のオンデマンドタスク (2 つの vCPU と 4 GB のメモリ を使用) を 30 時間実行 29.62 USD Amazon DynamoDB 1,000 件のオンデマンド書き込みキャパシティーユニット 1,000 件のオンデマンド読み込みキャパシティーユニット 0.0015 USD AWS Lambda 1, 000 件のリクエスト 合計所要時間 10 分 0.00146 USD AWS Step Functions 1,000 件の状態遷移 0.025 USD 合計: 29.65 USD/月 ソリューション自体は無償, 各AWSサービス利用料は発生
  27. © 2022, Amazon Web Services, Inc. or its affiliates. 補足情報

    29 • ドキュメントほか • AWS Solutions Distributed Load Testing on AWS • https://aws.amazon.com/solutions/implementations/distributed-load-testing-on- aws/?nc1=h_ls • ソースコード • https://github.com/awslabs/distributed-load-testing-on-aws • 主な利用OSS • Taurus https://gettaurus.org/ • Apache Jmeter https://jmeter.apache.org/
  28. © 2022, Amazon Web Services, Inc. or its affiliates. ©

    2022, Amazon Web Services, Inc. or its affiliates. Demo 30
  29. © 2022, Amazon Web Services, Inc. or its affiliates. まとめ

    31 • 本日紹介する AWS ソリューション ▪ Instance Scheduler on AWS – EC2とRDSの細かな起動/停止スケジューリング ▪ Workload Discovery on AWS – 構成図を自動生成 ▪ Distributed Load Testing on AWS – 負荷試験を分散で実施
  30. © 2022, Amazon Web Services, Inc. or its affiliates. Thank

    you! © 2022, Amazon Web Services, Inc. or its affiliates.