概要 NLB(Amazon Elastic Load Balancing の Network Load Balancer) → EC2 という構成の場合の話。 NLBでは、SG(セキュリティグループ)を設定することはできない。ので、EC2 にアタッチする SG にてアクセス制御を行う必要がある。 ALB の場合だと、ALB…
概要 AWS Lambda を CLI 等で直接呼び出す機会ってそこまで無いため、呼び出しタイプをあまり意識してこなかった。ちょっと軽く整理しておこうと思う。 docs.aws.amazon.com dev.classmethod.jp qiita.com 種類 RequestResponse デフォルトの呼び出しタイプ…
概要 dev.classmethod.jp 例としては下記のような感じ。 $ aws lambda invoke \ --function-name <FUNCTION_NAME> \ --payload $(echo '{ "foo": "bar" }' | base64) \ response.json</function_name>
概要 curl でデータを送信する場合のオプションは複数存在する。 qiita.com バイナリファイルを送る際、ファイルを誤って--dataで指定すると、ファイルサイズが変わってテンパったのでメモを残しておく。
概要 よくよく考えると当たる前のことな気がするけれど、せっかく試したのでメモる。 mTLS が設定されている API Gateway に対して、別のドメインでアクセスしたい場合、前段に CloudFront を置いて、CNAME を設定してあげれば良いんじゃないかなと思った。 …
前置き とある調査の副産物的な形で見つけた挙動。いつか役に立つかもしれないのでメモっておく。といっても、無理やり感が満載な上に、全く実用的で無いと思われる構成なので、その辺はご承知おきを。 調査内容 全く別のドメインを2つ取得済みだとして、「…
経緯 2年ぶりくらいに Heroku にログインしようと思ったら、パスワードが分からず、、、仕方なくパスワードリセットで対処した。 すると、既存のアプリでエラーが発生するようになった。理由は、Heroku の API キーを使ってアクセスしている箇所で、レスポン…
aws.amazon.com Amazon S3 は、組み込みのバックオフと再試行メカニズムを使用して、高い信頼性で通知を配信するように設計されています。まれに、再試行メカニズムによって同じオブジェクトイベントの通知が重複する場合があります。 なので、後ろで構えて…
aws.amazon.com 接続タイムアウト:API コールが接続を確立できなかった ソケットタイムアウト:API コールの接続は成功したが、API レスポンスに時間がかかりすぎた 調べるとよく出てくるのは「 ソケットタイムアウト」の方なので、「接続タイムアウト」の…
冪等性を担保していない場合、リトライで複数回処理が動いちゃったら、複数の異なる結果が生成されちゃう。 設計する時に気をつけましょうという話。 frsyuki.hatenablog.com www.techscore.com 今日から始めるイベントドリブンアーキテクチャ https://d1.aw…
メモ API Gateway -> Lambda -> DynamoDB の構成で、時々タイムアウトが発生した。 調べると DynamoDB へアクセスした際にレスポンスが返らず、API Gateway のタイムアウト29秒に達したっぽい。 DynamoDB へアクセスする際のオプションとして、タイムアウト…
メモ スタックにサービスロールを関連付けると、例えば Admin 権限を持った IAM ユーザーの認証情報を使ってデプロイしようとしても、サービスロールの権限が適用される。 そして、スタックに関連付けたサービスロールはデタッチすることができない。スタッ…
メモ AWS CodePipeline で CloudFormation のスタックを更新しようとした際に気づいた。スタックの更新に失敗してロールバックが走る際、一旦作成したリソースを削除しにかかるのだが、Service role で削除用のポリシーが付与されていないと削除ができずロー…
概要 AWS SSO でマネコンにはログインができた。んじゃあ、ローカルから AWS CLI を叩く時の認証ってどうすればいいの? 解決 ここに書いてある。 aws.amazon.com ユーザー ポータル画面から AWS Account → アカウント選択 → Command line or programmatic a…
概要 Android アプリ開発初心者のメモ。 下記のようなリポジトリが既に存在していた場合どうやって Android プロジェクトを作成してあげればよいのか、わからなかったので。 手順 Save location を作業用のディレクトリに変更してあげるだけの簡単なお仕事で…
概要 加算処理を行うとき毎回調べるのでメモる。 コード TypeScript だとこんな感じ。 import * as DynamoDB from 'aws-sdk/clients/dynamodb'; const DYNAMODB_API_VERSION = '2012-10-08'; const REGION = 'ap-northeast-1'; const TABLE_NAME = 'sample-t…
概要 DynamoDB で delete-item した際、削除対象のデータが存在しなかったとしてもエラーは発生しない。AWS CLI がその挙動なので、恐らくどの言語でも同じだと思う。 % aws dynamodb delete-item \ --table-name sample-table \ --key '{"pk": {"S": "sampl…
sam deploy すると I/O stream type expected というエラーが出てハマりました。 環境 % sw_vers ProductName: Mac OS X ProductVersion: 10.15.7 BuildVersion: 19H2 % aws --version aws-cli/2.0.28 Python/3.7.4 Darwin/19.6.0 botocore/2.0.0dev32 % bre…
概要 TypeScript + Jest で画像を単純に import するのが割と難しかったのでメモっておく。 import を通す 普通に画像を import すると VSCode さんに怒られる。 型定義ファイルが必要みたいなので、下記ファイルを作る。 declare module '*.jpg'; declare m…
結論 Material-UI のコンポーネントであれば、下記で指定ができるそう。 <Box color="primary.main">primary.main</Box> material-ui.com HTML の要素に適用する場合は、下記で指定ができるそう。 const useStyles = makeStyles((theme) => ({ errorText: { color: theme.palette.error.main,…
結論 こんな感じ。 "error": { "message": "User account already exists", "code": "UsernameExistsException", ... } "error": { "message": "An account with the email already exists.", "code": "UsernameExistsException", ... } メールアドレスの重…
結論 AdminCreateUser の引数に下記を指定することで、パスワード通知メールが送信されなくなる。 DesiredDeliveryMediums: [], MessageAction: "SUPPRESS" SUPPRESS は抑制を意味する。 参考 stackoverflow.com
解決方法 「ajv@^7.0.0が「email」形式のJSONスキーマのコンパイルに失敗するぜ」という Issue があり、 github.com 「フォーマットはajv-formatsパッケージに含まれているぜ」という返答がある。 これだ。 github.com こうすればエラーが発生しなくなる。…
環境 % aws --version aws-cli/2.0.28 Python/3.7.4 Darwin/19.6.0 botocore/2.0.0dev3 % node --version v14.7.0 % yarn --version 1.22.10 % yarn list --depth=0 | grep aws-sdk ├─ aws-sdk@2.934.0 準備 下記の Shell Script で特定のユーザープールに20…
内容 listUsers ではグループの情報が一切取得できない。代わりに listGroups でグループ名を取得してから listUsersInGroup でグループごとにユーザーのリストを取得 & 良い感じに結合するしかなさそう。 下記を参考にして、 stackoverflow.com TypeScript …
原因 これを追加すればOK。 <link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons" /> README をちゃんと読みましょう、俺。 github.com</link>
環境 % create-react-app --version 4.0.3 ミスった こっちじゃなく、 % create-react-app frontend --typescript こっちだ。 % create-react-app frontend --template typescript 過去のメモ通りコマンドを実行したら、TypeScript が適用されなかった。 過…
結論 いや、検証コードの通知飛ばさなくて良いんですけどって時は下記のような形でコマンドを叩けばおk。 % aws cognito-idp admin-update-user-attributes \ --user-pool-id ap-northeast-1_xxxxxx \ --username yamada.taro \ --user-attributes Name=emai…
結論 タイトルのまま。Lambda のテストイベントでテンプレートを作成 & 保存しても、それはアカウント全体で共有できるわけではないみたい。 だから、CDK とかでテストイベントのテンプレートを作成できないのか。なるほど。 業務上、Lambda でツールっぽい…
追記 自作するのではなく、下記のライブラリを使う方が良さそう。 github.com import { Parser } from 'json2csv'; const parser = new Parser({ fields: ['userId', 'username', 'age'], withBOM: true, }); console.log(parser.parse({ ... })); BOM 有無…