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

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

DynamoDBコスト削減ベストプラクティス

# はじめに

サーバーレス大好きなエンジニアです!
今日はDynamoDBのコスト最適化についてAWS SUMMIT2024の内容を参考に説明していきたいと思います。

https://aws.amazon.com/jp/summits/japan-2024/

# 対象読者

– NoSQLを使用している方
– 今後NoSQLを使用したい方
– DynamoDBに関心がある方
– サーバーレスが好きな人

# 目次

1. なぜコスト削減が重要なのか
2. データベースのコスト削減
3. NoSQLのコスト削減
4. Amazon DynamoDBのコスト削減

# 1. なぜコスト削減が重要なのか

システムを運用する際には、さまざまなコストが発生します。

– インフラコスト
– ライセンスコスト
– オペレーションコスト
– 開発コスト
– ビジネスコスト

コストが十分に確保できないと最新技術の導入が難しくなり、新機能の開発ができなくなる可能性もあります。
つまり、**コストを抑えることはビジネスの競争力を向上させる**ためにも非常に重要です。

# 2. データベースのコ

元記事を表示

Serverless Frameworkを使わず、Nuxt3でSSR構成(CloudFront + Lambda + S3)をする方法

# 対象者
– 自分と同じAWS初心者
– 「俺たちは感覚でAWSを触っている」状態の人
– バックエンドなんもわからんけどAWSへのデプロイを控えている人
– ~~Next全盛の今NuxtのSSRで頑張っている人~~

# なぜやろうと思ったか?

「Nuxt3 SSR AWS」で検索するとAmplifyを使うパターンか、Serverless Frameworkを使うパターンしか検索結果に引っかからないからです。

Amplifyは融通が効かない部分があるため今回は使いたくないし、
かといってServerless Frameworkはv4から有料になるしv3は2024年でサポート終了するらしいし…

ということで、自前で一からCloudFront + Lambda + S3構成を作ってみたのですが、
できるまで丸二日間スタックしたので皆さんが同様の状況にならないようにまとめました。

# 前提

1. Nuxt SSR構成でビルドできる状態であること
1. 調べればすぐ出てくるようなデプロイ用の設定は終わっていること
1. `nuxt.config.ts`の`nitro`

元記事を表示

Amazon Inspectorのエージェントスキャンとエージェントレススキャンで結果が異なることがある原因と対処

# これは何?

Amazon Inspectorにおける EC2の脆弱性検出において、エージェントベーススキャンだと検出されなかったアプリケーションのパッケージ脆弱性が、エージェントレススキャンで検出されたため、原因を調べた時のメモです。

# 結果が異なる原因

以下公式ページの注意点に書いてありました。

https://docs.aws.amazon.com/inspector/latest/user/scanning-ec2.html#agentless

:::note
Linuxインスタンスでアプリケーションプログラミング言語パッケージの脆弱性をスキャンする際、エージェントレス方式ではすべての利用可能なパスをスキャンしますが、エージェントベースのスキャンではデフォルトのパスと、Amazon Inspectorのディープインスペクションの一環として指定した追加パスのみをスキャンします。このため、同じインスタンスでもエージェントベース方式とエージェントレス方式でスキャンされた場合、異なる結果が得られる可能性があります。
:::

エージェントベーススキャンでは、デフォルトでは

元記事を表示

AWS Lambda から Power Automate の Teams Incoming Webhook コネクタの挙動をテストする

# はじめに
Microsoft (以下MS) が、Teams内のOffice 365コネクタを廃止することを発表しました。
これにはIncoming Webhookも含まれ、記事執筆時点では、以下のスケジュールが設定されています。

* 2024年8月15日: 新規コネクタの作成が停止し、これ以降、新規にIncoming Webhookを利用する場合、Power Automateのワークフローでコネクタを介して受信する方式に対応する必要あり
* 2024年12月31日: 既存のWebhook URLが無効化される予定 (ただし、URLを更新すれば2025年12月まで利用可能)

