「XX試験の環境作ってよ」と言われた時によく使うAWSのソリューションについて
by
bun
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
作ってよ 簡単でしょ? 「⚪︎ ⚪︎ 試験の環境作ってよ」と言われた時に よく使うAWSのソリューションについて
Slide 2
Slide 2 text
自己紹介 > クラスメソッド株式会社 開発3年、クラウドエンジニア2年 JSTQB Advanced Level TMに合格しました > 経歴 ダイの大冒険(重要) > 好きなもの モダンアプリケーションコンサルティング部 >名前 bun913(今泉大樹)
Slide 3
Slide 3 text
私の立場や発表の前提 > 領域 スクラム開発やなんちゃってなスクラム開発の経験がメインです > 開発手法 Webアプリケーションが主領域(AWS、バックエンド開発、ちょっとフロントエンド) >立場 開発に近い立場として、テストやQAについて真剣に考えています
Slide 4
Slide 4 text
今日話すこと・話さないこと 話す さくっとHTTPS通信可能なエンドポイントを作る時 に便利なサービス さくっと負荷試験環境を立ち上げるソリューション 話さない CI・CDや継続的テストのソリューション
Slide 5
Slide 5 text
1: AWS Lambda関数URL (Function URLs)
Slide 6
Slide 6 text
こんな時に使う bunちゃんさぁ、 お願いがあるんだけど お、おう
Slide 7
Slide 7 text
さくっとHTTPSで通 信できるAPI作ってよ 簡単でしょ?
Slide 8
Slide 8 text
やりたいことはこんな感じ お客様から登録してもらうWebhooのエンドポイント にちゃんと意図したタイミングでリクエストできてい るか確認したい 本格的な認証とか機能とかは不要 常時立ち上げるのではなく、必要な時だけ立ち上げる ローカルで動いているWebサーバーを一時的にWebに 公開するようなツールの利用はセキュリティ上NG
Slide 9
Slide 9 text
Lambda単体で さくっとできるのよ
Slide 10
Slide 10 text
AWS Lambda関数URLを使う 出典: https://dev.classmethod.jp/articles/aws-lambda-function-urls-built- in-https-endpoints/ 出典: https://dev.classmethod.jp/articles/try-aws-lambda-function-urls/
Slide 11
Slide 11 text
コンソールからぽちぽちで簡単に作成可 Lambdaのダッシュボードから関数URLを設定する 中のコードも最低限この程度であればすぐに書ける
Slide 12
Slide 12 text
うれしいポイント AWS Lambdaのコストしかかからない(安価) Amazon CloudWatch Logs と Lambdaを連携させれ ば、リクエストログも簡単に確認できる HTTPS で通信可能なエンドポイントをさくっと作成 する最も簡単な方法の一つ(だと感じています) 使わない時は Lambda の同時実行数を0にすることも
Slide 13
Slide 13 text
注意したいポイント 独自ドメインを使いたい時には不向き 高度なセキュリティ要件を求められる場合には不向き 恒常的に利用するエンドポイントには向かないかも? そういう時はちゃんとしたWebサービス立てる → 総じてシンプル、安く、特定のタイミングだけ使いた い時に使うことが多いです
Slide 14
Slide 14 text
2: AWSの提供する分散負荷テストのソ リューション 出典: https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/
Slide 15
Slide 15 text
こんな時に使う bunちゃんさぁ、 負荷試験好きだよね? 負荷試験。 お、おう
Slide 16
Slide 16 text
やりたいことはこんな感じ ローカルPCや単体のサーバーでは再現しにくい負荷を 与えたい 色々な使い方が想定される シンプルに単体のエンドポイントに負荷をかける ログインなども含めた複雑なシナリオもある 「bunちゃん、さくっと環境立ち上げてよ」という圧
Slide 17
Slide 17 text
AWSで立ち上げれる仕組みを用意してくれています 出典: https://aws.amazon.com/jp/solutions/implementations/distributed-load-testing-on-aws/
Slide 18
Slide 18 text
CloudFormationというIaCツールのテンプレート 公式で用意しているyamlをそのまま使うだけ
Slide 19
Slide 19 text
CloudFormationのコンソールからymlをアップロード
Slide 20
Slide 20 text
各種設定値を入力
Slide 21
Slide 21 text
こんな感じのWebUIを作成してくれます
Slide 22
Slide 22 text
JMeterのシナリオをアップロードも可能
Slide 23
Slide 23 text
うれしいポイント AWS公式が出しているという安心感 負荷試験基盤側のスケーリングなどをほぼ考えなくて よい CloudFormationが分かればカスタマイズ可能 例: ターゲットがIPアドレスでアクセス制限してい る時、ソリューションのIPアドレスを固定する等 JMeterがわかれば複雑なシナリオの作り込みも可能
Slide 24
Slide 24 text
注意したいポイント 負荷量によってはAWSに事前申請が必要な場合がある 複雑なシナリオを実行できるけど、良くも悪くも JMeterであること 「ちょっと負荷をかけたい」のであれば、不要 例: AWSのサービスクオーター(リクエスト量制 限など)の時に発火するはずの通知の挙動確認
Slide 25
Slide 25 text
まとめ
Slide 26
Slide 26 text
こう言われた時は思い出すと良いかもしれません 「さくっとHTTPSで通信可能なWeb API作ってよ」 AWS Lambda 関数URL 「さくっと負荷試験の基盤作ってよ」 AWS での分散負荷テストのソリューション
Slide 27
Slide 27 text
ご清聴ありがとうございました