ダメ元エンジニアのお勉強おメモ

ほとんど自分用のメモです。AWS をよく触ります。Web アプリとか作ります。Raspberry Pi も好きです。

2022-01-01から1年間の記事一覧

NLB には SG を設定できないので、EC2 にアタッチする SG でアクセス制御を行う

概要 NLB(Amazon Elastic Load Balancing の Network Load Balancer) → EC2 という構成の場合の話。 NLBでは、SG(セキュリティグループ)を設定することはできない。ので、EC2 にアタッチする SG にてアクセス制御を行う必要がある。 ALB の場合だと、ALB…

AWS Lambda の呼び出しタイプを軽く整理する

概要 AWS Lambda を CLI 等で直接呼び出す機会ってそこまで無いため、呼び出しタイプをあまり意識してこなかった。ちょっと軽く整理しておこうと思う。 docs.aws.amazon.com dev.classmethod.jp qiita.com 種類 RequestResponse デフォルトの呼び出しタイプ…

AWS CLI v2 で Lambda を Invoke する場合は、ペイロードを base64 エンコードをしてから送信する必要がある

概要 dev.classmethod.jp 例としては下記のような感じ。 $ aws lambda invoke \ --function-name <FUNCTION_NAME> \ --payload $(echo '{ "foo": "bar" }' | base64) \ response.json</function_name>

curl でバイナリファイルを送る場合は、ファイルを --data-binary で指定することを忘れてはいけない

概要 curl でデータを送信する場合のオプションは複数存在する。 qiita.com バイナリファイルを送る際、ファイルを誤って--dataで指定すると、ファイルサイズが変わってテンパったのでメモを残しておく。

mTLS が設定されている API Gateway の前段に CloudFront を置くと双方の間でクライアント認証を通すことができない

概要 よくよく考えると当たる前のことな気がするけれど、せっかく試したのでメモる。 mTLS が設定されている API Gateway に対して、別のドメインでアクセスしたい場合、前段に CloudFront を置いて、CNAME を設定してあげれば良いんじゃないかなと思った。 …

カスタムドメイン設定済みの API Gateway に対して無理やり別ドメインでのアクセスを通す

前置き とある調査の副産物的な形で見つけた挙動。いつか役に立つかもしれないのでメモっておく。といっても、無理やり感が満載な上に、全く実用的で無いと思われる構成なので、その辺はご承知おきを。 調査内容 全く別のドメインを2つ取得済みだとして、「…

Heroku の API トークンはアカウントのメールアドレスを変更すると再生成される

経緯 2年ぶりくらいに Heroku にログインしようと思ったら、パスワードが分からず、、、仕方なくパスワードリセットで対処した。 すると、既存のアプリでエラーが発生するようになった。理由は、Heroku の API キーを使ってアクセスしている箇所で、レスポン…

S3 のイベント通知から Lambda を起動したり、SQS にメッセージを格納する際は、内部的なリトライにより重複が発生することがある

aws.amazon.com Amazon S3 は、組み込みのバックオフと再試行メカニズムを使用して、高い信頼性で通知を配信するように設計されています。まれに、再試行メカニズムによって同じオブジェクトイベントの通知が重複する場合があります。 なので、後ろで構えて…

AWS SDK で設定できるタイムアウトは二通り存在する

aws.amazon.com 接続タイムアウト:API コールが接続を確立できなかった ソケットタイムアウト:API コールの接続は成功したが、API レスポンスに時間がかかりすぎた 調べるとよく出てくるのは「 ソケットタイムアウト」の方なので、「接続タイムアウト」の…

冪等性担保しないとリトライ処理辛いよねって思ったのでメモ

冪等性を担保していない場合、リトライで複数回処理が動いちゃったら、複数の異なる結果が生成されちゃう。 設計する時に気をつけましょうという話。 frsyuki.hatenablog.com www.techscore.com 今日から始めるイベントドリブンアーキテクチャ https://d1.aw…

DynamoDB にアクセスする際はタイムアウトとリトライの設定を考慮した方が良いと思った

メモ API Gateway -> Lambda -> DynamoDB の構成で、時々タイムアウトが発生した。 調べると DynamoDB へアクセスした際にレスポンスが返らず、API Gateway のタイムアウト29秒に達したっぽい。 DynamoDB へアクセスする際のオプションとして、タイムアウト…