- 1. AWS CodePipelineを用いてLamdba関数を更新するCI/CDの実装
- 2. 5xx台のStatusCodeを返すApplication Load BalancerのバックエンドをLambdaで作る
- 3. middyを使ってDiscord BotのInteractionsの制御処理とメインロジックを分離する!
- 4. Lambda Layersを使用して共通ライブラリを作成してみた
- 5. 【AWS Lambda関数作成】APIGatewayの作成手順(状態維持API編)
- 6. Amazon Bedrockで画像生成&S3保存するPythonコードを書く
- 7. 多数のEC2上で動作するアプリケーションの構成情報をAPIで取得できる様にした話 (boto3を使ったS3ファイルの並列ダウンロード)
- 8. 【AWS Lambda関数作成】APIGatewayの作成手順(発火API編)
- 9. EC2とDiscordコマンドを活用したマイクラ鯖構築
- 10. 【AWS】APIGatewayでLambda関数を呼び出す設定手順【APIGateway】
- 11. Agents for Amazon Bedrock のプロンプトを追いかけてみる
- 12. 【AWS Lambda関数作成】IAMでの権限設定
- 13. たった10分で始める!AWS における最速のアプリ開発方法
- 14. GBFSのデータを使って、新しくできたシェアモビリティのステーション情報をXに自動ポストするよ。
- 15. 【AWS Lambda関数作成】Lambda関数の開発とデバッグ
- 16. AWS Lambdaの超基本的なTips
- 17. Python3.11 x Flaskで開発環境を構築する。
- 18. AWS_Lambdaを用いた集計_前編
- 19. 【AWS Lambda関数作成】Python(local環境)の開発
- 20. TerraformでAWSサービスの情報をコード化する方法
AWS CodePipelineを用いてLamdba関数を更新するCI/CDの実装
## はじめに
本記事は[PERSOL PROCESS & TECHNOLOGY Advent Calendar 2023](https://qiita.com/advent-calendar/2023/ppt)の記事です。
前記事([公式LINEアカウントへのログイン処理をAWS Lambda経由で実装してみた](https://qiita.com/inacyc_k/items/8337489e3e148db1f9e5))を実装する開発環境にて、自動でLambda関数を更新するCI/CD環境を作成してみました。開発フェーズを素早く実施するための環境整備のお話になります。とっても簡単便利なのでぜひ。## 構成図
各AWSサービスの役割は以下になります。
・Amazon ECR
→DockerImageレポジトリ
5xx台のStatusCodeを返すApplication Load BalancerのバックエンドをLambdaで作る
:::note info
この記事は[AWS Community Builders Advent Calendar 2023](https://qiita.com/advent-calendar/2023/aws-community-builders)、の13日目の記事をあとから埋めています。
:::
NTTテクノクロス株式会社の渡邉 洋平です。コミュニティ活動ではwatany名義で活動することも多いです。
AWS Community BuilderのCloud Operationsとして2022年から選出されておりますが、専門分野詐欺になっているのが最近の悩みです。
## 発端
旧TwitterことX(以下Twitter)でこういった書き込みがありました。
ALBのヘルスチェックには合格するけど、5xxエラーを返すWebサーバーを意図的に作る方法を考え中…
試しにCPUとメモリ負荷を上げてみたが、ALBのATWは異常検知しなかったな🤔https://t.co/JXxaBgi9Fw
— はたはた (@hatake_book) December 17, 2023
Twitterリンク参照できない場合の引用
> ALBのヘルスチェックには合格するけど、5xxエラーを返すWebサーバーを意図
middyを使ってDiscord BotのInteractionsの制御処理とメインロジックを分離する!
## 🛠️作るもの
– AWS LambdaでDiscordのボットのスラッシュコマンド(Application Commands)をWebhookで受け取り、処理を行うサーバレスアプリケーション
– TypeScriptとAWS CDKを用いて実装
– **`middy`を使って、後述するDiscord特有の処理とビジネスロジックを分けて簡潔に書く**:::note
– **middyを使ってDiscord APIのInteractionsを制御する部分**の説明がメインなので、それ以外の部分は端折って書いています
– CDKの使い方やDiscordのApplicationの作り方については記載していません
:::ディレクトリ構成などの詳細は、この記事の検証用に実装した以下のリポジトリを確認してください。
https://github.com/Ry0xi/discord-interactions-middlewares
## ℹ️Discord APIのInteractionsとは
Discordボットのスラッシュコマンド(`Application Commands`
Lambda Layersを使用して共通ライブラリを作成してみた
## はじめに
この記事は、[ミロゴス Advent Calendar 2023](https://qiita.com/advent-calendar/2023/milogos) 18日目の投稿です。
AWS Lambdaは、サーバーレスコンピューティングを実現するための重要なコンポーネントです。
この記事では、Pythonを使用してAWS Cloud Development Kit (CDK) を活用し、Lambda Layerを作成し、Lambda関数から共通処理を呼び出す方法を簡単に紹介します。## Lambda Layersとは
Lambda Layersは、AWS Lambdaで提供されている機能の一つです。
共通のコードやリソースを複数のLambda関数で共有し、アプリケーションの効率性と保守性を向上させるための有用なツールです。
特に、多くのLambda関数で同じコードやライブラリを使用する場合や、コードサイズの制約に直面する場合に役立ちます。https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/chapter-l
【AWS Lambda関数作成】APIGatewayの作成手順(状態維持API編)
## はじめに
【AWS Lambda関数作成】APIGatewayの作成手順に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇
## 🦁**結論**🦁:::note info
押さえておくべき点
* AWSではAPI Gatewayは必須ツール。
* API Gatewayは「情報の出し入れの管理」「セキュリティ」「様々なデバイスに対応」「データの変換」などを行うことができる。
* CORS(Cross-Origin Resource Sharing)は、ウェブブラウザーのセキュリティポリシーの一部で、異なるウェブサイト(オリジン)間でデータを共有するためのルールや仕組み。
* オリジンとは、ウェブサイトやウェブアプリケーションがホストされているドメイン(サイトのアドレス)のこと。
:::
***:::note alert
注意点
* テストではステータスが「200」が返ってきたとしてもエラーメッセージがある場合がある。
:::***
##
Amazon Bedrockで画像生成&S3保存するPythonコードを書く
## はじめに
画像生成AIで絵を作成するのが好きなので、Amazon Bedrock(以下Bedrock)でStable Diffusion XL 1.0を使ってみました。作りたいイメージは頭の中にあるのですが、それをちゃんと出力できるプロンプト考えるのが結構大変なので、チャット形式でざっくりイメージを伝える -> よしなにプロンプト組み立て -> 画像生成して返してくれる
といったアプリを作れればいいなあと思ってます。今回はAWS Lambda(以下Lambda)からStable Diffusion XL 1.0のAPIを叩いて、作成された画像をS3に格納する部分を作りました。
Bedrockは、Meta、Stability AI、Amazonなどが提供する基盤モデル(生成AIの一種)を利用できるフルマネージド型サービスです。マネジメントコンソール上のPlaygroundsで提供されているモデルを試してみることもできます。
https://aws.amazon.com/jp/bedrock/
## 1. 構成
完成系はこんなイメージです。
Amazon API Ga多数のEC2上で動作するアプリケーションの構成情報をAPIで取得できる様にした話 (boto3を使ったS3ファイルの並列ダウンロード)
# こんな人向けの話です
* EC2上のアプリケーション等の設定を一覧する仕組みがほしい
* lambdaでS3上の多數のファイルを並列ダウンロードしたい
* 他の話はさておき上記だけさくっと知りたい方は以下で実装例に飛んでください
* [情報取得lambda](#情報取得-lambda-1)
# はじめにこんにちは、@mitonoです。みらい翻訳でインフラ周りを担当しています。
私の担当しているシステムではGPU搭載のEC2を使い、その上でサービスの中核となるアプリケーションを動作させています。
このアプリケーションはいくつかモジュールを組み合わせてプロセスとして立ち上げ、機能を実現する物です。モジュールにはバリエーションがありEC2上には複数のプロセスが起動可能、という事でややこしいのですが目的に応じて多様な組み合わせのEC2を動作させています。簡単に表現すると以下の様な感じです。(組み合わせるモジュールの種別をA,B,C, バリエーションを色で表しています)
* EC2#1
* プロセス#1
* モジュールA_red【AWS Lambda関数作成】APIGatewayの作成手順(発火API編)
## はじめに
【AWS Lambda関数作成】APIGatewayの作成手順に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇
## 🦁**結論**🦁:::note info
押さえておくべき点
* AWSではAPI Gatewayは必須ツール。
* API Gatewayは「情報の出し入れの管理」「セキュリティ」「様々なデバイスに対応」「データの変換」などを行うことができる。
* CORS(Cross-Origin Resource Sharing)は、ウェブブラウザーのセキュリティポリシーの一部で、異なるウェブサイト(オリジン)間でデータを共有するためのルールや仕組み。
* オリジンとは、ウェブサイトやウェブアプリケーションがホストされているドメイン(サイトのアドレス)のこと。
:::
***:::note alert
注意点
* テストではステータスが「200」が返ってきたとしてもエラーメッセージがある場合がある。
:::***
##
EC2とDiscordコマンドを活用したマイクラ鯖構築
この記事は [ドワンゴ Advent Calendar 2023](https://qiita.com/advent-calendar/2023/dwango) 18日目の記事です。
## なにこれ
**Discord鯖仲間の誰かがふと思った『マイクラで遊びたいな……』**
というわけで身内用マイクラ鯖を構築するために模索する機会が発生しました。
せっかくなのでその記録をここに残します。AWS EC2上で動くマイクラ鯖が完成~
起動してる時間に応じて課金されるのでDiscordのコマンドを作って起動・停止できるようにする神対応 pic.twitter.com/wqD8kcRRdp— りゃま (@RyumaRyama) 【AWS】APIGatewayでLambda関数を呼び出す設定手順【APIGateway】
## はじめに
簡単な処理を行うWebアプリケーションでは処理をLambda関数に実装してそれをWebアプリケーションから呼び出すいわゆるサーバレスアプリケーションを構築することがあります。
今回の記事ではサーバアレスアプリケーションの基本的な構成であるAmazonAPIGatewayを利用したLambda関数呼び出しの実装例を投稿しました。## アーキテクチャ図
![アーキ図.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/192949/4531270f-c4f0-d178-4006-79adf84de1e6.png)
## 構築手順
### 1.Lambda関数の実装
#### ①Lambda関数を作成します
※特にAPIGateway用の設定等はなく、必要に応じた処理を実装してください
※ここでは呼び出された後でメッセージを返すだけの処理を書いています
![Lambda作成1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonawAgents for Amazon Bedrock のプロンプトを追いかけてみる
前回作成した以下のAgentに対して、実行時のプロンプトの動きを見てみます。
https://qiita.com/cyberBOSE/items/e8c2d0207d03b6934a1c
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/136f7d06-550f-19ec-0608-6a0c624f8b71.png)
# Step1
まずはLambdaを1回だけ実行すれば事足りる質問をしてみます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/bc2e6851-76f5-87a3-bb28-c49cf320c796.png)
Traceを見てみます。
“`JSON:
“text”: “\n\nHuman: You are a classifying agent that filters user inputs into categori【AWS Lambda関数作成】IAMでの権限設定
## はじめに
【AWS Lambda関数作成】IAMでの権限設定に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇
## 🦁**結論**🦁
IAMを使って適切な権限を利用する。
今回、必要な権限は下記の6つになります。
1. AmazonAPIGatewayAdministrator:「 APIGatewayへのフルアクセス」
2. AWSLambda_FullAccess:「 Lambdaへのフルアクセス」
3. AWSLambdaBasicExecutionRole:「 Lambda関数が cloudWatchへのログを書き込める」
4. lambdaInvokeFunction Policy:「作成した Lambda関数を呼び出せる」(Step functionsからの Lambdaアクセス権限)※自身でポリシーを作成
5. StartExecution Policy:「Step functionsのステートマシンから Lambda関数を実行を開始する」(たった10分で始める!AWS における最速のアプリ開発方法
## はじめに
こちらは AWS for Games Advent Calendar 2023 18 日目の記事となります。迅速なアイデアの実装と検証は、あらゆるソフトウェア開発において重要です。このブログでは、AWS における最速の開発手法を [lambda-container-deploy](https://github.com/axot/lambda-container-deploy
) を利用し解説します。あなたのアイデアを速やかに実現しましょう!このブログで学べること:
1. Go言語を用いた hello world のウェブアプリの作り方
2. 10 分以内で aws にホスティングする手法
3. IP 制限の実装
4. AWS における分散トレーシング、ロギングの実現
5. ローカル環境の構築## Go ウェブアプリケーションの準備
最初に、Go言語で hello world のプログラムを書きます。ポート 8000 番で Listen します。
“`go:main.go
package mainimport (
“fmt”
“io”
“neGBFSのデータを使って、新しくできたシェアモビリティのステーション情報をXに自動ポストするよ。
:::note warn
注意
ほぼ実装できているのですが、少し上手く行かないところがあるので、
ひとまずできているところまで、記載したいと思います。
::::::note info
この記事は [シェアモビリティの標準的なデータフォーマット GBFS Advent Calendar 2023](https://qiita.com/advent-calendar/2023/gbfs) 14日目の記事です。
:::# 課題
シェアモビリティのステーションは、日々増加しておりキャッチアップするのが大変。
気が付かないうちに、ステーションが新しくできていたといったことがある。# やりたいこと
シェアモビリティデータの定時取得と新設ステーションを特定。そしてXに自動ポストする。
こちらのXのアカウントでツイートする予定です。
:::note info
インフォメーションXはBotの一掃を掲げていますが、きちんと申告すれば大丈夫なようで、このアカウントも「自動アカウント」である申告を行いまし
【AWS Lambda関数作成】Lambda関数の開発とデバッグ
## はじめに
【AWS Lambda関数作成】Lambda関数の開発に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇
## 🦁**結論**🦁
## 作成手順
1. 関数の作成
2. エディタにて関数作成(AWS Lambdaに直接でも可能)
3. Lambdaにアップロード
4. デバック(テスト)の実施:::note info
押さえておくべき点
* lambdaはサーバーレスコンピューティング
* サーバーレスコンピューティングはユーザーインターフェイスを持ってないためヘッドレスブラウザが必要になる。
* loggerを使ってログを残すことを行う
* **headlessのWindowサイズは1200×1000**
* サーバーのデータのやり取りは基本は「json形式」
* 関数の最後にレスポンスの定義をする。:::
***:::note alert
注意点
* ほとんどのコードを関数の中に書き込む必要がある(変数定義、空のAWS Lambdaの超基本的なTips
## この記事について
この記事は [SUPER STUDIO Advent Calendar 2023](https://qiita.com/advent-calendar/2023/superstudio) の16日目の記事になります。
## 前提
最近、業務でLambdaをゴリゴリに扱うプロジェクトに配属されており、ちょっとしたコツとか意識しなくてはいけないポイントが見えてきたので備忘録的に書いていきます。
超基本的な内容ばかりで恥ずかしいですが、意識しないと抜けることもあるので。
## 15分の限界を超えないようにする
これはもはや意識するまでもないLambdaの最も基本的な制約ですね。
1回のLambdaで処理できるプロセスは15分を超えることができません。15分を超えるとTimeOutします。“`
Task timed out after 3.00 seconds(TimeOut3秒の場合)
“`これはそもそもLambda自体が長期間の稼働を前提とする重い処理を想定していないからですね。すぐ終わる軽量な処理を(インフラの面倒を見る必要なく)簡単にたく
Python3.11 x Flaskで開発環境を構築する。
本投稿はMIXI DEVELOPERS Advent Calendar 2023の16日目の記事です。
他の記事も面白いものが多いのでぜひ見てください!https://qiita.com/advent-calendar/2023/mixi
## 目的
LambdaでちょっとしたAPIを作りたいって時ありますよね?
私はPythonを選択する時が多いのですが、ここではPythonとAPI作成でよく使用するFlaskの開発環境を構築していきます。## 前提条件
– macユーザ
– Homebrewがインストール済## 手順
## pyenv
Pythonのバージョンを管理するpyenvをインストールする。
“`
$ brew install pyenv
“`## Python
pyenvを使用してPythonをインストールする。
今回はlambdaに使用したいので、[こちらのページ](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/lambda-runtimes.html)から利用できる最新版をインストールするAWS_Lambdaを用いた集計_前編
## 【はじめに】
本記事は、AWS LamdaおよびQuickSightを用いた、Qiita投稿記事投稿状況の可視化例をご紹介します。
記事内容に関しては前編と後編に分けてご紹介予定です。
※投稿状況の集計対象となるQiita投稿者アカウントのトークンを知っていることが前提となります。
※投稿状況の集計は、Qiitaが公開しているAPIを用います。## 【実装内容】
今回の記事においては
・Lambda
・S3
・EventBridge
・QuickSight
・Glue
・Athena
上記AWSサービスを用いる。最終的な実装イメージ図は以下の通り、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3528832/1c7273bf-5a51-662d-3585-bd9b2e9bd285.png)## 【前編での実装の流れ】
①S3バケットの作成
②Lambda関数の作成
③ETL確認作業
④EventBridgeの設定
前編の実装イメージ図は以下の通り、
![image【AWS Lambda関数作成】Python(local環境)の開発
## はじめに
Python(local環境)の開発に関しての備忘録です。
初心者です😅
間違えてる部分が多々あると思います。
もし見つけた場合、ツッコミいただけると助かります🙇
## 🦁**結論**🦁
まずは全体図を作成していくこと:::note info
押さえておくべき点
* APIGateway は最大30秒でタイムアウトしてしまうため対策が必要。「Lambda発火API」と「Lambda状態取得API」のAPIが必要になる。(このサイトに全てが書かれてる)
* 「Lambda発火API」は30秒タイムアウトを回避するためにリクエストする
* 「Lambda状態取得API」に実際の処理をリクエストする
* リクエスト、レスポンスは基本json形式
* インターバルの設定により、実際の処理経過を確認してる。
* インターバルにて’status’を確認してる(RUNNINGが読み込み中、SUCCEEDEDが成功)
* ArnはAWSの各機能のアドレス
* Local環境に必要なのは「各APIのロールにあるURL」
:::
***::
TerraformでAWSサービスの情報をコード化する方法
# できること
– AWSサービスの情報をコード化(文書ファイル)にすることができる
– terraformerでコード化できないものに対応できる
– Lambda、S3が該当する# 前提条件
– VSCodeが使えること
– AWS CLIが使えること
– Windows端末であること# Terraformのインストール方法
1. 下記URL内から「Windows」を押下し、「AMD64」の方をダウンロードする。
– https://developer.hashicorp.com/terraform/downloads
2. ダウンロードしたzipファイルを解凍する。その中の「terraform」アプリを、コード化したファイルを置きたいディレクトリにコピーする。
3. コード化したファイルを置くディレクトリで、「main.tf」ファイルを用意する。ファイルの中身は以下の入力をする。awsに対応するversionは下記URLから抽出する。
– https://registry.terraform.io/providers/hashicorp/aws関連する記事
OTHERカテゴリの最新記事
-
- 2024.09.19
JavaScript関連のことを調べてみた
-
- 2024.09.19
JAVA関連のことを調べてみた
-
- 2024.09.19
iOS関連のことを調べてみた
-
- 2024.09.19
Rails関連のことを調べてみた
-
- 2024.09.19
Lambda関連のことを調べてみた
-
- 2024.09.19
Python関連のことを調べてみた