らくがきちょう

なんとなく ~所属組織/団体とは無関係であり、個人の見解です~

AWS

AWS API Gateway + Lambda + mangum + FastAPI な Python アプリケーションに POST された JSON を処理する

以前に mangum + FastAPI で ASGI な Python アプリケーションを AWS Lambda + API Gateway 上で動かすというメモを書きました。 mangum と mangum-cli を使うと FastAPI を使った Web アプリケーションを AWS の Lambda と API Gateway を使って簡単に公開…

AWS CLI v2 をインストールし、ページャを無効化する

AWS CLI v2 is now generally available でアナウンスされましたが AWS CLI v2 が正式リリースされました。 従来は pip 経由でインストールしていましたが、v2 からは .zip ファイルをダウンロードし、インストーラを使ったインストール手順に変わっています…

mangum + FastAPI で ASGI な Python アプリケーションを AWS Lambda + API Gateway 上で動かす

mangum を使うと FastAPI や responder といった ASGI アプリケーションを AWS Lambda + API Gateway 上へ簡単にデプロイすることが出来ます。 今回は FastAPI で書いた ASGI アプリケーションを mangum を使って AWS 上でデプロイする手順をメモしておきま…

AWS Lambda で CloudWatch Event からトリガーした場合の event サンプル

AWS Lambda を cron 式で指定時間にトリガーする場合、トリガーには Cloud Watch Event を指定します。 この場合、Lambda のイベントハンドラへ渡される event (JSON オブジェクト) のサンプルは Event Patterns in CloudWatch Events に掲載されています。 …

python-lambda-local と lambda-uploader を使ってローカル環境で Lambda 開発を行う

AWS の Lambda で開発を行う際、Web 管理コンソール上で開発 / デバッグするのは大変です。 python-lambda-local を使うとローカル環境で Lambda を実行出来、更に lambda-uploader を使うとローカル環境から簡単に Lambda へ関数をアップロードすることが出…

GCP 上で Route53 DNS 認証を使い lego で Let's Encrypt のワイルドカード証明書を取得する

lego を利用して Let's Encrypt の証明書を取得する手順については以前に下記のメモを書きました。 Cisco ASA 9.1 に Let's Encrypt なワイルドカード証明書を SSL-VPN 用にインポートする AmazonLinux2 で lego を使い Route53 認証でサーバ証明書を取得す…

Lambda 用の .zip ファイルを作成する場合は「zip -r .」を使う方がベター

AWS Lambda で (標準パッケージ以外の) 外部パッケージを利用したい場合は、Python のソースコードと依存するパッケージを .zip アーカイブにして、Lambda へアップロードする必要があります。 詳しくは AWS Lambda Deployment Package in Python に記載され…

AWS S3 にアップロードされたファイルをコピー/移動する Lambda 関数

AWS S3 でファイルがアップロードされた際に、自動的にコピー (または移動) する Lambda 関数をメモしておきます。 尚、権限は適切に設定されているものとします。

AWS EC2 東京リージョンで日本のアドレスが払い出される確率は 0.7%

AWS

AWS でサービス / 地域ごとに利用されるグローバルアドレスについては AWS IP アドレスの範囲 で公開されています。 こちらの情報を元に「東京リージョンの EC2 で日本のアドレスが払い出される確率」を計算したところ、本日時点で 0.7028419% のようです (…

.NET Core 3.1 / C# から AWS S3 Bucket を表示するサンプル

.NET Core 3.1 上の C# で AWS S3 Bucket を表示するサンプルを書いたのでメモしておきます。

S3 互換のオブジェクトストレージ「wasabi」を申し込んでみる

AWS S3 互換のオブジェクトストレージサービスである「wasabi」は 1TB 以下であれば 5.99 ドル/月と非常に安価です。 また、データ転送量や API 呼び出しは課金されません。 今回は wasabi へ新規に申し込みを行い、Bucket を作成するまでの手順をメモしてお…

Visual Studio 2019 の C# で AWS Lambda + API Gateway を書く

Visual Studio 2019 上で直接、AWS Lambda 開発を行うことが出来ます。 今回は Visual Studio 2019 上で AWS Lambda 開発を行い、更にそれを API Gateway で公開する手順をメモしておきます。

AWS LightSail で Windows Server 2016 を日本語化する

AWS LightSail で Windows Server 2016 インスタンスを作成し、日本語化するまでの手順をメモしておきます。

Python の boto3 から Amazon SES を使ってメール送信する

Python の boto3 を使って Amazon SES からメール送信するサンプルプログラムをメモしておきます。 SES のサンドボックスの解除など、SES を使う上で必要な設定は済んでいる前提です。

AWS S3 でライフサイクルポリシーを使い、古くなったファイルを自動削除する

AWS の S3 ではライフサイクルポリシー機能)を使うことで、古くなったファイルを自動的に削除したり、退避することが可能です。 今回は「作成から 1 日経過したファイルを削除する」ライフサイクルポリシーを設定する方法をメモします。 今回はテスト用に「2…

