AWS
AWS SDK であれこれしたいだけで別に Symfony や Laravel 等のフレームワークを動かしたいわけじゃなく、JavaScript とか Python に馴染みが無いから PHP でやりたいっていう程度っていう相談が来たとか来てないとか。https://github.com/aws-samples/php-ex…
Amazon Linux 2023(AL2023)では何故か PHP 8.1 に sodium パッケージが用意されていない。AL2023 の PHP 8.2 や Amazon Linux 2(AL2)の PHP 8.1 には存在する。 調べてみると 2022 年 10 月には issue が立ってるのに We are evaluating inclusion of th…
そろそろ Amazon Linux 2023(以下 AL2023)への移行を…と思ってたんだけど AL2023 では EPEL が無くなってしまっているのでパッケージマネージャで lsyncd がインストールできない。仕方ないのでソースコードからインストールすることにした。 NAME="Amazon…
前に「こういうの作って」って言われて作ってメモってたんだけど何やってるかわからなくなったので整理。 CloudFront Functions で単純にリダイレクトする場合は ${event.request.uri} を引き継げば良い。 function handler (event) { var host = 'example.c…
PHP が 7.4 くらいまでだった頃は ElastiCache Cluster Client は各 PHP のバージョンに対して x86 と ARM それぞれ一種類ずつだった気がするんだけど PHP 8.x 以降ぐらいからだろうか、OpenSSL 1.1 版と 3.0 版に分かれるようになった。 AWS ElastiCache 今…
mysqldump のバージョンを上げたせいか AWS RDS で運用してるデータベースのダンプを取ろうとすると下記のメッセージが出てダンプが取れなくなった。尚、mysql コマンドでは接続できる。 mysqldump: Couldn't execute 'FLUSH TABLES WITH READ LOCK': Access…
忘れるので自分用メモ。 EventBridge Scheduler でも出来るだろうけど今回は従来からある Lambda を使って DB インスタンスを指定して自動起動・停止を行う方法。 ※「これをコピペすれば出来ます」的なことは書いてないです IAM の作成 素直に起動と停止の関…
久し振りに EventBridge でルールを作ろうと思ったらスケジュールを選択すると "EventBridge Scheduler - A new AWS scheduling capability!" となっていて EventBridge Scheduler というものが追加された模様。なお、左下の[Create to new rule]ボタンか…
旧サイトから新サイトにリダイレクトする index.html なしでドキュメントを表示して URL の正規化もする IP 制限をかける Basic 認証をかける オリジンの 403 Forbidden を 404 Not Found に書き換える 旧サイトから新サイトにリダイレクトする EC2 が稼働し…
用事があって久しぶりに AWS Transfer Family を構築する用事があったんだけど大分昔に作ったので作り方をすっかり忘れた。 今回の要件としては外部から FTP/SFTP で EFS にデータを置くっていうものだった。 Transfer Family に EFS への書き込みを許可を与…
ファイルの置き場に S3 が使えないので Nginx などの設定ファイルをヒアドキュメントで配置してゴールデンイメージを作ることになったんだけど色々なファイルを配置していたらエラーになった。コンポーネントのコンテンツは 16,000 文字の制限があるらしい。…
amazon-linux-extras でインストールした PHP 7.4 で WordPress 用に imagick をインストールしようとしたら無かったのでいまのところパッケージマネージャからはインストールできないっぽい。 bash-4.2# amazon-linux-extras install -y php7.4 bash-4.2# y…
Amazon Linux 2 で monit で何らかのプロセスを監視させるとき、そのプロセスの PID ファイルを指定する(PID ファイルじゃなくても出来るのだが)。 Amazon Linux 1(以下 amzn1)では lsyncd 使ってるときに /var/run/lsyncd.pid が作成されてた気がするん…
PHP アプリケーションから ElastiCache Memcached を使用する場合、AWS が提供している ElastiCache Cluster Client をインストールする必要がある。(普通の php-pecl-memcached を入れるとマルチ AZ な Memcached に対応してなさそう) Amazon Linux 2 & P…
依頼で色々なプロジェクトの AWS 環境を見ているんですが、よく言われるのが「データ転送料金が高い」です。 EC サイトの場合、この原因の多くはクライアントがアップロードしている商品画像のサイズが大きかったり枚数が多かったりと、アクセス数が増えれば…
EC2 インスタンス上のデータをバックアップするのに root しか読み取り権限がないファイルやディレクトリをどうコピーするか、という問題にあたった。Amazon Linux では root のログインを禁止しているため何らかの方法でユーザをスイッチしなくてはならない…
User-Agent による振り分けの問題点 ベストプラクティスを考える Location ディレクティブを使う SetEnvIf で複数条件を組み合わせて AND 条件を作る IF ディレクティブを使う ALB で UA 偽装を弾いてみる User-Agent による振り分けの問題点 AWS で Applica…
先日、Amazon 本社で AWS スタートアップの説明を聞く機会があった。そこで「最近では踏み台に Cloud9 を使っている方も」という話を聞いたので「本当に踏み台として使えるのか」「Terraform との相性はどうなのか」というのを確認してみた。なお、Cloud9 に…
Heroku Redis を使っている方から「Redis だけ AWS を利用出来ないか?」というご相談をいただいたので検証してみた。 本記事は接続検証を目的としたものです。本記事に起因して発生したいかなるトラブルや損害等について当方は一切責任を負いません。 事前…
容量削減のためインデックス自動削除に curator を導入することにした。 Amazon Elasticsearch Service のバージョンは「6.2.3」。EC2 インスタンスの AMI は「Ubuntu Server 18.04 LTS (HVM), SSD Volume Type - ami-07ad4b1c3af1ea214」。 $ curl -sq 'htt…