type
status
date
slug
summary
tags
category
icon
password
书籍
 

理論

1. Step Functionsの本質

  • 複雑なワークフローを管理するために使用されます。複数のAWSサービスや処理を順番に実行したり、条件に応じて分岐させることができます。
  • 状態管理ができ、エラーハンドリングリトライ機能も簡単に組み込めます。
  • 状態遷移の追跡が可能なので、処理の進行状況を可視化できます。

2. Lambdaの本質

  • 単一のイベント駆動型処理を実行するために使用されます。短時間で終了するタスクを実行するのに適しています。
  • 簡単な処理やイベントに応じた動作を行うのには最適ですが、複雑なワークフローの管理や状態遷移の追跡には不向きです。

3. 適切なツールの選択

  • Step Functionsは、複数の処理を順番に実行する必要がある場合、または状態遷移やエラーハンドリングが重要な場合に最適です。
  • Lambdaは、簡単な処理や短時間で完了するタスクをトリガーに基づいて実行するのに向いています。

4. 重要な選択基準

  • 複雑なワークフロー状態管理が必要ならStep Functions。
  • シンプルな処理迅速なイベント駆動型アクションにはLambda。
例えば、ECRのスキャン結果に基づくタグ削除通知送信の2つの処理を順番に実行し、エラーハンドリングを組み込む必要があるため、Step Functionsが適切です。

実践

一問道場

質問 #224

トピック 1

ある企業が AWS クラウドでコンテナ化されたアプリケーションを運用しています。このアプリケーションは Amazon Elastic Container Service (Amazon ECS) を使用して、Auto Scaling グループ内の Amazon EC2 インスタンスで実行されています。また、企業は Amazon Elastic Container Registry (Amazon ECR) を使用してコンテナイメージを保存しています。新しいイメージバージョンがアップロードされると、そのイメージに一意のタグが付与されます。
企業は、新しいイメージバージョンの脆弱性とセキュリティの問題を検査するソリューションを必要としています。このソリューションは、Critical または High の重大な問題が見つかったイメージタグを自動的に削除し、その削除が発生した際に開発チームに通知する必要があります。

要件を満たすソリューションはどれですか?


A. リポジトリで「プッシュ時にスキャン(scan on push)」を設定します。スキャンが完了したら、Critical または High の検出結果があるイメージについて、Amazon EventBridge を使って AWS Step Functions のステートマシンを起動します。このステートマシンで該当するイメージタグを削除し、Amazon Simple Notification Service (Amazon SNS) を通じて開発チームに通知します。
B. リポジトリで「プッシュ時にスキャン(scan on push)」を設定し、スキャン結果を Amazon Simple Queue Service (Amazon SQS) に送信します。新しいメッセージが SQS キューに追加されると、AWS Lambda 関数を起動します。この Lambda 関数で、Critical または High の問題が検出されたイメージタグを削除し、Amazon Simple Email Service (Amazon SES) を使って開発チームに通知します。
C. 毎時手動でイメージスキャンを開始するように AWS Lambda 関数をスケジュールします。スキャンが完了したら、Amazon EventBridge を使って別の Lambda 関数を起動します。2 番目の Lambda 関数で、Critical または High の問題が検出されたイメージタグを削除し、Amazon Simple Notification Service (Amazon SNS) を使って開発チームに通知します。
D. リポジトリで「定期的なスキャン(periodic image scan)」を設定し、スキャン結果を Amazon Simple Queue Service (Amazon SQS) に送信します。SQS キューに新しいメッセージが追加されると、AWS Step Functions のステートマシンを起動します。このステートマシンで Critical または High の問題が検出されたイメージタグを削除し、Amazon Simple Email Service (Amazon SES) を使って開発チームに通知します。

解説

この問題は、Amazon ECR(Elastic Container Registry)でホストされているコンテナイメージに対して、脆弱性スキャンを実行し、特定の重大な問題が発見された場合に自動的にそのイメージのタグを削除し、開発チームに通知を送るプロセスを実装する方法を問うものです。

解説

要件:

  1. 新しいイメージバージョンのスキャンを自動で実行する。
  1. Critical または High の重大な脆弱性が発見された場合、そのイメージのタグを自動的に削除する。
  1. タグ削除後、開発チームに通知を送る。
これらの要件に対して、それぞれの選択肢を検討します。

