AWS関連のことを調べてみた

AWS関連のことを調べてみた
目次

S3バケットに保存したログを NewRelic へ転送する

# はじめに
S3に保存されるALBやCFtなどのアクセスログを NewRelic へ転送するための設定を行います。

# 設定
NewRelic が AWS Serverless Application Repository に Lambdaアプリケーション を提供しているのでそれを利用します。
設定の流れとしては **[Lambdaアプリケーションのデプロイ](https://qiita.com/drafts/7eee1445b8fea7308c54/edit#aws-lambda%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E3%83%87%E3%83%97%E3%83%AD%E3%82%A4) > [Lambdaトリガーの追加](https://qiita.com/drafts/7eee1445b8fea7308c54/edit#aws-lambda-%E3%83%88%E3%83%AA%E3%82%AC%E3%83%BC%E3%81%AE%E8%BF%BD%E

元記事を表示

インフラエンジニアさんに手引してもらいながらlambdaのIP固定化をやってみたときのメモ(NATゲートウェイ不使用)

## 概要

LambdaのIPをElastic IPを使って固定化した話をメモ的にまとめる

## 前提

下記の記事を参考に、インフラエンジニアさんに手引してもらいながらlambdaのIP固定化をしてみた

https://zenn.dev/nix/articles/7dd29a1e9edc55

## 内容

### lambdaに紐づくネットワークインターフェースを探す

どうやらパブリックなVPCにlambdaが設置されている場合、「ネットワークインターフェイス」が自動的に作られるらしい。下記の手順でネットワークインターフェースを探した。(パブリックなVPCにlambdaが設置されていないとネットワークインターフェイスはつくられないと思う)

1. マネジメントコンソールでEC2を開く
1. サイドバーで「ネットワークインターフェイス」を開く
1. 「lambda」で検索をかける
1. ヒットした内容の「説明」にlambda名が記載されているはずなので見つける
1. lambdaに紐づくネットワークインターフェイスの「ネットワークインターフェイス ID」と「プライベートIPv

元記事を表示

AWS Certified Solutions Architect – Associate

# 概要
AWS SAA資格を取得する必要があるので、ブログ投稿しながら、資格準備をしようと思います。

# AWS SAAとは
AWS技術に関する知識と、さまざまなAWSサービスにわたる技術を検証する試験です。
この試験は以下の主要な範囲を含みます:
1. コンピューティング、ネットワーク、ストレージ、データベースの AWS サービス、および AWS のデプロイと管理サービスに関する知識およびスキル
2. AWS 上でのワークロードのデプロイ、管理、そしてオペレーション、およびセキュリティコントロールとコンプライアンス要件の実装に関する知識およびスキル
3. AWS マネジメントコンソール、および AWS コマンドラインインターフェース (CLI) の使用に関する知識とスキル AWS Well-Architected フレームワーク、AWS ネットワーク、セキュリティサービス、AWS グローバルインフラストラクチャに関する理解
4. 提示された技術的要件を満たす AWS のサービスを特定し、AWS ベースのアプリケーションの技術的要件を定義する能力

# 準備過程

1. 試験内容

元記事を表示

S3へアップロードされたことをトリガーにzipファイルをLambdaを使って解凍しよう!

## 概要
S3へzipファイルがアップロードされたことをトリガーにzipファイルを解凍するLambdaを作成する方法について解説していきたいと思います

## 前提
– Pythonで解凍処理を作成します

## Lambdaの作成
zipファイルを解凍するLambdaを新規作成します
![スクリーンショット 2024-04-22 15.45.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/79bf32d3-5dd4-6a2e-9427-396037764f1e.png)

今回は基本的なLambdaアクセス権限で新しいロールを作成します
![スクリーンショット 2024-05-10 13.46.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/0a239a10-2092-415c-06d0-a55d9687c233.png)

## zipファイルを解凍する処理の作成
まず、S3へz

元記事を表示

[ワークショップ資料] Amazon Bedrock ナレッジベースでPDFの内容について回答するAIチャットを作る

:::note
この記事は、[JAWS-UG DEI](https://jawsugkgirls.doorkeeper.jp)にて2024/5/11に開催した、[AWS AppFlow と Amazon Bedrockを使ったオリジナルなAIチャットを作ろう!ワークショップ](https://jawsugkgirls.doorkeeper.jp/events/171050)資料です。

利用するAWSサービスの一部に、課金の発生するものが存在します。ワークショップではAWSクーポンを配布しますが、個人的に挑戦される方は、ご利用予定のAWSアカウントについて、無料枠やトライアルの有無について事前にご確認をお願いします。

また、AWSマネージメントコンソールのスクリーンショットは、**2024/05時点**で撮影されたものを利用しています。今後のAWSアップデートによって、UIやフローが変更される場合もありますので、ご了承ください。
:::

## ワークショップのゴール
Amazon Bedrockを利用して、LLM(大規模言語モデル)ベースのRAG(検索拡張生成)アプリの作り方を学び

元記事を表示

AWS CDK 脳死で環境をセットアップ

### AWS CDKを使ってみたいけどよくわからない
構築したいディレクトリで下記コードを実行するとそれっぽいものができた

“`bash:bash
pip install aws-cdk.core
cdk init app –language python
pip install -r requirements.txt
“`

あとはCLIの設定(profileとか)をしてcdk deployで更新できるみたい

**————————– 以下は設定後に確認できるREADME ————————–**

# CDK Python プロジェクトへようこそ!

これは、Python を使った CDK 開発のための空白のプロジェクトです。

`cdk.json` ファイルには、CDK Toolkit がアプリケーションを実行する方法が記述されています。

このプロジェクトは、通常の Python プロジェクトと同様に設定されています。初期化プロセスでは、このプロジェクト内に `.venv` ディレクトリの下に仮想環境が

元記事を表示

Lambdaのセッション管理、ElastiCacheとDynamoDBの比較

# ElastiCacheを使用したセッション管理
## ユースケース
・高速なデータアクセスが必要な場合。
・データが頻繁に変更されるが、一時的なもので永続性が必要ない場合。
・キャッシュのようにデータをキャッシュする場合。

## メリット:
・インメモリデータストアであるため、高速なデータアクセスが可能。
・データが永続的に保存されるため、再起動後もデータが保持される。
・キャッシュとしての利用が容易で、既存のアプリケーションに簡単に統合できる。

## デメリット
・インメモリデータストアであるため、データがメモリにのみ保存され、データのサイズに制限がある。
・コストが高くなる可能性があり、大量のデータを保存する場合は注意が必要。

# DynamoDBを使用したセッション管理
## ユースケース
・データの永続性が必要な場合。
・データの大規模な保存が必要な場合。
・セッションデータを他のデータと一緒に格納したい場合。

## メリット
・データが永続的に保存され、大規模なデータを扱うことができる。
・スケーラビリティが高く、大量のリクエストを処理できる。
・サーバーレスアプ

元記事を表示

AWS Amplifyについて

# はじめに
副業でAmplifyを使ったアプリケーション開発に従事しているので、学んだことをアウトプットとして書いていきます。

# ドキュメント

https://docs.amplify.aws/gen1/react/start/getting-started/introduction/

# Amplifyとはなんぞや

https://aws.amazon.com/jp/amplify/

AWS Amplifyは、Webアプリケーションおよびモバイルアプリケーションの構築などを簡単に行えるようにし、開発に集中できるよう設計されたAWSのサービスです。主な機能は次のとおりです。
– **ホスティング**

Amplify Hostingを使用すると、フロントエンドのWebアプリケーションをプロビジョニング、構築、デプロイ、ホスティングできます。
GitHubなどのソースコード管理システムと統合されており、自動デプロイパイプラインを構成できます。

– **認証**

Amazon Cognito とシームレスに統合されており、ソーシャル認証機能やユーザープールの管理が可能です

元記事を表示

【初めてのAWS】チームの勤怠管理システムを作ってみた(その1)

# 1. 初めに
「AWSを触りたい!」と心に決め、前々から若干必要かなと思っていたチーム内の勤怠管理システムをAWSを使って作ってみようと思った。気づいたら行動に移していた。

勤怠管理システムの全貌としては以下の3つである。3本に分けて残していく。
その1:名前を選択して「出勤」or「退勤」ボタンを押し、記録する
その2:勤怠記録のデータを可視化する
その3:過去の勤怠を編集できるようにする

**本Qiitaの内容**
* どうやってAWSの世界へ入っていったか
* 初めてのLambda
* Chat GPTとの協働
* WebのJSからAPI呼び出し

# 2. AWSを学ぶ
「AWSって美味しいの?」ってレベルの知識から勤怠管理システムを作るにあたって、いいチュートリアルを探していた。そこで、[AWS Hands-on for Beginners 〜Serverless #1〜](https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-Serverless-1-2022-confirmation_422

元記事を表示

[React+AWS]で楽天連動家計簿を作ってみた

# ざっくり概要
生活していて日々出ていくお金の分析をしたかったので、家計簿アプリを作りました。
今回作ったアプリで譲れなかった要件は、ざっとこんな感じです。
* 基本的なデータの登録・削除・編集機能
* 複数端末(PC・スマホ)から触れること
* 楽天の利用履歴(楽天Payやクレジットカードを想定)と連携できること

趣味で作っただけなので、細かい設計はしてません。とにかく手を動かそうという発想で始めました。
WebアプリにしてDBを使わなければいけないのはいいとして、まず要件にある楽天の利用履歴うんぬんの話ですが、これは楽天で決済した際に送られてくるメールを分析してDBに取り込むというものです。
私個人はGmailを使ってますので、Gmailを分析できればいいやとなりました。

以下、このアプリを作る上で考えたこと、苦労したこと、完成したものについて述べます。(コードについては触れません。考え方のみです)

# 第1弾:GASで作ってみようの巻
一番最初に思いついたのは、GAS(Google Apps Script)を使うという手法です。
実際に、ドライブ上のスプレッドシートにWe

元記事を表示

【AWS】エラー「failed to create Cloudwatch log stream: ResourceNotFoundException: The specified log group does not exist」

# 概要
AWSでデプロイ時、ECSタスクで以下のエラーが出ました。
こちらについて解決できたので紹介します。

> CannotStartContainerError: Error response from daemon: failed to initialize logging driver: failed to create Cloudwatch log stream: ResourceNotFoundException: The specified log group does not exist.

## 前提
以下のようにpython側で実装。
`log-sample-group`ロググループの中に手動で`sample-stream`ログストリームを作成、デプロイをしました。

“`py
“handlers”: {
“watchtower”: {
“level”: “DEBUG”,
“class”: “watchtower.CloudWatchLogHandler”,
“boto3_session”: autor

元記事を表示

DifyをAmazon Lightsailで動かす

# DifyをAmazon Lightsailで動かす

[Dify](https://dify.ai/jp)をLightsailで動かす方法です。[絶対に失敗しないDifyデプロイの手順、AWS Lightsail編](https://note.com/sangmin/n/nbb4db69784e8)で紹介されているままですが、起動スクリプトを貼り付けるだけでDifyまで起動するようにしているため、必要な操作はLightsailの初期設定のみです。

## Lightsailインスタンスを作成する

Amazon Lightsailにて以下のようにインスタンスを作成します。インスタンスのサイズは2GBのものを選択してください。1GBだとメモリ不足で起動しないことがあります。

![](https://www.inoue-kobo.com/aws/dify-on-lightsail/images/lightsail.png)

起動スクリプトの箇所には以下のスクリプトを貼り付けてください。

“`bash
dnf update
dnf install -y docker
dnf i

元記事を表示

VMware Cloud on AWS 上の仮想マシンをVM Import/Export で AWS にプライベート移行してみる

## はじめに
VMware vSphere 環境から Amazon EC2 への移行は AWS Application Migration Service (MGN) が現在広く使われているかと思います。

これまで EC2 から VMware Cloud on AWS についての移行について投稿してきました([関連記事](#関連記事))が、VMware Cloud on AWS から EC2 への移行についても記事にしていこうと思います!

VMware Cloud on AWS 上の仮想マシンについても MGN を使用して検証されている有用な記事が既に複数あり参考になりますので是非参照下さい。

https://dev.classmethod.jp/articles/vmware-cloud-on-aws-mgn-via-private-network/

https://qiita.com/sanjushi003/items/88b220a4763f3ca79765

今回は、あえて VM Import/Export を使用して VMware Cloud on AWS 上の仮想

元記事を表示

29日目 EC2についてまとめてみる社畜M

## 🎏はじめに
こんにちは、二回目の社畜Mです。
前回の投稿で社畜Sが話していましたが現在私たちは…

**「AWS Certified Solutions Architect – Associate(通称SAA)」**
の合格に向けての勉強を行っています。
今回、私社畜Mのほうでは 「**Elastic Compute Cloud**」**通称EC2** についてまとめてみようと思います。
それではやっていきましょう
デュエル!
****
### EC2とは何なのか?
さぁ行くぜ!社畜Mのターン、ドロー!EC2には主な特徴としてこんなのがあるぜ!
– **サーバーの構築や維持にかかる時間の削減**
AWS上ですぐにサーバーを構築できるため、**業務の効率化**につながります。さらに、自社で準備する必要がない分、監視・保守などの運用に用いていた**人的コストの削減**もできます。

– **状況に合わせたスペックの変化**
サーバーのCPUやメモリ、容量などのスペックを簡単に変更できます。繁忙期か閑散期かで状況に合わせて柔軟に対応できます。事前にリソースの数値を

元記事を表示

AWS Builder Cardsで遊んでみた!

## はじめに
会社の先輩がAWS Builder Cardsを持っていて、体験会を開くというので参加してきました!

![IMG_0602.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2851817/5921a60b-38d7-0e37-315d-f86ba9f5107d.jpeg)

## AWS Builder Cardsとは?
[楽しみながら学べる AWS BuilderCards の遊び方、そして日本語化に込めた思い](https://aws.amazon.com/jp/builders-flash/202405/japanese-builder-cards/) によれば、以下の説明がありました。
> AWS BuilderCards は、Amazon Web Services が提供するクラウドサービスや、サービスを組み合わせたアーキテクチャを学べるカードゲームです。
>
>サービスを組み合わせてアーキテクチャを構成する思想は、ビルディングブロックと呼ばれます。AWS BuilderC

元記事を表示

Lambda関数の古いバージョンを一括削除するスクリプト

# 背景
 AWSのSAMテンプレートを利用しており、AutoPublishAliasプロパティを使い、Lambda関数にエイリアスとバージョンを設定しています。この場合、関数を更新するたびに新しいバージョンが作られるため、これを何度も繰り返した場合、気づかないうちにLambdaのストレージの制限である75GBを超えてしまう恐れがあります。
 現状、SAMのプロパティに古いバージョンのLambdaを削除するような設定は無く、[Issues](https://github.com/aws/serverless-application-model/issues/2719)を見る限り今後も実装されなさそうであるため、独自で古いバージョンのLambdaの削除を行う必要があります。
 今回は、問題が発生した場合にすぐに戻せるよう、最新から数バージョンは残しておきつつ、それ以前の古いバージョンは削除するようなスクリプトを作成しました。

# スクリプト

“`bash:delete-lambda-old-version.sh
#! /bin/bash
# 古いバージョンのLambdaを削除

元記事を表示

Lambdaを使うときのセッション管理方法

# LambdaはStatelessアーキテクチャ
Lambda関数は通常、ステートレスなアーキテクチャで実装されます。これは、各リクエストが独立しており、Lambda関数間で状態を共有しないことを意味します。この場合、セッション管理はクライアント側で行われることが一般的です。クライアントは、認証トークンやセッションIDを使用して状態を管理し、必要に応じてそれらをリクエストに含めます。

# 外部のセッション管理サービスを使用する
外部のセッション管理サービス(例えば、Amazon CognitoやAuth0など)を使用して、ユーザーの認証とセッション管理を行うことができます。これらのサービスは、ユーザーの認証情報やセッション情報を安全に管理し、Lambda関数からそれらの情報にアクセスすることができます。

# ステートフルなLambda関数
一部のユースケースでは、ステートフルなLambda関数が必要な場合があります。この場合、Lambda関数内でセッション状態を保持する必要があります。例えば、DynamoDBやElastiCacheなどのデータストアを使用して、セッション情報を保

元記事を表示

CloudWatch アラームを Redmine のチケットに起票する

# やりたいこと

CloudWatch アラームが ALARM 状態になったら Redmine のチケットに起票したい。

なお、Redmine チケットは次のようにしたい。

– プロジェクト: **test_project**
– トラッカー: **Alarm**
– チケットの優先度
– CloudWatch アラーム名に Critical が含まれる場合は、優先度 **Urgent** とする
– CloudWatch アラーム名に Error が含まれる場合は、優先度 **High** とする

# どうやるか?

Redmine API が提供されているので、これを参考に行う。

https://www.redmine.org/projects/redmine/wiki/Rest_api

# 構成図

実際は、CloudWatch metrics のアクションとして、Lambda を指定しますが、今回は Lamda からテストイベントを作成し実行させるので、CloudWatch metrics の作成は手順から省いています。
![redmine.png](h

元記事を表示

Bedrock Studioがプレビューリリース!早速試しました!!(構築方法と機能の紹介)

Bedrockのリリースラッシュが止まりません。

プレビューだった機能がGAになり、そろそろ落ち着くかと思ったら、**Bedrock Studioが爆誕!**

構築方法は難しくないですが、ところどころつまりどころはあるような気がしました。
というか、先に試してくれている人がいます!(いつもはやい)

https://dev.classmethod.jp/articles/bedrock-studio-preview/

途中、IAMロールを作るところが一番めんどくさいので、CloudFormationテンプレート作っておきました。
どうぞご利用ください。(URLは説明中にあります)

:::note
構築手順が長くなったので、折りたたみ表示にしています。
必要なところを開いて確認してください。
:::

## 前提条件

AWS Organization配下 **ではない** 単一のAWSアカウントを使用します。(IAM Identity Center周りが色々違いそうなので)

## IAM Identity Centerを構築してユーザー作成

元記事を表示

AWS Cloud9(Django)+S3+SQS+Lambda+SNS環境構築_目次

こんにちは。
株式会社クラスアクト インフラストラクチャ事業部の大塚です。

この記事は自分が連載(?)している『AWS Cloud9(Django)+S3+SQS+Lambda+SNS環境を作ってS3にアップロードされた時、メール通知をする』という記事をまとめた記事となります。

# 構築する環境

以下の環境を右から順番に連携させていきます。

![aws-django01-ページ6.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/426843a2-5d28-7283-96dc-22fb1cbe3e34.png)

最終的にCloud9に構築した以下のWebアプリからS3にデータをアップロードすることを可能にし、その際に自動でメール通知が飛んでくるような環境を作っていきます。

![2024050811.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3219385/42fe1f99-36d

元記事を表示

OTHERカテゴリの最新記事