AWS

Postfix から SMTP endpoint を使わずに Amazon SES 経由でメールを送る

Postfix から Amazon SES 経由でメールを送る場合、通常であれば SMTP credentials を作成したうえで Postfix から Amazon SES の SMTP endpoint へリレーを設定します。 Amazon SES とPostfixの統合 - Amazon Simple Email Service Classic が、やんごとな…

CloudFront ~ S3 で CORS を設定する

AWS

CloudFront 経由で公開している S3 に Web フォントを置いて、それをクロスオリジンで利用できるようにするために Access-Control-Allow-Origin ヘッダーを返すように設定したときのメモ。 以下の 2 通りの方法が考えられるでしょうか CloudFront のレスポン…

クロスアカウントの VPC ピアリング接続を経由してカスタム CNAME で RDS に接続

AWS

クロスアカウントの VPC ピアリング接続を経由して RDS に接続する検証。 要するにアカウント A と B があって、それぞれに VPC があり、ピアリング接続されている状態で、A の RDS に B の EC2 インスタンスから接続します。 ただし RDS の元々の DNS 名で…

CloudFront の署名付き URL を使ってみるメモ

AWS

CloudFront の署名付き URL を使ってみたメモ。 S3 の署名付き URL 署名付き URL といえば S3 の方もよく聞きます。いずれも同じように有効期限付きの署名付き URL を作成して認証を通すというのは変わりませんが、S3 の方は AWS IAM Role の一時クレデンシ…

AWS のリージョンの略称

AWS

AWS でリソース名や terraform の識別子にリージョンを入れたいとき、ap-northeast-1 とかだと長すぎるのでもっと略したいときの略称の候補。 大抵はリージョンごとに〇〇環境のように作成するためリージョン名が識別子に入ることはあまりありませんが、たま…

aws-vault で gpg のパスフレーズプロンプトが表示されるのがめちゃめちゃ遅い

aws-vault でバックエンドに pass を使っているので aws-vault の実行時に gpg の秘密鍵のパスフレーズの入力プロンプトが表示されるのですが、最近になってからプロンプトが表示されるまで異様に時間がかかるようになりました。 なお、WSL2 環境で systemd …

aws-vault の tips

aws-vault のメモ。概ね USAGE.md を見れば十分ですが WSL で使用する場合の特有の問題などもあります。 aws-vault/USAGE.md at master · 99designs/aws-vault pass バックエンド ずっと昔は aws-vault で認証情報を保存するバックエンドとして Linux の CLI…

AWS SDK for PHP の SQS::ReceiveMessage でシグナルを受けたときに long pooling を中断して終了したい

S3 に保存された CloudFront のログを見やすく整形するツーライナー

AWS

要するに TSV や CSV は column コマンドで見やすくなる&# の行はちょっと特殊なので加工が必要。 aws s3 cp s3://XXX/YYY/ZZZ/ ./log/ --recursive --exclude='*' --include '*.2022-10-27-*' zcat log/*.gz | sed -r '/^#Version/d;/^#Fields:/{s/\s/\t/g…

ECS でサービスにアクセスがないときにタスクを自動的に停止して、アクセスがあったときに自動的に開始する

AWS

ECS で Review Apps のような、マージリクエスト(普段会社で Gitlab を使っているのでそう呼んでますが PR=プルリクエスト でも概ね同じです)の都度、コンテナイメージのビルド、ALB ターゲットグループ作成、ECS サービス作成、ALB リスナーにルール追加…

AWS で Oracle Linux 8 を動かしたメモ

とある事情で AWS で Oracle Linux 8 を使ってみることになったのでそのメモ。 AMI AMI は所有者を 131827586825 で検索するとずらずら出てきます。 参考:https://community.oracle.com/tech/apps-infra/discussion/4417739/launch-an-oracle-linux-instanc…

EC2 でインスタンスを停止せずにルートボリュームを置き換えてみるメモ

AWS

