mattintosh note

数年ぶりにカメラを買ったのでフィギュアを撮る練習をしています

AWS

CloudFront Functionsで遊ぶ

旧サイトから新サイトにリダイレクトする index.html なしでドキュメントを表示して URL の正規化もする IP 制限をかける Basic 認証をかける オリジンの 403 Forbidden を 404 Not Found に書き換える 旧サイトから新サイトにリダイレクトする EC2 が稼働し…

AWS Transfer Family のメモ

用事があって久しぶりに AWS Transfer Family を構築する用事があったんだけど大分昔に作ったので作り方をすっかり忘れた。 今回の要件としては外部から FTP/SFTP で EFS にデータを置くっていうものだった。 Transfer Family に EFS への書き込みを許可を与…

AWS Image Builder コンポーネントのコンテンツに設定ファイルをそのまま書いたら文字数オーバーした

ファイルの置き場に S3 が使えないので Nginx などの設定ファイルをヒアドキュメントで配置してゴールデンイメージを作ることになったんだけど色々なファイルを配置していたらエラーになった。コンポーネントのコンテンツは 16,000 文字の制限があるらしい。…

Amazon Linux 2 の Extra Library PHP 7.4 に imagick をインストールする

amazon-linux-extras でインストールした PHP 7.4 で WordPress 用に imagick をインストールしようとしたら無かったのでいまのところパッケージマネージャからはインストールできないっぽい。 bash-4.2# amazon-linux-extras install -y php7.4 bash-4.2# y…

monitでlsyncdをモニタリングしたいけどpidfileが作成されない

Amazon Linux 2 で monit で何らかのプロセスを監視させるとき、そのプロセスの PID ファイルを指定する(PID ファイルじゃなくても出来るのだが)。 Amazon Linux 1(以下 amzn1)では lsyncd 使ってるときに /var/run/lsyncd.pid が作成されてた気がするん…

ElastiCacheでMemcachedを使うときのクライアントのインストール

PHP アプリケーションから ElastiCache Memcached を使用する場合、AWS が提供している ElastiCache Cluster Client をインストールする必要がある。(普通の php-pecl-memcached を入れるとマルチ AZ な Memcached に対応してなさそう) Amazon Linux 2 & P…

CloudFrontのGeo Restrictionで削減出来そうなコストを計算してみる

依頼で色々なプロジェクトの AWS 環境を見ているんですが、よく言われるのが「データ転送料金が高い」です。 EC サイトの場合、この原因の多くはクライアントがアップロードしている商品画像のサイズが大きかったり枚数が多かったりと、アクセス数が増えれば…

リモートでsudoしてrsyncしたい

EC2 インスタンス上のデータをバックアップするのに root しか読み取り権限がないファイルやディレクトリをどうコピーするか、という問題にあたった。Amazon Linux では root のログインを禁止しているため何らかの方法でユーザをスイッチしなくてはならない…

ApacheでELB-HealthCheckerのログ振り分けについて考える

User-Agent による振り分けの問題点 ベストプラクティスを考える Location ディレクティブを使う SetEnvIf で複数条件を組み合わせて AND 条件を作る IF ディレクティブを使う ALB で UA 偽装を弾いてみる User-Agent による振り分けの問題点 AWS で Applica…

孤独の AWS Cloud9 ハンズオン 〜Cloud9 は SSH 踏み台として使えるのか〜

先日、Amazon 本社で AWS スタートアップの説明を聞く機会があった。そこで「最近では踏み台に Cloud9 を使っている方も」という話を聞いたので「本当に踏み台として使えるのか」「Terraform との相性はどうなのか」というのを確認してみた。なお、Cloud9 に…

AWS Elasticache で作成した Redis に外部から接続したい

Heroku Redis を使っている方から「Redis だけ AWS を利用出来ないか?」というご相談をいただいたので検証してみた。 本記事は接続検証を目的としたものです。本記事に起因して発生したいかなるトラブルや損害等について当方は一切責任を負いません。 事前…

Amazon Elasticsearch Service 6.x 用に curator をインストールする

容量削減のためインデックス自動削除に curator を導入することにした。 Amazon Elasticsearch Service のバージョンは「6.2.3」。EC2 インスタンスの AMI は「Ubuntu Server 18.04 LTS (HVM), SSD Volume Type - ami-07ad4b1c3af1ea214」。 $ curl -sq 'htt…