Step Functionsによる対応のオーケストレーション
複数の修復手順を、信頼性の高いワークフローとして連結します。
「Step Functionsによる対応のオーケストレーション」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン4/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
1 つのステップでは足りない場合
インシデント対応によっては、分岐やエラー処理を含む多数のステップを順番に実行する必要があります。単一の Lambda では管理が難しくなります。
AWS Step Functions は、複数のステップを信頼性の高い視覚的な workflow にまとめてオーケストレーションし、複雑な修復処理を管理しやすく、監査可能にします。
Step Functions とは
Step Functions は、タスクを state machine として調整するサーバーレスのオーケストレーションサービスです。
各ステップ(state)はアクションを実行します。多くの場合は Lambda を呼び出します。ワークフローでは、ステップ間の順序、分岐、再試行、エラー処理を定義します。これによりフローが管理され、それぞれの関数をシンプルに保てます。
ステートマシン
state machine は、Amazon States Language を使用して JSON で定義します。State では、タスクの実行、選択、待機、ステップの並列実行、ワークフローの終了などができます。
この宣言的な定義により、複数ステップの対応が開始から終了までどのように進むかを、明確で視覚的な形で把握できます。
{
"StartAt": "IsolateInstance",
"States": { "IsolateInstance": { "Type": "Task" } }
}対応ワークフロー
侵害されたインスタンスへの対応を考えてみましょう。ステートマシンでは、インスタンスの隔離、ボリュームのスナップショット作成、フォレンジックデータの収集、チームへの通知、チケットの作成を、それぞれ順序付けられた個別のステップとして実行できます。
いずれかのステップが失敗した場合、カスタムの接続処理を用意しなくても、そのステップを再試行したり、エラーパスへ分岐したりできます。
Choice による分岐
Choice state を使用すると、入力に基づいてワークフローを別のパスへ進められます。重大度の高い検出結果では完全な隔離を実行し、中程度の検出結果ではアラートだけを発生させる、といった処理が可能です。
この分岐によって判断ロジックをオーケストレーションに直接組み込めるため、脅威の深刻度に応じた対応を自動的に行えます。
組み込みのエラー処理
Step Functions には、各ステップで使用できる retry と catch が用意されています。スロットリングされた API 呼び出しはバックオフを伴って自動的に再試行され、回復不能なエラーは定義済みの catch ハンドラーへルーティングされます。
この回復性を通常のコードで正しく構築するのは難しいものですが、Step Functions には組み込まれています。そのため、複数ステップの自動化を大幅に信頼性の高いものにできます。
人による承認ステップ
破壊的なアクションでは、コールバックタスクトークンを使って、ワークフローを pause and wait させ、人の承認を待つことができます。
ステートマシンは通知を送信して停止し、承認者が応答した場合にのみ再開します。これにより、取り消せない判断において、自動化の速さと人の判断力を組み合わせられます。
Parallel と Map
Parallel state は、複数の分岐を同時に実行します。たとえば、ボリュームのスナップショットを作成しながらログを収集し、同時にチームへ通知できます。Map は、検出結果に含まれるすべてのインスタンスを隔離するなど、リスト内の各要素に対してステップを繰り返します。
この並行実行により対応が高速化され、多数のリソースに影響するインシデントにも対処できます。
監査可能で可観測
Step Functions は、すべてのワークフロー実行について完全な execution history を記録します。各ステップ、その入力、出力、実行時間が含まれます。
インシデント対応では非常に有用です。自動化が何をいつ実行したのかを正確に示す自動監査証跡が得られ、インシデント後のレビューにそのまま利用できます。
EventBridge によるトリガー
Step Functions のワークフローは、Lambda と同様に EventBridge の target になります。一致した検出結果によって実行が開始され、イベントが入力としてステートマシンに渡されます。
これにより、複雑なオーケストレーションを検出パイプラインに直接接続できます。重大度の高い 1 件の検出結果から、完全で複数ステップの監査可能な対応を自動的に開始できます。
Lambda と Step Functions
複雑さに基づいて選択してください。単独で完結する単純な修正には、1 つの Lambda が適しています。
順序付けられたステップ、分岐、並列処理、再試行、人による承認を含む対応には、複数の Lambda をオーケストレーションする Step Functions が適しています。オーケストレーターによって各関数はシンプルに保たれ、ワークフロー全体の信頼性と明確さも維持できます。
クイックチェック
適切なツールを選択してください。
まとめ
AWS Step Functions は、Amazon States Language で定義された state machine として、複数ステップのインシデント対応をオーケストレーションします。順序付けられたタスク(多くの場合は Lambda)、重大度に基づく Choice 分岐、Parallel と Map による並行処理、組み込みの retry と catch、破壊的なアクションに対する人の承認待ちを調整します。完全な実行履歴により、自動監査証跡も得られます。単純な修正には単独の Lambda を使い、ワークフローが複雑になったら Step Functions を使います。
よくある質問
「Step Functionsによる対応のオーケストレーション」レッスンは無料ですか?
はい。「Step Functionsによる対応のオーケストレーション」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。
「Step Functionsによる対応のオーケストレーション」で何を学びますか?
複数の修復手順を、信頼性の高いワークフローとして連結します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Cloud & IT Cert Prepを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン4/4です。
「Step Functionsによる対応のオーケストレーション」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?
はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- EventBridgeがセキュリティイベントをルーティングする仕組み
- イベントパターンによる検出結果の照合
- 自動修復のためのLambdaの起動
- Step Functionsによる対応のオーケストレーション