のべラボ.blog

Tech Blog | AWS や サーバーレスやコンテナ などなど

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

AWS Cloud9 の デバッグ機能をさわってみる

今回は AWS Cloud9 のデバッグ機能の基本的な使い方をまとめたいと思います。 AWS Cloud9は、ブラウザのみでコードを記述、実行、デバッグできる統合開発環境 (IDE) です。 aws.amazon.com Cloud9 には、あらかじめ AWS CLI や AWS SAM、AWS CDK などの 主要…

AWS Step Functions の Distributed Map ステートを試してみる

これまで、AWS Step Functions の Map ステートを試してみる記事を 2 つ(下記)書いてきました。 nobelabo.hatenablog.com nobelabo.hatenablog.com 今回は、その続きとして 2022 年 12 月にアナウンスされた Distributed Map を試してみます。 aws.amazon.…

AWS Lambda の Provisioned Concurrency を設定した後、利用可能になるまでの状況を確認してみる

本記事は「AWS LambdaとServerless Advent Calendar 2022」11日目の記事です。 AWS Lambda では、「プロビジョニングされた同時実行数」を設定することができます。本記事においては便宜上、この設定を Provisioned Concurrency と呼称します。 この Provisi…

AWS Lambda の同時実行数に関連する設定の整理

今回は、AWS Lambda の同時実行数に関連する各設定の整理をしていきます。 まず、AWS Lambda には サービスの制限値として、その AWS アカウントで同時に実行環境を作成できる数がリージョン毎に決められています。 これは、AWS Service Quotas で Concurren…

AWS X-Ray における Amazon SQS × AWS Lambda の新しいトレースリンクの機能を試してみる

今回は、最近発表されたAWS X-Ray の次の新機能を試してみます。 aws.amazon.com 従来までどうだったか、この新機能により何ができるようになったか、というのを簡単に図にまとめてみました。 Amazon SQS にメッセージが送信され、その後 AWS Lambda 関数に…

Amazon SNS の ペイロードベースのメッセージフィルタリングを試してみる

従来、Amazon SNS のサブスクリプションでは、メッセージの属性値ベースのフィルタリングは可能だったんですが、最近の Update でメッセージ本文、つまり『ペイロード』ベースのフィルタリングも可能になりました。 aws.amazon.com 下記の AWS ブログでは、A…

Amazon EventBridge で新たに追加されたフィルターの機能を試してみる