A. リポジトリで「プッシュ時にスキャン(scan on push)」を設定し、EventBridge を使って AWS Step Functions を呼び出し、タグ削除と通知

  • scan on pushは、コンテナイメージがECRにプッシュされるたびに自動的にスキャンを実行するオプションです。
  • EventBridgeを使って、スキャン結果が完了した後に自動的に AWS Step Functions ステートマシンを呼び出し、Critical または High の問題が見つかった場合にタグを削除します。
  • 最後に、SNSで開発チームに通知します。
これは、最も適切な選択肢です。なぜなら、自動化されたワークフローで脆弱性スキャン、タグ削除、通知を実行するために、AWSのサービス(EventBridge, Step Functions, SNS)を組み合わせており、要件に完全に一致します。

B. プッシュ時にスキャンを設定し、SQS にスキャン結果を送信し、Lambda でタグ削除と通知

  • SQSを利用して、スキャン結果をキューに送信し、そのメッセージをトリガーにLambda関数を実行してタグを削除します。
  • SESを使って通知を送信します。
この方法も有効ですが、Lambda と SQSを使った実装は少し複雑になります。SNSではなくSESで通知を送る点が若干の違いです。

C. 定期的なスキャンと EventBridge と Lambda 関数によるタグ削除と通知

  • 定期的なスキャンをスケジュールして、定期的にイメージをチェックします。
  • スキャンが完了すると、EventBridgeで別の Lambda 関数をトリガーしてタグ削除し、通知を行います。
この方法は **「手動でのスキャン開始」**を必要とし、スキャンの頻度に応じてタグ削除が行われるため、より手動的で効率が悪くなります。さらに、スキャンのタイミングが必ずしも新しいイメージがプッシュされたタイミングと一致しない可能性があるため、要件にぴったり合致しない可能性があります。

D. 定期的なスキャン、SQS、Step Functions によるタグ削除と通知

  • 定期的なスキャンを設定して、結果を SQS に送信し、そのメッセージをトリガーに Step Functions を使ってタグ削除し、SES で通知します。
こちらも手動でのスキャン開始と同様に効率が悪く、スキャン結果が即座に反映されないため、Aよりも適していません。

結論:

最も効率的で、要件を満たす選択肢は A です。「scan on push」 を使ってスキャンを自動的に実行し、EventBridge でプロセスを自動化することが、脆弱性のあるイメージを見逃すことなく迅速に対応するための最適なアプローチです。
相关文章
クラウド技術の共有 | AWS Site-to-Site
Lazy loaded image
EKSでのWordPressデプロイ:KCNA-JP試験対策 (Kubernetes実践編)
Lazy loaded image
初心者向け!コンテナ化WordPressサイト構築ガイド(超詳細版)
Lazy loaded image
EFSを活用!AWS EC2でDockerを使ったWordPressサイト構築
Lazy loaded image
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
Lazy loaded image
528-AWS SAP AWS 「理論・実践・一問道場」Migration Evaluator
Lazy loaded image
225-AWS SAP AWS 「理論・実践・一問道場」Compute Savings Plan223-AWS SAP AWS 「理論・実践・一問道場」Service Auto Scaling
Loading...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
35条書面-64問-1
2025年6月13日
TOKYO自習島
2025年6月10日
平成26年秋期 午後問1
2025年6月6日
令和5年秋期 午後問1
2025年6月6日
令和2年秋期 午後問1
2025年6月6日
業務上の規制-87問-1
2025年6月4日
公告

🎉 欢迎访问我的博客 🎉

🙏 感谢您的支持 🙏

📅 本站自 2024年9月1日 建立,致力于分享在 IT・MBA・不动产中介 等领域的学习与实践,并推动 学习会 的自主开展。
📖 博客语言使用比例
🇯🇵 日语 90% 🇨🇳 中文 8% 🇬🇧 英语 2%

📚 主要内容

💻 IT・系统与开发

  • 系统管理:Red Hat 等
  • 容器与编排:Kubernetes、OpenShift
  • 云计算:AWS、IBM Cloud
  • AI 入门:人工智能基础与实践
  • 技术笔记与考证经验

🏠 不动产 × 宅建士

  • 宅建士考试笔记

🎓 MBA 学习笔记

  • 管理学、经济学、财务分析等

🔍 快速查找内容(标签分类)

由于网站目前没有专门的设计,可能会导致查找信息不便。为了更快找到你感兴趣的内容,推荐使用以下标签功能 进行搜索!
📌 定期更新,欢迎常来看看!
📬 有任何建议或想法,也欢迎留言交流!