#aws

Alexaに気温と二酸化炭素濃度を教えてもらう

「Alexa、気温」でセンサー情報を教えてくれるようになった

CloudWatchのカスタムメトリクスを減らす

あまりチェックしないセンサー値の送信を止めた

AWS SAMで作ったLambdaアプリをCircleCIでデプロイする

circleci/aws-serverlessのOrbを使った

AWS SESの受信メールを暗号化してs3に保存しLambdaで読み込む

jsの場合、複合処理を独自実装する必要がある

Nodejs12のLambdaでawscliを使う

aws-lambda-layer-awscliを使う

s3の署名付きURLが有効期限より前に見れなくなってしまう

IAMロールではなくIAMユーザの権限でURLを生成する必要があった

AWS CDK使用時にリージョンを指定する

new Stackの際にenvで指定できる

AWS SAMで環境変数を扱う

template.yamlではParametersの定義のみをしておいて、deploy時に値を設定するようにすればできた

CloudWatch Logsのログ保存期間を一括変更

手動で一つずつ設定するのが大変だったのでスクリプトで一括変更した

CloudWatchメトリクスのグラフ画像をSlackに定期通知するLambdaを作る

毎回マネージメントコンソールにログインしなくても昨夜の振り返りができるようにした

BME280センサ情報をAWS IoTで管理してChatbotでSlackに通知する

AWS IoTでデータを管理して不快指数がしきい値を超えたらSlackにアラート通知をするようにした

CloudFront経由でS3の静的コンテンツ配信をしたら307リダイレクトになってしまった

即時反映したい場合はus-east-1にバケットを作る

localstackでSQSを使う際に初期化スクリプトを流す

docker-entrypoint-initaws.d以下に初期化スクリプトを配置

AWS LambdaでSentryを使う

Sentry.flushを使う必要があった

Product Advertising API version 5.0

3/9にv4が終了するらしいので急いで移行する必要がある

AWS Amplify Handsonをやってみる

とりあえず便利ということは分かった

Github ActionでCloudfrontのキャッシュをクリアする

デプロイ後にキャッシュクリアを行うように設定

Fargate ECSで1回限りのバッチ処理を実行する

run-taskコマンドを使う

AWS SESでバウンスメールのテストを行う

公式で提供されているテスト用メールアドレスを使う

CDKでのECS環境構築の際にContainer Insightsを有効にする

containerInsightsフラグを有効にすれば設定できる

CDKでRDS(mysql)のslowlogをCloudWatch Logsに出力する

パラメータグループとcloudwatchLogsExportsを設定

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を設定した

CloudWatch Eventsで日本時刻(JST)の月初に実行したい

Lオプションの存在を知った

MFA必須のスイッチロールアカウントでaws cliを使う

switch role用のprofileを追加する

AWS SESでメールを受信してGmailに転送する

独自ドメインメールの送受信ができるようになった

AWSのコスト異常検出を設定する

意図しない課金を防ぐためにとりあえず設定しておくと良さそう

Amazon API Gatewayのタイムアウト設定は最大29秒まで

上限緩和もできないので注意

マネージメントコンソール上のエディタでLambdaのコードを書く際にnpmライブラリを追加したい

ローカルでライブラリをインストールしてからインポートする必要があった

Step Functionsステートマシンから別のStep Functionsを呼び出す

複雑なステートマシンを小さいステートマシンに分割しておけばテストと確認がやりやすくなる