投稿

ラベル(AmazonLinux)が付いた投稿を表示しています

AWSでservelessでSTNSのバックエンドを作ってみる

 Linuxで認証統合をしたいなぁってことで stns を調べて、 サーバを構築して確認して ましたがなんかEC2を立てるのが嫌なので Serveless構成 で行けないかなということで色々と試行錯誤やAIの力を借りまくってやっと思った通りのやつができたのでさらしときます。 ほんとは APIGateway のみで完結したかったんですが、stnsのクライアントが APIキー に対応していなかったらしく仕方なくT oken認証の箇所はLambda を使用せざるを得ませんでした。まぁ、先人が色々とされているのでいまさらですが、バックエンドは長く使えるように CloudFormation で構築するようにしました。 ◆作ったもの https://github.com/Otazoman/stns-backend-api ◆参考サイト ・stnsのserveless https://zenn.dev/sogaoh/articles/21-12-25-af3793dc2fcd0a https://iret.media/23633 https://www.m3tech.blog/entry/aws-private-stns-api https://qiita.com/miyaz/items/a0cf2f8f8acfe740ebf6 ・パラメータストア https://qiita.com/okubot55/items/e5d81216d730eb2619cc https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/dynamic-references-ssm-secure-strings.html https://www.yokoyan.net/entry/2021/10/26/131000 https://qiita.com/tnagashima0310/items/988042ad75a77fa3ca18 https://dev.classmethod.jp/articles/aws-systems-manager-parameter-store-use-cloudformation/ https://dev.classmethod.jp/articles/aws-cloudformatio...

EC2からS3をマウントしてみる

  AWSでEC2使ってS3をマウント したいとかいう要望がったので調査がてら検証する過程で3つのマウント方法を試してみた。ついでにSambaでアクセス制御もやってみた。 MountPoint for S3 goofys s3fs MountPointの方は新規と削除しかできないのでファイルサーバ的な用途ではやや厳しく、ログファイルを新規書込みするケースのみにしか使えなさそうで、goofysとs3fsを比較すると新規作成の場合はs3fsだと作成済ファイル表示までに時間がかかってgoofysの方はすぐに作成済ファイルが表示された。ローカルからのコピーだといずれも体感差はない感じ。 AmazonLinux2023の場合MountPointとs3fsはEC2にIAMロールアタッチで使えたもののgoofysではcredentialsを登録してあげないと動かない。UbuntuではいずれもIAMロールアタッチで対応できた。なのでAmazonLinuxでEC2にIAMロールアタッチでsamba使ってS3をマウントするという要件だと今のところs3fsしかないかなという感じでした。 コマンドラインからSamba叩くのは嫌だとか言う人もいるだろうから Webmin 試してみました。rootユーザにパスワード設定しないといけないのでそこだけ注意ですかね。ひとまずお手軽にSambaユーザ追加できました。 次やる機会があるのかわかりませんが、ひとまずShellスクリプトにして再利用できるようにしときました。けどAmazonの推奨パターンは、こういうケースだとEC2+ EFS か AmazonFSx と組み合わせて使うようですね。 ◆Shell本体 #!/bin/sh ACCESS_KEY_ID=AKIXXXXXXXXX ACCOUNT_ACCESS_KEY_ID=XXXXXXXX ACCOUNT_REGION_ID=ap-northeast-1 ACCOUNT_OUTPUT=json S3_BUCKET_MP_PUBLIC=test-mountpoint-samba S3_BUCKET_S3FS=test-s3fs-samba S3_BUCKET_GFYS=test-goofys-samba MOUNT_DIR_MPS3=/mnt/test-mountpoint-s3 MOUNT_D...