最新の情報は、以下のMS公式サイトをご参考ください。

Retirement of Office 365 connectors within Microsoft Teams

AWSユーザーも、**[AWS Health Aware](https://aws.amazon.com/jp/blogs/news/aws

元記事を表示

122日目 Terraformを触ってみた社畜S

## :file_cabinet:はじめに
こんにちは、社畜Sです。 
最近新しい案件でTerraformを触る機会がありました。

せっかく新しく触ったものをそのままにしておくのもなんだかもったいないので、今回はTerraformのざっくりとした概要と合わせて、初心者目線からTerraformを触ってみた感想を記事にしていこうと思います。 

完全初心者目線での感想ですのでTerraform仙人の皆様には物足りない記事かもしれませんが、「自分たちにもこんな頃があったなぁ」と生暖かい目で見守ってください。
## :file_cabinet:学習開始時のレベル
・仕事が始まって4か月目
・IaCは1~2か月前にAWS Cloudfourmationで簡単な環境を作った経験のみあり
・Terraformは今回の案件で初めて知ったので完全に知識0
## :file_cabinet:そもそもTerraformって何?
HashiCorpによって開発されたIoC(Infrastructure as Code)ツールのことです。

他のIaCツールと同じようにクラウドリソースやインフラストラクチ

元記事を表示

Amazon Q Developer無料プランをVSCodeで使う方法

先日JAWS-UG CDK支部にて登壇した内容の一部抜粋です

## 1. VSCodeの拡張機能からインストール
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3480176/8495ed9e-4e50-c99f-e604-1f333797f673.png)

## 2. Builder IDと連携
タブが開くのでここから使用しているBuilderIDと連携します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3480176/3bcfc47d-00f7-a961-39de-f6f66dca5069.png)

Builder IDを連携して使用するプランは「永続的な無料利用枠」として書かれているので勝手にサブスクリプ

元記事を表示

VMware Cloud コンソールから AWS アカウントのリンクを削除する方法

## はじめに

VMware Cloud on AWS で Software Defined Data Center (SDDC) を作成する際に、 AWS アカウントとリンクするステップがあります。

一つの Org で色々な AWS アカウントとリンクをさせると以下のように大量に AWS アカウントが表示されるようになります。そのうちのいくつかのアカウントともう連携する必要がなくなった場合、VMware Cloud コンソール(VMC コンソール)で表示させたくない、というケースが出てきます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/441095/efccb8ba-d885-153e-5df9-dc1146687a2c.png)

このアカウントのリンクの削除方法についてドキュメントを探しても見つからなかった為、備忘録を兼ねて削除ステップをまとめてみました。

## CloudFormation、IAM ロールを削除しただけでは、コンソールからのリンクは消えない

SDD

元記事を表示

AWS Lambdaの def lambda_handler(event, context): って決まり文句??

## この記事の対象者
初めてLambdaを使う人、使い始める人

## 結論
– パラメータ名:決まり文句ではないが **ほぼ決まり文句**

## AWS Lambda ランタイムの基本

### パラメータの基本構造

1. 第一パラメータ:イベントデータ(通常 `event`)
2. 第二パラメータ:コンテキスト情報(通常 `context`)
“`
def lambda_handler(第一パラメータ, 第二パラメータ):
“`

### 順序の重要性

– 第一パラメータ:常にイベントデータ
– 第二パラメータ:常にコンテキスト情報

## パラメータ名のカスタマイズ例

### 標準的な使用方法

“`python
def lambda_handler(event, context):
return {
‘statusCode’: 200,
‘body’: json.dumps(‘Hello from Lambda!’)
}
“`

## カスタム名の使用例

