わたねこコーリング

野良プログラマ発、日々のアウトプット

AWS

AWS Parameters and Secrets Lambda Extension の日本語文字化けに対応した話

AWS Lambda 関数に DB 接続アカウント等の秘匿情報を注入したい場合は、やっぱり環境変数とかじゃなく Secrets Manager を使いたいですよね。最近では Parameters and Secrets Lambda Extension という拡張機能が用意されていて、アプリケーションプログラム…

【AWS】EC2 インスタンスでの定時処理を cron から EventBridge スケジューラに移行した

EC2 インスタンスでちょっとしたシェルスクリプトを cron で定時実行していたのを、SSM Run Command + EventBridge スケジューラに移行してみたという話です。以下、ざっくりと手順を。極力 AWS CLI を使ってコマンドベースで進められるように書いてます(古…

AWS CLI の scheduler コマンドが使えなかった件

AWS CLI で EventBridge スケジューラの情報取得しようとしたら「ねーよ、そんなコマンド」と怒られますた。 $ aws scheduler get-schedule --name my-schedule usage: aws [options] <command> <subcommand> [<subcommand> ...] [parameters] To see help text, you can run: aws help aws <command> h</command></subcommand></subcommand></command>…

【AWS SSM】パラメータストアから環境変数ファイルを生成する

AWS Systems Manager のパラメータストアで管理している定数から、アプリケーションプログラムで使う .env の類をシェルスクリプティングで生成する、という小ネタでつ。本件では、下記を前提とします。 パラメータストアでのパラメータは全て文字列型。 開…

AWS SNS のメッセージ属性とフィルターで、配信をオプトイン・アウトする

運用中のシステムから、警報やエラーの類を AWS SNS 経由で関係者に通知するというユースケースは割とありがちだと思います。そんな時、内容の重要度等に応じて配信先を選択するにはどうしたら良いか? という件について。結論から言うと、メッセージ送信の…

Step Functions を PHP プログラムから実行する

最近、AWS Step Functions を使ってみたのですが、これが中々面白い。ステートマシンというワークフローを定義して、予め作っておいた Lambda 関数群を順に実行して出力値を次の関数に渡したり、分岐・ループ、並列実行等もできちゃう。Lambda 関数を Unix …

【AWS CLI】ELB ターゲットグループの EC2 インスタンス一覧をワンライナーで表示する

数十程の EC2 インスタンス群をロードバランサ(ALB)経由でサービス提供しているのですが、インスタンス管理で「あれ? このサーバってどのサービスで使ってたんだっけ…」ってなった時に、コンソールからロードバランサのターゲットグループをひとつずつ確認…

Amplify プログラムで、Storage (S3) に保存したファイルを複製する

AWS

AWS Amplify 上でウェブアプリ(Vue.js 製)を開発しているのですが、バックエンドの Storage API を使って S3 に保存したファイルを複製しようとして、「あれ? StorageClass にゃコピー用メソッド無いねぇ。どうするん?」ってなった時の話です。結果、別途 …

EC2 で WordPress サイト立ち上げるなら Bitnami AMI が手っ取り早い

仕事で「ウェブサイトをいっこ作るのでサーバセットアップよろ〜、WordPress 付きで」な流れになり、「WordPress すか… そろそろ SSG にしません?」等と言いたいのをぐっと飲み込んで、AWS コンソールにログイン。従来は「チュートリアル: Amazon Linux に…

AWS DcoumentDB クラスタに SSH トンネル越しで Node.js プログラムから接続する

小ネタですが表題件、地味にハマったので備忘録として。下記情報を元に、VPC 外(つまりおうち or 職場のパソコン)で開発中の Node.js プログラムから DocumentDB に接続しようとしたらタイムアウトでなかなか接続できませんですた。docs.aws.amazon.comdocs.…

CloudWatch ログをダンプしたり空ログストリーム削除したりするスクリプト書いた

AWS Lambda 関数開発をしてると CloudWatch ログを参照することが多いので、書いたスクリプトを備忘録的に公開。CloudWatch ログは、ロググループ→ログストリーム→ログレコード という階層構造になっており、Web コンソールからログレコードを参照する場合は…

CloudWatch コンソールログイン通知でメールが来ない件

AWS

小ハマり系小ネタでつ。先日 AWS セキュリティ強化の一環で今さらですが、コンソールログインのメール通知をdev.classmethod.jpを読んで実施したのですが、ログインしてみてもさっぱりメールが来ない。CloudTrail にはちゃんとイベントが記録されているのに……

【AWS EC2】bash プロンプトにインスタンス名を表示する

インフラ屋の皆様、年末年始に向けたサーバ増強はお済でしょうか。そんな貴兄に EC2 関連の小ネタです。スケールアウトなんかを目的としてクローン・サーバー・パターンを実施するとき、同じ AMI から立てたインスタンスだと bash のプロンプトもぜんぶ同じ…

RDS MySQL のタイムゾーン問題でもう一捻り

AWS RDS で MySQL を使ってる人の多くはご存知かと思いますが、default_time_zone が UTC のまま変更出来ないので NOW() 等の日時関数を使った時に困ったことになります。これを解決する為に、パラメタグループの init_connect に接続時のタイムゾーン変更処…

RDS で MySQL の EVENT 機能を使う

AWS 上で稼働している某サービスで、MySQL データベースを EC2 インスタンス上での稼働から RDS に移行することになったんですが、その作業の過程で EVENT 機能なるものが MySQL 5.1 以降で用意されていることを知りました。こんな便利なモノがあるのを知ら…