Amazon EventBridge のルールで指定できるフィルター機能が拡張され、下記の評価方法が利用できるようになりました。 suffix filter (拡張子を指定したフィルター) equals-ignore-case (大文字小文字を区別しないマッチング) OR matching (複数のフィール…

AWS Step Functions の Map ステートに動的に生成した配列を渡してみる

前回の記事で AWS Step Functions の Map ステートの基本的な使い方を試してみました。 nobelabo.hatenablog.com 前回は、ステートマシン実行時のパラメータに配列を手入力して、その配列を Map ステートにそのまま渡していましたが、今回はステートマシンの…

AWS Step Functions の Map ステートを触ってみる

AWS Step Functions Map ステートで色々試したいことがあるのですが、その事前準備として今回は Map ステートの基本的な機能を確認してみます。 Map は、配列の要素数に応じて同じ処理を並列に実行してくれるステートです。 docs.aws.amazon.com 例えば Map …

AWS Parameters and Secrets Lambda Extension を試してみる

前回のブログ記事で、AWS Parameters and Secrets Lambda Extension のドキュメントの記載の注意点について説明しましたが、今回は AWS CLI を主体としてシンプルに試す手順を説明します。 なお、この記事の内容は 2022年 10月 23日時点のものになります。 …

AWS Parameters and Secrets Lambda Extension のドキュメントの記載に注意

AWS Parameters and Secrets Lambda Extension を触ってみたところ、ドキュメントで混乱を招く記載があったので、その点を記載していきます。 なお、この記事の内容は 2022年 10月 23日時点のものになります。 aws.amazon.com AWS Parameters and Secrets La…

AWS SAM connectors を試してみた

前回と同じく、今回も AWS SAM ネタです。 下記の AWS ブログの記事を読んだので、 AWS SAM connectors を試してみたいと思います。 aws.amazon.com AWS SAM connectors は、AWS SAM テンプレートで指定するリソースタイプの一種で、サーバーレスアプリケー…

AWS SAM で 初期化時に AWS X-Ray のトレースの有効化を指定できるようになった

AWS SAM の CLI では、sam init というコマンドで SAM で使用するリソースを対話形式で指定して取得できますが、その対話の中に AWS Lambda と Amazon API Gateway に対して AWS X-Ray のトレース取得が指定できるようになったようです。 また sam init 時に…

Amazon EKS にて Ingress で SSL を有効化してみる

Amazon EKS クラスターでは、AWS Load Balancer Controller を導入すると Ingress オブジェクトを作成時に、ELB のロードバランサーを作成できます。 今回は、IngressからSSL を有効化したELB ( Application Load Balancer ) を作成する手順をまとめてみます…

AWS での分散負荷テスト ソリューションを試してみた

AWS ソリューションライブラリの一つである「AWS での分散負荷テスト」ソリューションを試してみました。 aws.amazon.com このソリューションは、Amazon ECS の Fargateのタスクをクライアントとして任意のWebのエンドポイントに負荷テストを実施できるよう…

Amazon EKS で Pod から AWS Secrets Manager のシークレットを取得する

今回は、AWS Secrets Manager で管理しているシークレットの情報を Amazon EKS の Pod から取得させてみます。 これを実現するために、AWS Secrets and Config Provider (ASCP) を使用します。 下図がそのイメージです。 ASCP については、次の AWS ブログの…

Amazon EKS で Amazon EFS CSI ドライバー を使ってみる

今回は、Amazon EKS で Amazon EFS CSI ドライバー を使って、Podから EFSボリュームにアクセスしてみます。 手順としては前回の「Amazon EKS で Amazon EBS CSI ドライバー を使ってみる 」の記事の内容と似ているところが多いので、今回の記事も内容や構成…

Amazon EKS で Amazon EBS CSI ドライバー を使ってみる

今回は、Amazon EKS で Amazon EBS CSI ドライバー を使って、Podから EBSボリュームにアクセスしてみます。 ここに記述している内容は、2022 年 9 月1 日時点で動作を確認しています。 また、対象にしている Kubernetes のバージョンは 1.23 です。 今後の …

eksctl で Kubernetes 1.23 の Amazon EKS クラスターを作成する

2022年8月11日に、Amazon Elastic Kubernetes Service ( Amazon EKS ) で Kubernetes のバージョン 1.23 がサポートされました。 aws.amazon.com そこで、早速 バージョン 1.23 の EKS クラスターを作成しようと思ったのですが、その時点ではまだ eksctl が…

AWS SAM における Lambda 関数のエイリアスとバージョンの重みづけについて

以前から、AWS SAM を使用して AWS Lambda 関数のエイリアスとバージョンの重みづけを設定したいなーと思ってました。 ただ、結論から言うと、AWS SAM 仕様では重みづけの設定する方法は無く、AWS CloudFormation のプロパティとして設定する必要があること…

AWS SAM Accelerate と POSTMAN を使って AWS Lambda の Function URLs を手早く試す

AWS Lambda の Function URLs で、Auth タイプに AWS_IAM を指定した場合のアクセスを試そうと考えていたところ、AWS SAM Accelerate と POSTMAN を使えば、手早く試せるのではと思い立ったので、やってみました。 AWS Lambda の Function URLs については、…

AWS CloudFormation でスタック作成時 Rate exceeded が出て困った話

先日、Cloud9 の環境を複数作成する必要があったので、AWS CloudFormation のテンプレートを作成してスタックを作成しました。 次のテンプレートはあくまで抜粋ですが、実際使ったテンプレートでは 13 個もの AWS Cloud9 の環境を作成しました。 Cloud901: T…

AWS SAM を使用するための IAM ポリシー

AWS SAM (Serverless Application Model) を使用すると、AWS Lambda などを使用したサーバーレスアプリケーションのテストやデプロイで、様々な便利な機能を使用できます。 aws.amazon.com 今回は、この AWS SAM を使用するために必要な IAM ポリシーについ…

Amazon Linux 2 に rbac-lookup をインストールする

Amazon Linux 2 に rbac-lookup をインストールする時に、やや試行錯誤が必要だったので正しくインストールする手順をメモしておきます。 rbac-lookupは、Kubernetes 環境の ロールやクラスターロールとバインドしているユーザーやサービスアカウントの情報…

AWS Step Functions から Amazon ECS のタスクを実行する

今回は、AWS Step Functions で Amazon ECS のタスクを実行するシンプルなステートマシンを作成していきます。 すでに Fargate で動作可能な ECS クラスターや ECS タスク定義、 ECS タスク実行ロール、VPCのサブネットやセキュリティグループは用意している…

AWS Lambda関数の Init フェーズのタイムアウト

今回は、AWS Lambda関数の Init フェーズでタイムアウトが発生した場合の動作を検証してみます。 AWS Lambda関数の実行環境のライフサイクルについては、次のドキュメントで説明されています。 docs.aws.amazon.com このドキュメントにもあるように、Lambda…

モダンなJavaScriptのお勉強:アロー関数編

ひさびさに モダンな JavaScript のお勉強ネタを書きます。 今回は、アロー関数について勉強しています。 アロー関数は、ES2015から追加された関数の記述方法の一つです。 まず、従来の関数の記述方法をおさらいしておきましょう。 次のように、function の…

AWS Step Functions と Amazon EKS の連携でハマったこと

AWS Step Functions のステートマシンから Amazon EKS クラスターで Job を実行しようとしたときにハマったことをメモしておきます。 最初は、次の AWS Blog の記事がキッカケでした。 AWS Step FunctionsとAmazon EKSの統合のご紹介 この記事では、AWS Step…

AWS CloudFormation の組込み関数 Ref と Sub について

仕事柄、様々な AWS CloudFormation テンプレートを参照することがありますが、あるテンプレートを見ていた時、ふと、「あれ?ここで使っているは 組込み関数は Subでなくて Refでもいいんじゃない?」と気づくことがありました。 その時の経験から、組込み…

Amazon Linux 2 に microk8s をインストールする方法

先日、Amazon Linux 2 に minikube をインストールする方法という記事を書きましたが、今回は microk8s をインストールする方法をまとめていきます。 インストール手順は、 Canonical 社の microk8s の Getting Start のページに記載されていますが、まず推…

/* -----codeの行番号----- */