少し前に AWS EC2 でルートボリュームをインスタンスを停止せずに交換可能になったと発表がありました。 EC2 でルートボリュームを交換することにより、迅速な復元とトラブルシューティングが可能に え、停止せずにって、無停止でってこと? そんな馬鹿な(…

AWS Lambda で PHP のカスタムランタイムのコンテナイメージを作ってみるメモ

もう結構前のことですが、AWS Lambda に zip ではなくコンテナイメージでデプロイ出来るようになったとのことです。 AWS Lambda の新機能 – コンテナイメージのサポート | Amazon Web Services ブログ ので試してみました。残骸はこちら。 コンテナイメージ…

CodeBuild/CodeDeploy/CodePipeline で ECS にデプロイする素振り

AWS

CodeBuild/CodeDeploy/CodePipeline を使って ECS にデプロイを素振りしました。 残骸はこちら。 デプロイの流れ デプロイの基本的な流れは次のとおりです。 VCS からソースコードを取得 CodeBuild でイメージをビルドして ECR にプッシュ このときイメージ…

CloudWatch に SSL 証明書の有効期限をメトリクスとして入れて有効期限を監視する

クライアント認証のために EC2 インスタンス上で Let's Encrypt の証明書で https しているサーバがあり、CloudWatch Alarm でその証明書の有効期限の監視をしたかったのでそのメモ。 CLI で証明書の有効期限のチェック openssl s_client の -attime でエポ…

Terraform の AWS プロバイダのクレデンシャルの優先順が AWS CLI や AWS SDK と異なる

環境とか。 Terraform v0.13.4 + provider registry.terraform.io/hashicorp/aws v3.9.0 Terraform でデプロイ対象の AWS アカウントが MFA 必須だったので aws-vault を使う前提で provider aws にはクレデンシャルの指定なし、一方で tfstate のバックエン…

AWS の Billing Alert(請求アラート)を日々の増加分で設定する

AWS

AWS の請求アラートは昔は CloudWatch Alarm を使う必要がありましたが、最近なら AWS Budgets で簡単に設定できます。便利です。 がしかし、AWS Budgets はもっとも短いスパンでも月次の請求額なので、次のようなケースにはフィットしません。 検証用の AWS…

AWS Transit Gateway を使ってみるメモ

AWS

Transit Gateway (TGW) を使ったことが無かったので、試しに使ってみました。残骸はこちら。 Direct Connect や VPN Connection では簡単には試せないので VPC と Transit Gateway Peering のみ試しています。 構成要素 TGW の構成要素について。 アタッチメ…

Ansible で amazon-cloudwatch-agent をプロビジョニングしようとしたら毎回 changed になった件

環境 CentOS 7.8.2003 amazon-cloudwatch-agent 1.246396.0 Ansible で amazon-cloudwatch-agent をプロビジョニングするために次のようにロールを書いていました。 ### tasks/main.yml - name: install cloudwatch-agent yum: name: https://s3.amazonaws.c…

AWS DataSync を素振りしたメモ

AWS

AWS DataSync はオンプレから AWS 上の S3 や EFS にデータを転送するものというイメージだったので、それならあまり使う機会はないかなー、と思っていたのですが下記によると EFS と S3 の間でデータの転送もできるので、それなら使う機会もあるかもー、と…

Amazon Data Lifecycle Manager (DLM) と AWS Backup を素振りしたメモ

AWS

今まで EC2 インスタンスや EBS のバックアップには cron でスクリプトを回したり CloudWatch Events のスケジュールからの Lambda とかでしかやったことなかったので、Amazon Data Lifecycle Manager (DLM) と AWS Backup を EC2 と EBS だけでですが試して…

Amazon WorkSpaces を素振りしたメモ

AWS

2020/09/30 まで無料枠が拡大されているらしいので使ってみました。 https://aws.amazon.com/jp/workspaces/pricing/#FreeTier がしかし、Amazon WorkSpaces を使って最初の2ヶ月間は元々無料枠があるので、あえて今使わなくても良かったかも。どうせちょっ…

AWS Cloud Development Kit (AWS CDK) を素振りしたメモ

AWS

AWS Serverless Application Model (AWS SAM)を素振りしたので次は AWS CDK を試してみました。 チュートリアル 下記のチュートリアルを見ながら試してみます。 https://docs.aws.amazon.com/cdk/latest/guide/hello_world.html typescript ts-node aws-cdk …

AWS Serverless Application Model (AWS SAM) を素振りしたメモ

AWS

Serverless Framework を素振り したので次は AWS SAM を素振りしてみました。 インストール まずは AWS SAM CLI をインストールします。 Linux へのインストール手順でおもむろに Homebrew が出てきます。 https://docs.aws.amazon.com/serverless-applicat…

Serverless Framework 素振り

Serverless Framework とは AWS Lambda などの FaaS を構成管理するツールです。AWS 専用というわけではなくさまざなクラウドプロバイダの FaaS をサポートしています。 今回は AWS Lambda の構成管理を試したかったので下記のドキュメントを参考に素振りし…

リージョン間の VPC ピアリング接続経由で SES SMTP の VPC endpoint を使う素振り

AWS

下記によると Amazon SES の SMTP エンドポイントに VPC エンドポイント(Private Link)経由でアクセスできるようになったので、インターネットアクセスの無いプライベートサブネットからでも VPC エンドポイント経由で SMTP でメールを送れるようになった…

Makefile で複数の Lambda 関数をデプロイするメモ

複数の Lambda 関数で構成される環境を、基本的な構成は Terraform で管理しつつ、Lambda 関数のコードは make で aws cli を呼び出してデプロイするメモ。 Lambda 関数のコードも含めてすべてを Terraform で管理することもできると思いますが・・・それだ…

AWS Certificate Manager Private Certificate Authority 素振り

AWS

AWS のマネージドなプライベート CA の AWS Certificate Manager Private Certificate Authority を素振りしたメモ。 費用 https://aws.amazon.com/jp/certificate-manager/pricing/ プライベート CA ごとに 400 USD の月額と、プライベート証明書を発行する…

Gitlab Runner のジョブに Amazon ECR のイメージを使う

思うとことあって Qiita に移しました → https://qiita.com/ngyuki/items/719e877c52415e398148

CloudWatch Agent を試す

AWS

CloudWatch の EC2 のメトリクスだとメモリ使用率やディスク使用率が取れないので別途 Amazon CloudWatch Monitoring Scripts でカスタムメトリクスとして取得したりしていましたが、今日日は CloudWatch Agent を使えばいいだろうので素振り。 残骸はこちら…