#aws
RDSを定期的に停止するLambdaを作る
手動起動は大変なので
AWS SESの受信メールを暗号化してs3に保存しLambdaで読み込む
jsの場合、複合処理を独自実装する必要がある
CloudWatchアラームを一時的に無効化する
AWS CLIで設定する必要がある
Alexaに気温と二酸化炭素濃度を教えてもらう
「Alexa、気温」でセンサー情報を教えてくれるようになった
CloudWatchのカスタムメトリクスを減らす
あまりチェックしないセンサー値の送信を止めた
AWS SAMで作ったLambdaアプリをCircleCIでデプロイする
circleci/aws-serverlessのOrbを使った
Nodejs12のLambdaでawscliを使う
aws-lambda-layer-awscliを使う
AWS CDKで複数スタックをデプロイする場合
'*'を指定する
Product Advertising API version 5.0
3/9にv4が終了するらしいので急いで移行する必要がある
BME280センサ情報をAWS IoTで管理してChatbotでSlackに通知する
AWS IoTでデータを管理して不快指数がしきい値を超えたらSlackにアラート通知をするようにした
AWS CDK使用時にリージョンを指定する
new Stackの際にenvで指定できる
AWS Amplify Handsonをやってみる
とりあえず便利ということは分かった
CloudFront経由でS3の静的コンテンツ配信をしたら307リダイレクトになってしまった
即時反映したい場合はus-east-1にバケットを作る
CloudWatchメトリクスのグラフ画像をSlackに定期通知するLambdaを作る
毎回マネージメントコンソールにログインしなくても昨夜の振り返りができるようにした
CloudWatch Logsのログ保存期間を一括変更
手動で一つずつ設定するのが大変だったのでスクリプトで一括変更した
Fargate ECSで1回限りのバッチ処理を実行する
run-taskコマンドを使う
AWS SAMで環境変数を扱う
template.yamlではParametersの定義のみをしておいて、deploy時に値を設定するようにすればできた
localstackでSQSを使う際に初期化スクリプトを流す
docker-entrypoint-initaws.d以下に初期化スクリプトを配置
AWS SESでバウンスメールのテストを行う
公式で提供されているテスト用メールアドレスを使う
s3の署名付きURLが有効期限より前に見れなくなってしまう
IAMロールではなくIAMユーザの権限でURLを生成する必要があった
Github ActionでCloudfrontのキャッシュをクリアする
デプロイ後にキャッシュクリアを行うように設定
CDKのApplicationLoadBalanced FargateService利用時にDeregistrationDelayを変更する
targetGroup.setAttributeで変更できた
CDK aws-lambda-nodejsのビルド時間を短縮する
Parcel v2.0.0-beta.1を使ってローカルでバンドルする
direnvでMFA必須のスイッチロールアカウントのAWS_ACCESS_KEY_IDを設定する
direnv allowを実行する際にMFA認証コードを入力するようにした
Lambdaでaws cli configureを設定できるようにする
AWS_CONFIG_FILE=/tmp/.aws/configを設定した
Step FunctionsでCodeBuildを実行する際にinputを環境変数に設定する
JsonPath.stringAtを使用する
AWS LambdaでSentryを使う
Sentry.flushを使う必要があった
CDKでRDS(mysql)のslowlogをCloudWatch Logsに出力する
パラメータグループとcloudwatchLogsExportsを設定
CDKでのECS環境構築の際にContainer Insightsを有効にする
containerInsightsフラグを有効にすれば設定できる
AWS SESでメールを受信してGmailに転送する
独自ドメインメールの送受信ができるようになった
AWSのコスト異常検出を設定する
意図しない課金を防ぐためにとりあえず設定しておくと良さそう
CloudWatch Eventsで日本時刻(JST)の月初に実行したい
Lオプションの存在を知った
MFA必須のスイッチロールアカウントでaws cliを使う
switch role用のprofileを追加する
CDKで作ったLambda@Edgeのコードに環境変数を渡せるようにする
esbuild defineを使う
Amazon API Gatewayのタイムアウト設定は最大29秒まで
上限緩和もできないので注意
マネージメントコンソール上のエディタでLambdaのコードを書く際にnpmライブラリを追加したい
ローカルでライブラリをインストールしてからインポートする必要があった
Step Functionsステートマシンから別のStep Functionsを呼び出す
複雑なステートマシンを小さいステートマシンに分割しておけばテストと確認がやりやすくなる