CloudFormationを使ったMetricStreamの作成で失敗した場合の詳細な情報の取得方法を紹介します。
通常CloudFormationのスタック作成が失敗した場合、自動でロールバックされますようになっています。またロールバックされた場合、失敗した場合の詳細なLogも削除される可能性があります。そのため、ロールバックを無効にした上で再度実行してみてください。なお、再実行前に失敗したスタックを削除することも忘れないでください。
ロールバック無効化の方法
ロールバック無効化は、「Behavior on provisioning failure」にて設定することができます。「Quick create stack」の画面にて表示される項目の「Stack failure options」の中にある「Behavior on provisioning failure」にて「Preserve successfully provisioned resources」を選択してください。これにより自動でのロールバックが無効化されます。
スタック作成の再実行
そして失敗したときと同じパラメータにて再度スタックを作成してみてください。
すると、再度失敗して以下の画像のように作成時に指定したスタック名(デフォルト:NewRelic-Metric-Streams)のスタックのEventsタブが表示されているかと思います。
メインのスタックの失敗要因の確認
画像内のEventsの中の赤字を見てわかりますが、3行目の NewrelicLinkAccountStackV1 の作成が失敗したことにより、このスタックが失敗したことがわかります。
こちら、Logical IDの列がリンクになっているので、そのままクリックしてください。
ネストされたスタックの失敗要因の確認
すると、NewRelic-Metric-Streams-NewrelicLinkAccountStackV1-<ランダムな文字列>」というネステッドスタックが表示されます。これは、先の「NewRelic-Metric-Streams」から作成されたネストされたスタックになります。こちらのEventsタブを同様に確認します。
すると、2行目の「GraphqlAPICall」で失敗していることがわかります。
また、Status resonの列に以下のように記載があり、詳細に関しては、ClouWatch logsにて確認できることがわかります。
Received response status [FAILED] from custom resource. Message returned: See the details in CloudWatch Log Stream: 2025/09/16/[$LATEST]6c4dc153723d4814a453784d31381711 (RequestId: 3d3c2312-d078-4713-957b-369138d88698) |
ただし、ここで残念なのが、Log groupがわからないので対象のStreamを探すのに一手間かかります。そのため、リソース経由でCloudWatch Logsを表示します。
ネストされたスタックで作成されたLambda関数のLogの確認
続いて、Resourcesタブを開いてください。
するとPythical ID列に「NewRelic-Metric-Streams-New-GraphqlAPICallFunction-2WsWnehFKrjx」というのがあり、このネステッドスタックで作成されたLambda関数があるのがわかるので、クリックします。
Lamba関数のページが開かれるので、「Monitor」タブをクリックし、「View CloudWatch Logs」というボタンをクリックします。
すると、先のネステッドスタックのStatus reasonsに記載のあったLog streamが確認できます。今回の場合、 Failed: HTTP Error 403: Forbidden
というエラーが記録されているので権限に問題があったことがわかります。実際には、権限のないユーザのユーザーキーを使って設定を行ったためこのエラーが出ています。
最後に
なお、ログの内容に関して、お客様が直接誤判断していただけない場合など多くございますので、基本的にはこれら出力されたLogすべて及び、失敗したStackのEventsに表示された内容のスクリーンショットなどを添付していただいたうえで、テクニカルサポートにお問い合わせ頂ければ、幸いでございます。
本ブログに掲載されている見解は著者に所属するものであり、必ずしも New Relic 株式会社の公式見解であるわけではありません。また、本ブログには、外部サイトにアクセスするリンクが含まれる場合があります。それらリンク先の内容について、New Relic がいかなる保証も提供することはありません。