Node.js × OpenTelemetry 実践ガイド:本番運用で役立つ8つの工夫
Node.jsアプリケーションにOpenTelemetryを導入する際の実践的なノウハウを解説。二重初期化の防止、ノイズ除外、AWS X-Ray連携、ログとトレースの統合など、本番運用で役立つ8つの工夫を具体的なコード例とともに紹介します。
続きを読む34件の記事
Node.jsアプリケーションにOpenTelemetryを導入する際の実践的なノウハウを解説。二重初期化の防止、ノイズ除外、AWS X-Ray連携、ログとトレースの統合など、本番運用で役立つ8つの工夫を具体的なコード例とともに紹介します。
続きを読む
はじめに システム開発をしていると、異なる環境(dev,stg,prodなど)に対して、異なる設定値を持たせたいケースがあるかと思います。 本記事では、TypeScriptの力を活用して、各環境ごとの設定を効率的に管理する方法を紹介します。 実装方法の概要...
続きを読む
はじめに 本記事では、AWSのCodeBuildを使って、プルリクエストが作成された際にSnykを利用してOSSの脆弱性をスキャンする方法をご紹介します。 Snykは、開発者がソフトウェアのセキュリティ問題を特定し、修正するためのツールです。今回はAWS CDKを用いてCodeBuildを作成し、その中でSnyk...
続きを読む
はじめに AWS CDKを使用し、待機状態や並列タスクの実行、エラーハンドリングなどの機能を含むステートマシンを作成する方法を本記事で解説します。本記事では TypeScript を使用しています。 環境 本記事では以下のバージョンの AWS CDK を使用しています。 $ cdk version 2.80.0...
続きを読む
はじめに 本記事では、AWS CDK Cloud Development Kit を使用して AWS Lambda 関数と AWS Step Functions ステートマシンを作成します。AWS CDKは、クラウドリソースを定義するためのオープンソースのソフトウェア開発フレームワークで、本記事では...
続きを読む
はじめに EventBridge Schedulerは 2022年11月に発表されたサービスで、イベント駆動型のアプリケーションを簡単にスケジュールすることができるサービスです。この記事では、EventBridge Schedulerの概要や使い方を紹介していきます。 EventBridge Rules との違い...
続きを読む
はじめに CloudFront で独自のドメイン名を使用するためには、必要な ACM の作成や DNS レコードの追加を行う必要があります。 これを AWS CLI で実行するスクリプトを作成します。 独自ドメインでアクセスするためには作成した証明書を CloudFront...
続きを読む
前提 アプリケーションには Python を使用し、AWS へのアクセスは boto3 を使用します。 実際に動作させるファイルには以下を使用します。参考https://docs.aws.amazon.com/code-library/latest/ug/python_3_s3_code_examples.html...
続きを読む
はじめに 本記事では AWS CDK で環境ごとにパラメータを変えてデプロイを行う方法についてまとめます。 実際のPJでは開発環境と本番環境が存在し、各環境でリソースに設定する値が異なる場合がありますが、そういった場合に本記事で紹介する方法が役立つと思います。 手順 プロジェクトの作成はAWS Cloud...
続きを読む
はじめに LocalStackhttps://docs.localstack.cloud/overview/ とは AWS のサービスを擬似的に使用できるモックフレームワークです。 Docker...
続きを読む
はじめに 本記事では MinIO を使用してローカルに S3 環境を構築します。MinIOhttps://min.io/ とは S3 互換性があるオブジェクトストレージです。 Docker イメージhttps://hub.docker.com/r/minio/minio/も公開されており、手軽に S3...
続きを読む
はじめに 本記事ではローカル環境でStep Functions のテストを行う方法として、 AWS が提供する aws-stepfunctions-localhttps://hub.docker.com/r/amazon/aws-stepfunctions-local を使用する方法を記載します。 手順...
続きを読む
はじめに CloudFormation テンプレートは YAML、JSON 2種類での記述が可能です。 YAMLで記述する場合も、一部 JSON をそのまま記載することができ、例えば IAM ポリシーについては既存の JSON 定義をそのまま利用できるため JSON で記述した方が簡単です。...
続きを読む
はじめに AWS CLI で S3 を操作する場合は主に s3 コマンドと s3api コマンドの二つの方法があります。s3control コマンドもありますが、これは主にアカウント単位での設定に使用されます s3api コマンドは S3 API への直接的なアクセスが可能で、高レベルの s3...
続きを読む
はじめに Step Functions は実行時に入力する JSON の値に応じて、処理を分岐させることができます。 しかし分岐の条件に使用する変数が JSON に含まれないとエラーが発生します。 本記事では、分岐の条件に使用する変数が JSON に含まれない時のデフォルトの動作を設定する方法についてまとめます。 ...
続きを読む
はじめに Step Functions 内の処理でエラーが発生したときに、特定の処理を行わせたいことがあると思います。 その際の取りうるパターンを整理します。 対象者 この記事は下記のような人を対象にしています。 - Step Functions 内の処理でエラーが発生した時に、特定の処理を行わせたい人 -...
続きを読む
はじめに 前回の記事では、複数の外部 SQL ファイルを読み込んで、結果を CSV で出力する方法をまとめました。 本記事はその続きで、実行結果を S3 に保存する方法をまとめる方法と、実行する SQL を S3 から読み込む方法をまとめます。 https://poota.net/archives/709 対象者...
続きを読む
はじめに 前回の記事で Kinesis Data Streams を使用する際の勘所をまとめました。その続編として本記事では、Kinesis Client Library (KCL)...
続きを読む
はじめに Kinesis Data Streams をがっつり扱う機会があったので、Kinesis Data Streams を使用する際の勘所を備忘録としてまとめます。...
続きを読む
はじめに 以前の記事で、LINE、AWS、Notion API を利用して、英単語を検索して意味をノートにメモする作業を自動化しました。これを利用して登録した単語を復習するために、Vue.js を使用したアプリケーションを作成したので、その手順についてまとめます。 以前の記事はこちら...
続きを読む
はじめに AWS Cloud9 で Vite を用いた Vue 3の開発環境の構築を行ったので、その手順をまとめます。 Vite は Vue.js を開発者である Evan 氏が開発しているノーバンドルのビルドツールです。Vue.js に限らず React...
続きを読む
はじめに 以前の記事で、Python と Notion API を利用して、英単語を検索して意味をノートにメモする作業を自動化しました。これをより利用しやすくするために、LINE から登録が行えるようにしたので、その手順についてまとめます。 前回の記事はこちら...
続きを読む
はじめに Git を用いて開発する中で、git tag でコミットにタグを付与することがあると思います。本記事では、Git のコミットに付与したタグを Docker イメージにも付与することでコードと Docker イメージの関連性が分かるように、AWS CodeBuild を構築したいと思います。 対象者...
続きを読む
Introduction In this article, I will use Former2https://former2.com to create AWS CloudFormation templates for existing AWS resources. Former2 is available as...
続きを読む
はじめに 本記事では CodeCommit、CodeBuild、CodePipeline を使用した CI/CD パイプラインの構築を行います。 なお、今回テンプレートの作成及びデプロイには rainhttps://github.com/aws-cloudformation/rain を使用しました。 rain...
続きを読む
はじめに 以前の記事で pytest を AWS CodeBuild に組み込み、テストレポートから何件テストを実施し何件成功したかなどが分かりました。これ以外にテストを行う場面ではコードカバレッジを確認したいという要件もあるかと思います。 CodeBuild...
続きを読む
はじめに 前回、pytest の使用方法についてまとめました。今回は pytest を AWS CodeBuild に組み込んで自動テストを行う方法について解説します。 前回の記事はこちらhttps://poota.net/archives/444 https://poota.net/archives/444 環境...
続きを読む
はじめに Lambda 関数内の処理において外部のライブラリを使用する方法として、以下の2つの方法があります。 - デプロイパッケージの中に実行ファイルとライブラリを含める - Lambda レイヤーを利用する 今回は、2つ目のLambda レイヤーを利用したいと思います。この Lambda...
続きを読む
はじめに 既存の AWS リソースをを AWS CloudFormation以降Cfnテンプレート化する際に Former2https://former2.com を使ってみました。 Former2 は Web アプリとして公開されていて、ブラウザ経由で利用することも可能ですが、利用には Cfn...
続きを読む
はじめに 以前こちらの記事にて、セキュリティ強化のためリクエストの検証を行いました。これにより LINE のサーバー以外からの API コールでは Lambda の処理がエラー終了するようになりました。しかし依然として API Gateway へのリクエストは無制限に可能であるため、DDoS 攻撃を受けると API...
続きを読む
はじめに AWS を使用して LINE Bot を作成していましたが、API Gateway のエンドポイントを無防備にインターネットに公開していると誰でも API を叩けてしまいます。そこでセキュリティを強化するため、LINE のサーバー以外からのアクセスを拒否するように...
続きを読む
はじめに Cloud9 で Vue CLI v5 を用いてVue 3の環境構築をしている中で、少しはまったので備忘録として残しておきます。 以下が今回の環境です。※Vue CLIは後ほど説明する手順の中でインストールします。 $ node --version v16.14.0 $ vue --version...
続きを読む
やりたかったこと CodeCommit→CodeBuildといったCI/CDパイプラインをCodePipelineを用いて構築していました。 コミットに対するGitタグを、CodeBuild内でビルドしたDockerイメージのタグとして利用しようとしていました。 事象...
続きを読む
やりたいこと 以下構成図に示されるネットワークを作成する。 !qiita0211_2_route.pnghttps://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/684883/ded6858b-7f3e-045f-b179-d5ef786db9f4.png...
続きを読む