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

2024/11/25 JAWS 山梨LT_AWS StepFunctionsの可能性を考えてみる

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →
Avatar for HiroshiNidegawa HiroshiNidegawa
December 29, 2024
16

2024/11/25 JAWS 山梨LT_AWS StepFunctionsの可能性を考えてみる

2024年11月25日に山梨で行ったJAWS-UGのLT時の資料です。
このLTの中ではAWS Step Functionsがこの数年でどのように進化しているか、その進化により現在どのようなユースケースに活用できるのかを述べています。

Avatar for HiroshiNidegawa

HiroshiNidegawa

December 29, 2024

Transcript

  1. © 2022 TIS Inc. 2 氏名 : 二出川 弘(にでがわ ひろし)

    経歴 : 2008 – 2018 : 大手クレジットカード会社様のシステム基盤を担当 出向/常駐/半常駐と顧客に近い立場を⾧く経験 2019 – 2024 : 自社決済ブランド PAYCIERGEのAWS領域を立ち上げから担当、現在は技術統括 AWS社より以下を受賞 - 2024 Japan AWS Ambassadors - 2024 Japan AWS Top Engineers (2021年から4年連続) - 2024 Japan AWS All Certifications Engineers (2022年から3年連続) 得意領域 : AWSを用いたクラウドネイティブなシステム基盤の開発 AWS領域を得意とする人材の育成 自己紹介
  2. © 2022 TIS Inc. 7 Step Functionsとの出会い チームの方針:『改善を繰り返しより良いサービスに』 チーム発足当初から改善を実施 Step

    Functions活用以前 Lambdaを使って処理の作り込みが主流 改善するほどコーディングとコードの保守が増大 インフラエンジニア主体のチームには負担大 開発スピードの遅さがスピーディな改善のボトルネックになる 大量生産したコードが将来の負債になりかねない
  3. © 2022 TIS Inc. 11 StepFunctionsの前提 • GUIでワークフローを作成可能 • “アクション”と“フロー”を組み合わせて実装

    • “アクション”は各種AWSサービスの実行が可能 • “フロー”は分岐・並列実行・待機など汎用的な動作が可能 • ステップ毎にIN/OUTデータの加工が可能 詳細はAWS公式ドキュメントなどをご覧ください。
  4. © 2022 TIS Inc. 12 Step Functions活用事例(一例) 解決した課題 No パブリックアクセス可能なS3バケット検出時に自動修正したい

    1 APIGateway APIにWAFを強制アタッチしたい 2 離任はしてないが⾧期間使われていないIAMUserをロックしたい 3 RDSの中のデータを抽出&一部加工して可視化したい 4 複数のAWSアカウントで発生する監視通知を集約管理したい 5 複数のAWSアカウントのコスト情報を集約・データ活用したい 6 セキュリティ向上~運用・業務改善まで幅広く Step Functionsを活用
  5. © 2022 TIS Inc. 13 事例. AWSのコスト情報集約・データ化 前提 : –

    AWSアカウントを複数持っている – AWS Organizationsは利用できない 問題 : AWS利用料を正確に把握しづらく、コスト最適か不明
  6. © 2022 TIS Inc. 14 事例. AWSのコスト情報集約・データ化 ツール作成の狙い: – チーム全体でのAWS利用料の可視化

    – コストデータを題材にAWS上でのデータ利活用試行 ツール作成の方針: – 極力ローコードで対応 – AWSマネージドサービスで全ての処理を対応
  7. © 2022 TIS Inc. 15 AWS Step Functions Amazon DynamoDB

    Amazon S3 DataBrew ジョブ実行 (データ加工) Scan Table (AWSアカウント情報) Map(AWSアカウント数分) Parallel Lambda① 日付情報取得 GetItem Lambda② コスト情報取得 &加工 コスト情報をPut 処理したデータをDelete Work Bucket Output Bucket GetObject PutObject AWS AWS アカウント群 Amazon EventBridge (日次) QuickSight (可視化・ 分析) Lambda利用の理由: ①. 日付情報を取得するため ②. クロスアカウントでの API実行機能するため Athena 数十万レコードの 可視化に成功 事例. AWSのコスト情報集約・データ化
  8. © 2022 TIS Inc. 16 Step Functions活用のメリット①  開発スピードの向上 操作のしやすさ

    データ遷移の理解の容易さ 定義情報(JSON)の流用のしやすさ
  9. © 2022 TIS Inc. 17 Step Functions活用のメリット②  保守性の向上 定義内容の把握のしやすさ

    フロー失敗時の原因箇所特定の容易さ Lambdaコードのシンプルさ 機能追加のしやすさ Step Functionsは疎結合な アプリ構築に役立つサービス
  10. © 2022 TIS Inc. 18 Step Functions活用に当たっての注意点  フローの組み方に要注意 複雑になりすぎない適切な分割

    フロー途中で失敗した場合の考慮  Step Functionsの制約に要注意 日付計算や複雑な文字列操作などはまだLambdaが必要 クロスアカウント/リージョンのアクション実行は不可 ※. 制約は2022/9時点 AWSサービスはアップデートを繰り返すので 最新情報のご確認を。
  11. 29 結果 タイトル No 断念 Cloudwatch Logs異常検知機能と生成AIの掛け合わせ 1 断念 OpenSearchの機械学習機能と生成AIによる

    セキュリティ推奨事項のアドバイス 2 不採用 通信要件一覧を用いたIaCコードの自動レビュー 3 不採用 障害通知の内容にもづいて生成AIが調査すべき内容をアドバイス 4 採用 SecurityHubで検知された脆弱性に応じて内容の要約と対応内容をアドバイス 5 不採用 大量のアクセスログから生成AIが性能評価を実施 6 採用 (予定) 最新のIaCコードを基準に通信要件が最新状態にあるかを 生成AIがチェック 7 不採用 Function Callingを利用して外部からBedrockのチャット機能を利用 8 採用 (予定) AWS認定試験の想定問題を生成AIが解答&解説 9 採用? 過去のレビュー指摘事項を参考に、新規案件のレビューで想定される指摘事項を 生成AIが指摘 10 〇 〇 〇 〇 〇 〇 〇 〇 〇 : Step Functions利用あり 生成AI活用事例(2024/4-5月)