🔖

AWS サーバーレス関連 ハンズオンまとめ(GameDay対策)

2024/03/21に公開

サーバーレス関連のハンズオンしたいけど、何やればいいの?って人へ。AWS公式のハンズオンは超上質なので、うまく活用しましょう。このレベルのハンズオンが無料でできちゃうのは事件ですね。後半ではAWS GameDayのサーバーレス対策ものせてます✏️

各ハンズオン、スムーズにいけば1~2時間で完了できます。

サーバーレス ハンズオン

サーバーレスアーキテクチャで翻訳WebAPIを構築する

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-1-2022-confirmation_422.html

Lambda、API Gateway、DynamoDB、Translateを使って翻訳Web APIを構築。2019年のハンズオンなのでけっこうコンソールが違うから適宜 読替え が必要です。

  • Lambda単体でテストから翻訳(例外処理は考慮しない)

    • 翻訳用ロール追加
    • メモリ128MB→256MB タイムアウト 10秒に変更
    • コード書いてテスト
  • API Gateway使ってブラウザ内で翻訳

    • リソース作成
    • メソッド作成(まずはMockしてからLambda/統合リクエスト)
    • APIをdevでデプロイ
    • ステージのURLで確認(URL?input_text=<翻訳対象の日本語>)
  • Dynamoを使ってブラウザで実行した翻訳をDynamoDBへ登録

    • テーブル作成(CUは両方1で)
    • データ投入(項目を探索→項目を作成)
    • Lambda修正
    • ロール修正
    • API叩いて結果とDynamoDBへのストア確認
  • URL
        

  • Dynamo

※このハンズオンではリソース削除のお話はなかったので、削除は個人的に実施が必要です。

さらに掘り下げてサーバーレスを学びたい場合のハンズオン

AWS Lambda と AWS AI Services を組み合わせて作る音声文字起こし & 感情分析パイプライン

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-3-2022-reg-event.html?trk=aws_introduction_page

LambdaにAI Services を組み合わせて、さらに一歩踏み込んだLambdaの動きを学べます。

AWS Step Functions 入門 - ビジュアルツールを使ってローコードにワークフローを作成する

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-StepFunctions-2022-reg-event.html?trk=aws_introduction_page

Step Functionsを使って、ワークフローの作成(連続した複数の処理)を学べます。

AWS SAM を使ってテンプレートからサーバーレスな環境を構築する

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-2-2022-reg-event.html?trk=aws_introduction_page

サーバーレスと相性のよいSAMを使ってIaCを学べます。

サーバレス系GameDay対策

2024年3月現在のサーバレス系GameDayでは下記のハンズオンをやっておくと最低限の対策になります。(内容がサーバーレスの枠から出てしまってますが、このあたりの知識まで必要でした)

実際のサーバーレスGameDayはこんな感じ。
https://aws.amazon.com/jp/blogs/psa/gameday-for-awstopengineers-202307/

スケーラブルウェブサイト構築

https://catalog.us-east-1.prod.workshops.aws/workshops/47782ec0-8e8c-41e8-b873-9da91e822b36/ja-JP

ALB、EC2x2、RDSx2の構成でWPを構築します。

  • EC2片方おとしたり、RDSフェイルオーバーしてWPの継続稼働を確認(FO中もダウンしない)
  • AutoScaling
     - 起動テンプレート→AutoScaling→ALB
     - Run CommandでCPUに負荷をかけてインスタンスが2→4になることを確認

  • WAF
     - WP管理ページにアクセスさせないルール、カウントを確認
     - レートベースルールの設定 5分以内に100回でアクセス拒否
     - もろもろのメトリクスも確認

サーバーレスアーキテクチャで翻訳WebAPIを構築する

冒頭で紹介したハンズオンと同じものです。

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-1-2022-confirmation_422.html

Amazon Elastic Container Service 入門 コンテナイメージを作って動かしてみよう

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-ECS-2022-reg-event.html

Cloud9、ECR、ECSを使ってブラウザからのレスポンスを確認します。

下記 は 実際の動作との相違点

  • Cloud9でコンテナイメージ作成
  • ECRにアップロード
  • ECS/Fargateで稼働させる
    クラスター→サービス→タスク(コンテナ/タスク定義から作成)
    ※ネットワークの設定はクラスター時点ではなくサービス作成時に設定
  • タスク2にして、片側落としても稼働していることを確認
    ※動画だとタスクとめると、タスクにすぐ接続できなくなってるけど、実際には接続できなくなるにはタスクが完全に止まるまで接続できた(完全に停止するには5分〜かかる)
  • リソース削除
    ※クラスターのタスク落とさなくても削除できた

ハンズオン総合ページ

アイレット株式会社

Discussion