のべラボ.blog

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

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 のページに記載されていますが、まず推…

モダンなJavaScriptのお勉強:テンプレート文字列編

今回は、テンプレート文字列を試してみます。 ES2015から、テンプレート文字列を使用して、文字列を構成できるようになっています。 例えば文字列を連結する場合、従来は次のような方法で行っていました。 const firstName = "のべ"; const lastName = "てつ…

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

この記事に記載されている方法は、minikube 1.26 以降のバージョンでは適用できませんのでご注意ください。 詳細は、下記の v1.26.0 のリリース情報をご参照ください。 Releases · kubernetes/minikube · GitHub こちら minikube start の内容を参考に実施し…

モダンなJavaScriptのお勉強:分割代入編

今回は、分割代入 についてまとめます。 代入とは、変数への値を設定することです。 例えば、JavaScript で次のようなオブジェクトがあるとします。 const customer = { id: 1, name: "のべ", email: "xxx@nobelabo.net" }; この customer オブジェクトから …

モダンなJavaScriptのお勉強:変数宣言編

これまでは、普通に var を使って変数宣言していましたが、ECMAScript 2015 で追加された let や const を使って、その違いを確認してみます。 var の場合 例えば、次のような宣言をしてみます。 var message = "Hello"; この変数 message は、値の変更がで…

AWS Certified Database - Specialty (DBS-C01) のお勉強:RDSのまとめ

AWS Certified Database - Specialty (DBS-C01) 試験を受ける予定。勉強したことのまとめを書いていきます。なお、私個人のメモなので、基礎から体系的に整理しているわけではないのは、ご容赦ください! 今回は、RDSについてのメモです。 RDS AWSのリレーシ…

AWS CodeBuild と AWS CodePipelineのソース

CodeBuildでビルドプロジェクトXを作成する。このビルドプロジェクトは、CodeCommitのAというリポジトリからソースを取り出してビルド処理を行うものとする。 次に、CodePipelineでパイプラインYを作成する。このパイプラインは、ソースステージでS3のBとい…

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