問題タブ [aws-ssm]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
671 参照

amazon-web-services - Lambda から SSM ドキュメントを呼び出す - NodeJS - Invalid Instance ID エラー

AWS Lambda から SSM ドキュメントを呼び出そうとしています。同じラムダ関数は次のとおりです。

これは、「 before call: 」という行をログに記録した後、次の例外をスローしています。インスタンスはすでに長期間存在し、最近作成されたものではないため、一貫性の問題はありません。

関数は、ラムダからのテスト中に正常に動作します。完全なセットアップを実行すると、エラーが発生します。これが私が達成しようとしていることの流れです:

インスタンスの終了 > ライフサイクル フック > Cloudwatch イベント > Lambda > SSM run コマンド。私の理解に基づくと、ラムダからのテストとリアルタイムセットアップの唯一の違いは、インスタンスのテスト中は実行中の状態であり、最終的な実行中は終了:待機状態であることです。また、待機時間を 600 秒に増やしましたが、うまくいきません。

追加の観察: Auto Scaling グループ > アクティビティで、ライフサイクル イベントを待っているというメッセージが表示されます。ただし、インスタンスを終了するとすぐに、[Systems Manager] タブの管理インスタンスのリストから消えます。したがって、ラムダがトリガーされるまでに、インスタンス ID は Systems Manager で使用できません。

観察/解決策 2: 私はそれを間違ってテストしていました。ライフサイクル フックは、スケーリング ポリシーによってインスタンスが異常であると見なされた場合にのみ機能します。インスタンスを手動で終了しても機能しません。今書いてみると一目瞭然です。