“`python
def l

元記事を表示

AWSのSSMでの切り替えをバッチでやるサンプル

AWSのSSMでポートフォワーディングをしてDMなり
HTTPS通信をしていたのですが、都度都度コマンドをたたいていたので
バッチを使って自動で起動できるようにしたメモ。

## 実行環境とバッチ
windowsのコマンドプロンプトで切り替え

### メインバッチ
“`bat:com_aws_user1.bat
aws ssm start-session ^
–target i-XXXXXXXXXXX ^
–document-name AWS-StartPortForwardingSessionToRemoteHost ^
–parameters %1 ^
–no-verify ^
–profile user1
“`
–target i-XXXXXXXXXXXは踏み台のインスタンスID
–parameters に接続先のパラメータを入れる、ホスト情報とか
–no-verify
–profile プロファイルによる切り替え

### 接続バッチ(必要な接続の数だけ作成する)
“`bat:接続先.bat
set host=”host=xxxxxx.amazona

元記事を表示

EC2(Debian)インスタンスにReazonSpeech v2をインストールする手順 

# はじめに

こちらの記事は「[EC2(AmazonLinux2023)インスタンスにReazonSpeech v2をインストールする手順](https://qiita.com/ai_imatch/items/4702fc92f33355c77efb)」の「Debian」版です!
詳しくはそちらの記事をご参照ください。
では早速、はじめていきましょう!

### 使用技術

文字起こし:reazonspeech-nemo-v2

実行環境サーバー:AWS EC2(Debian)

### 前提条件
・HuggingFaceのアカウントが取得済みであること

# 目次

1.事前準備

2.環境構築

3.ソースのデプロイ

4.コード実行

5.まとめ

それでは、実際の環境構築に進んでいきましょう!

# 1.事前準備

## 利用モデルの利用規約を許諾する

– 「[reazon-research/reazonspeech](https://huggingface.co/datasets/reazon-research/reazonspeech)」のページへアクセスし、ユーザー

元記事を表示

EC2(AmazonLinux2023)インスタンスにReazonSpeech v2をインストールする手順 

# はじめに

今回は「ReazonSpeech v2.0(NeMoモデル)」を利用して、音声ファイルの文字起こしができる環境を作ります。

なんとこちらのモデルは
> 同じことをOpenAI Whisperとの比較で言い替えると、Whisperの最も小さいTinyモデルの速度で、 最も大きいLargeモデル相当の精度を達成できています。
引用元:https://research.reazon.jp/blog/2024-02-14-ReazonSpeech.html

とのことで、音声認識モデルの中でもWhisperをしのぐ「認識精度」と「処理速度」を持つモデルであることがわかります。(2024-02-14時点)

こちらのモデルは無償で商用利用可能な点も魅力といえます。(Apache-2.0ライセンスに準拠)

では早速、構築していきましょう!

### 使用技術

文字起こし:reazonspeech-nemo-v2

実行環境サーバー:AWS EC2(AmazonLinux2023)

### 前提条件
・HuggingFaceのアカウントが取得済みであること

# 目次

1.

元記事を表示

Bedrock ガードレールの新機能 Contextual grounding checkを 試す

Bedrockのガードレールに、Contextual grounding check という機能が追加されました。
RAGを実装する場合にきちんとContextに従って回答しているか?(ハルシネーションしていないか?)というのをチェックするガードレールになります。

動きを確認していきます。

# 対象のナレッジソース

以下の記事で作成したナレッジベース(PDFをMarkdownで格納したもの)を使用します。

https://qiita.com/cyberBOSE/items/44515b0989b79ecfcda0

# ガードレールの作成

ガードレールでブロックした事が分かるように、ステップ1でメッセージを指定します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/85adc26d-d3a1-08c6-6440-6e641c90c4dd.png)

ステップ2 ~ ステップ5 は2024/8/8現在、日本語にあまり対応できていないので飛ばして、ステップ6のみ設

元記事を表示

AWS CloudWatch: クラウドアプリケーションを監視について

この内容はあくまでも個人のメモ用に残している内容です。

クラウドアプリケーションを運用する上で、その状態を把握することは不可欠です。性能、可用性、セキュリティに関する情報は、迅速な問題解決、コスト最適化、そしてビジネスの成功に大きく貢献します。しかし、膨大なデータの中から必要な情報を抽出し、適切なアクションを迅速に取ることは容易ではありません。そこで登場するのが、Amazon CloudWatchです。

### CloudWatchとは?

AWS CloudWatchは、AWSリソースやアプリケーションのパフォーマンス、可用性、セキュリティに関する情報をリアルタイムで収集、分析、可視化するサービスです。まるでクラウドアプリケーションの運転席に座って、あらゆる状況を把握できるような、強力なダッシュボードを提供します。

### ビジネスへのメリット

CloudWatchは、単なる監視ツールではありません。ビジネス価値を最大限に引き出すための強力なツールです。

* **問題の早期発見と解決:** 異常な動作を自動的に検知し、アラートを発することで、問題を早期に発見し解決できます。

元記事を表示

[Serverless ECワークショップ] Step3: SNSを利用して、未払いや注文の通知を社内に送信する

:::note
前のステップ: Amazon EventBridgeのルールを作成して、Stripeからのイベントを受信する
https://qiita.com/hideokamoto/private/61c30ef9c0aa137ac020
:::

もっともシンプルなユースケースは「通知」です。ECサイトでは、さまざまな場面で「社内での通知」を行う必要があります。

– 「商品が売れた、決済が完了した」ことを、商品発送チームに通知する
– 「不正利用と思われる注文があった」ことを、サポートチームに通知する
– 「銀行振込の入金が完了した」ことを、会計チームに通知する
– etc

AWSを使ったシンプルな通知の例として、SNSへの連携を体験してみましょう。EventBridgeとSNSを連携させることで、メールやSMSへの通知や大規模な並列処理を行うためのファンアウトの実点、そしてAWS Chatbotを組み合わせたSlackなどのチャットボット作成などが簡単に作れるようになります。このステップでは、つぎの手順で作業を行います。

 - SNSトピックを作成する
 - 作成済み

元記事を表示

CLFクラウドのコンセプトについて(その1)

# はじめに
AWS認定であるクラウドプラクティショナー(CLF)の出題範囲である、
クラウドのコンセプトについて学ぶ。

## クラウドの分野について
* ①AWS クラウドの利点を定義する。
* ②AWS クラウドの設計原則を特定する。
* ③AWS クラウドへの移行の利点と戦略を理解する。
* ④クラウドエコノミクスのコンセプトを理解する。

以上4項目がAWSの提示しているクラウドのコンセプトです。
今回はこの中から**①AWSクラウドの利点を定義する**を解説します。

## ①クラウドの利点を定義する
こちらの項目では
**AWSクラウドの価値提案**が対象知識となっています。
対象となるスキルは以下の3つです

* ①規模の経済についての理解(コスト削減など)
* ②グローバルインフラストラクチャの利点の理解(デプロイのスピード、グローバルリーチなど)
* ③高可用性、伸縮性、俊敏性の利点の理解

## ①規模の経済についての理解(コスト削減など)
こちらの項目で大切なポイントは、主に2つあります。

* ①オンプレミスとクラウドの違い
* ②AWSの料金発生条件

元記事を表示

新規構築したRHELのEC2にキーペアを設定せずにセッションマネージャー(SSM)で接続する方法。

## 概要
EC2を作成したが、セッションマネージャーだけで接続予定のためキーペアを設定したくない。
しかし、SSM Agentをインストールしないとセッションマネージャーに接続できない…
そんな場合の回避策です。

## 手順
1. インスタンスを停止
1. [アクション] – [インスタンスの設定] – [ユーザーデータを編集]
1. [ユーザーデータをテキストで変更]にチェックが入っている状態で、[ユーザーデータをここに配置]に以下を入力して保存
“`bash
#!/bin/bash
sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-
windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
“`
1. インスタンスを起動

元記事を表示

AWS-Parameters-and-Secrets-Lambda-Extensionを試す

## 背景
Lambda上でSSMパラメータストアの値を都度取得するのが嫌で調べてたら以下を見つけたので試して見る

https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/retrieving-secrets_lambda.html#retrieving-secrets_lambda_env-var

* Lambda Layer は以下を指定
`arn:aws:lambda:ap-northeast-1:133490724326:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:11`

## コード
“` typescript:index.mjs
import {SSMClient, GetParameterCommand} from ‘@aws-sdk/client-ssm’;

export const handler = async () => {
const path = “/hoge/secure/params”;

元記事を表示

【Amazon Connect × Kinesis Video Streams】GetMediaを使用したリアルタイム音声データの取得

## 前提

– Amazon Connectのコンタクトフローより音声データストリーミングを有効化し、Kinesis Video Streamsへデータストリーミングを行います。
– リアルタイムで音声データを送信する必要があり、通話が始まるとECSを起動して、リアルタイムで音声データの加工・送信を行います。
– 通話中は無限ループ内でリアルタイムで取得するストリーミングデータをGetMedia APIより取得し、データ加工を行い外部APIへデータ送信を行います。
– 通話終了後にEventBridgeを使用して通話終了トリガー用のLambdaを起動し、終話フラグをオンにすることでデータ送信処理を終了させています。

## はじめに行っていたデータ取得方法

GetMedia APIよりデータ取得を行い、`transformToByteArray`を使用して変換を行いデータ送信を行おうとしていました。

“`js
while(!isEndCalling ){ //終話フラグ
const getMediaForFragmentListResponse = await kvsM

元記事を表示

Azureを使ってみた備忘録

# AWSからAzureへ
転職先でoffice365をメインで使っていたため、プロダクトの開発はazureで行うことにした。
もともとAWSを使っていたため、下記機能がどのツールに互換できるのかを確認しながら開発をしたいと思う。

## LambdaからFunction Appsへ
これすごく調べたんですけど、本当にわかりにくかったです。

### 名前
いや、これ本当に初見じゃわからないでしょ。どうして日本語なのよ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3833494/a2eae176-8d36-bd9b-310c-658100e6f1fd.png)

### 料金設定
とりあえず料金プランの選択ができて、Lambdaよりも自由度が高いサーバレスの実行環境を整備できそうです。
個人的には実行時間の制限をお金で解決できるところがよいとおもいました。
まあ、fargateなりec2なりでいいじゃんって思うのもありますが、実行時間が長く、月1回程度しか動かさないシステムなら料金は抑

元記事を表示

【たぶん真似るだけ】AWS EC2上に、Laravel Sailで動作環境を構築する

ふとしたきっかけで、Laravel Sailを用いて作ったプロジェクトを、せっかく作ったのでWEBに公開できるよう準備しようと思い立ちましたので、AWS上に環境を構築しました。

ちなみに作成したプロジェクトは公開されております。

https://github.com/WdknWdkn/oneonone

しかしsailが便利すぎて「あんなたくさんのコンテナに該当する環境、いちいち作っとられるかい!」と率直に思い、「もうええわEC2上に同じようにsailで環境作ったらそれでいったんよし」という死ぬほど雑な思考で「とりあえず動くもの」ということで環境構築しました。

まじで恥ずかしい。

# 概要

パブリックサブネット内に立ってるEC2上での作業内容になります。

# 実作業記録
## プロジェクトのクローン
### Gitのインストール

“`shell
# システムのパッケージを更新
sudo yum update -y
# Gitをインストール
sudo yum install git -y
“`

### SSHキーの作成

“`shell
# RSA 4096ビットの

元記事を表示

OTHERカテゴリの最新記事