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...
みなみ
みなみ
一个普通的干饭人🍚
最新发布
02-生成AIパスポート試験対策:第2章「生成AI」
2025-2-1
01-生成AIパスポート試験対策:第1章「人口知能」
2025-2-1
究極のAWS認定 AI 実践者 AIF-C01 - 学習メモ
2025-1-27
不要再傻傻的直接买NISA啦
2025-1-27
Kubernetes、仮想マシンとコンテナの概念を超簡単に解説!
2025-1-24
529-AWS SAP AWS 「理論・実践・一問道場」VPCエンドポイント
2025-1-22
公告
🎉欢迎访问我的博客🎉
- 感谢您的支持 --
本站点于2024/09/01建立
👏主要分享IT相关主题👏
系统管理:
Redhat…
容器和编排:
Kubernetes、Openshift…
云计算:
AWS、IBM…
AI入门
以及技术笔记和考证经验
定期更新,欢迎互动。
感谢访问!
快速浏览相关标签