Python の boto3 でファイルを作らず、S3 上へオブジェクトを作成する

Python の boto3 から S3 へ「存在するファイルをアップロードする」サンプルはよく見かけるのですが、ファイルは生成せずに直接、オブジェクトをアップロードするサンプルは少ないように思えたので書いてみました。

Python の boto3 で S3 の操作を行うサンプル

Python から boto3 を使って S3 上のファイルを操作するサンプルを書いたのでメモしておきます。

Python の boto3 で EIP の操作を行うサンプル

Python から AWS を操作出来るライブラリには有名な boto3 があります。 boto3 から EIP を扱うサンプルは Using Elastic IP Addresses in Amazon EC2 にまとまっています。 ほぼこの内容そのままですが、簡単なサンプルを書いてみたのでメモしておきます。

Amazon Linux2 初期化用シェルスクリプト

AWS

しばしばテスト用の Amazon Linux2 を構築するのですが、自分なりの初期設定をスクリプト化してみました。「初期設定を手間なくすませる」方法は、他に以下が考えられると思います。 Ansible で初期設定用の Playbook を作成する 初期設定を済ませた AMI を…

AWS S3 で同じ名前の Bucket を再作成する場合は時間を空ける必要がある

AWS

Amazon S3 で Bucket を「意図しないリージョン」で作成してしまった際、やむを得ず、一旦 Bucket を削除して「意図したリージョン」で作成するケースがあるかも知れません。 但し同じ名前で S3 Bucket を再作成する場合、(リージョンの一致・不一致に関わら…

Amazon Transcribe のテキスト化精度を試す

AWS

現時点における Amazon Transcribe の「日本語ファイルのテキスト化精度」を確認すべく、ネット上にあった音声サンプルをテキスト化してみました。 尚、Custom vocabulary は未使用です。 今回、テスト結果を記載したものは「コンピュータによって合成された…

Amazon Transcribe で日本語音声ファイルをテキスト化してみる

AWS

Amazon Transcribe を使うと「音声ファイル → テキスト」へ変換することが出来ます。 この Transcribe が日本語対応したので試してみました。

AmazonLinux2 へ Zabbix Server 4.0.14 をインストールする

Amazon Linux2 に Zabbix 4.0 TLS をインストールする手順をメモしておきます。 公式サイトのダウンロードページから Zabbix をインストールしたい環境を選択すると、その環境に合わせたインストール手順もガイドされます。 基本的にはこのガイドの手順に従…

AmazonLinux2 に LDAP 認証の Squid をインストールする

今回は AmazonLinux2 上に LDAP 認証を行う Squid (プロキシ) のインストール方法をメモします。 LDAP は特定グループに所属するメンバーで認証します。

Amazon Linux2 でポート変換する

AWS の EC2 インスタンスは複数の ENI (≒ NIC) を割り当てたり、ひとつの ENI に複数のプライベートアドレスを割り当てることが可能です。 「何個割り当てられるか?」はインスタンスタイプによって異なり、大型のインスタンスである程、最大数も増えます。 …

Amazon Linux2 に pyenv をインストールする

Amazon Linux2 に pyenv 環境を構築する手順をメモしておきます。 pyenv 環境構築直後は amazon-linux-extras が実行出来ない為、回避策もメモしておきます。

Amazon Linux2 に Samba 4.11.1 + FreeRADIUS 3.0.13 + Keycloak 7.0.1 をインストールする

以前に Samba4 / FreeRADIUS3 / Keycloak6 の構築に関して、下記のメモを書きました。 AmazonLinux2 に最新の Samba4.10.5 をドメインコントローラとしてインストールする AmazonLinux2 に Samba4 と FreeRADIUS3 を同居させ、Samba でユーザを一元管理する …

Amazon Linux2 に Samba 4.11.1 をソースコードからインストールする

Samba 4.11.1 がリリースされていましたので、改めて Amazon Linux2 へ Samba 4.11.1 をソースコードからインストールする手順をメモしておきます。 Samba 4.11.0 では Python2 のサポートが無くなる等、幾つか大きな変更がありました。 Samba 4.11.0 → 4.11…

検証用 Amazon Linux2 初期設定メモ(2019/10/10 版)

検証用に Amazon Linux2 を作る際、自分なりに実施する初期設定をメモしておきます。 必ずしもセキュリティには十分な配慮をしておらず、あくまで「検証用途」の設定です。 1. 必ず実行しているもの 1-1. パッケージをアップデートする 1-2. 作業用ユーザを…

AWS 上に Samba4 + Keycloak6 + FreeRADIUS3 な認証サーバを構築する

以前に Samba4 / FreeRADIUS3 / Keycloak6 の構築に関して、下記のメモを書きました。 AmazonLinux2 に最新の Samba4.10.5 をドメインコントローラとしてインストールする AmazonLinux2 に Samba4 と FreeRADIUS3 を同居させ、Samba でユーザを一元管理する …