SAM テンプレートに既存リソースをインポートする手順 - CloudWatch Logs 編 -


手順

CloudFormation のテンプレート取得

既にデプロイ済みの SAM プロジェクトは CloudFormation に Stack が作成されています。
その Template タグで template の内容をローカル環境で template.yml で保存しましょう。
保存先はどこでも良いです。

template.yml にインポートしたいリソースを追記

1
2
3
4
5
6
7
8
9
10
11
12
13
...
Resources:
...

# インポートしたいリソースを追記
# API Gateway の アクセスログ管理用ロググループ
ApiGatewayAccessLogGroup:
Type: AWS::Logs::LogGroup
# NOTE: リソースを作成せず、Stack にインポートする為の設定
# see: https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html
DeletionPolicy: Retain
Properties:
LogGroupName: /aws/apigateway/xxx-Bot-Stack

今回は API Gateway のアクセスログ管理用ロググループをインポートします。
DeletionPolicy: Retain としているのは、リソースを作成せず、Stack にインポートする為です。

続きを読む

AWS Savings Plans Coverage API 実行時に DataUnavailableException エラーが発生する


概要

AWS Savings Plans Coverage API 実行時に DataUnavailableException エラーが発生しました。

1
2
3
$ aws ce get-savings-plans-coverage --time-period Start=2023-05-31,End=2023-06-01 --group-by Type=DIMENSION,Key=INSTANCE_TYPE_FAMILY Type=DIMENSION,Key=REGION Type=DIMENSION,Key=SERVICE

An error occurred (DataUnavailableException) when calling the GetSavingsPlansCoverage operation:

発生する条件を AWS サポートに確認しました。

サポートの回答

「対象期間について Savings Plans 適用対象サービスを使用していない場合、上記エラーが発生する」
とのこと。

Cost Explorer で確認

Cost Explorer で Savings Plans > Coverage report にも以下メッセージがありました。

No savings plans coverage data was returned for this time period. Please adjust the time period or filters if this seems incorrect.」

まとめ

Savings Plans カバレッジ取得時に DataUnavailableException エラーが発生する
= Savings Plans 適用対象サービスを使用していない
= Savings Plans を買う必要がない

ということでした。

以上
参考になれば幸いです。

AWS Bot 対策


AWS で CloudFront + ECS で Web サービスを配信していますが、
Bot が多く、その対策を WAF で実行しようとしたい際にいくつかつまづきましたので、その備忘録になります。

以下 2 点を試しました。

  1. WAF v2 で GEO マッチステートメントで Bot のリクエスト元の海外 IP をブロック
  2. WAF v2 Bot Control で Bot 対策
続きを読む

AWS CodeBuild で git lfs pull する


概要

CodePipline のソースアクションで GitHub からチェックアウトする処理がエラーとなり、異常終了する事象が発生しました。

チェックアウトする Rails プロジェクトの app/assets/images/ 以下のファイル容量が肥大化していたことが要因でした。

上記を回避すべく Git LFS を導入した話です。

続きを読む