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

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

Cloud9をパブリックIPアドレスを取得して自身のVSCodeで利用する方法。

## 背景

まずAWSのCloud9を利用することで簡単に検証用環境を立ち上げることができ、
自身端末の環境変更することが済むのでよく使います。
DockerやPythonなどもインストール済みなので、
インターネットが繋がっていればどこでも使えるので気に入ってます。

ただ、IDE自体は特に拡張機能もないですし、
使い慣れたVSCodeを利用したと思い色々調べてみました。

今回Cloud9をVSCodeで利用する方法を紹介します。

また、Cloud9は起動するとパブリックIPアドレスが変更されます。
毎回設定ファイルを更新するのも面倒なため、
設定ファイルを更新するスクリプトもご紹介します。

## 手順

### ローカル端末側設定

– 公開鍵、秘密鍵作成

“`bash
$ cd ~/.ssh
$ ssh-keygen -b 4096 -t rsa -f id_rsa_cloud9
Generating public/private rsa key pair.
Enter passphrase (empty for no

元記事を表示

【AWS】CognitoのJWTトークン検証処理時間を比較

# 比較内容

## 比較パターン

– `aws-jwt-verify` を使用し、初回インスタンス生成
– `aws-jwt-verify` を使用し、呼び出しごとにインスタンス生成
– `jsonwebtoken` を使用

## 比較コード

### 共通コード

検証したいパターン以外はコメントアウトして使用する。

“`js
console.time(‘処理時間’);
// リクエストヘッダーからアクセストークンを取得
const token = req.headers.authorization?.split(‘ ‘)[1];

// アクセストークン検証
try {
/** 初回インスタンス生成 */
await verifier.verify(token);

/** jsonwebtokenを使用 */
await verify(token);

/** 呼び出しごとにインスタンス生成 */
await verifyJwtToken(token);

} catch (error) {
console.error(error);
}

元記事を表示

AWS IoT Greengrass v2 で、特定の Deployment の全リビジョンを一括削除する

AWS IoT Greengrass v2 では、 Deployment を更新すると新しいリビジョンが作成されます。
リビジョン数がかさんだ Deployment をお掃除するのが面倒なので、シェルコマンドを備忘のため記載。

“`bash
DEPLOYMENT_NAME=”<削除したいDeploymentの名前>”
for DID in `aws greengrassv2 list-deployments –query “deployments[?deploymentName==’${DEPLOYMENT_NAME}’].deploymentId” –output text –history-filter=ALL`
do
aws greengrassv2 cancel-deployment –deployment-id $DID
aws greengrassv2 delete-deployment –deployment-id $DID
done

“`

元記事を表示

【AWS SageMaker Studio】SageMaker ClarifyでPDPレポートの作成を試してみた

# 背景
SageMaker Clarifyを用いる事で、作成したモデルの予測に対するレポートを自動で作成してくれるみたいですので、試してみました。

# 環境
sagemaker:2.219.0

# 試した事(概要)
Nishikaのコンペサイトのデータを使って、SageMakerの組み込みアルゴリズムのXGBoostで予測を行い、その予測に対してSageMaker Clarifyでレポートを作成してみました。

# 試した事(詳細)
### 1. 準備
##### 1.1. データを用意
こちらのサイトから、train.zipをダウンロードします。

https://competition.nishika.com/competitions/mansion_pra/data

zipファイルを解凍すると、trainフォルダ内に多数のcsvファイルが入っていますので、それらcsvファイルを、pandasを使って1つのcsvファイルに纏めて、train.csvとします。

“`python:hogehoge.ipynb
train_df_list = []
for csv_fil

元記事を表示

【セッションレポート】「Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた」に参加しました

# はじめに
本記事はClassmethod Odyssey(DevelopersIO 2024)のリアルイベント(7/20)において Classmethod の のんピ さんが講演された「Amazon FSx for NetApp ONTAPのパフォーマンスチューニング要素をまとめてみた」のレポートです。

# 公式セッション紹介
> このセッションではAmazon FSx for NetApp ONTAPのパフォーマンスを最適化するための主要な要素について解説します。ストレージやネットワーク、ONTAPの内部設定など、さまざまな観点からパフォーマンスチューニングの要素と設定方法を紹介します。

# 発表資料
– 近日中に公開される・・はず

# 概要/おすすめポイント
内容としてはFSxONTAPのパフォーマンスチューニングの話ですが、FSxONTAPに限らずパフォーマンスの課題があるときにどうしていくか?という普遍的な話から入られていたので、パフォーマンス問題が発生したときに立ち止まって資料を確認すると見逃がしとか次の一手が見つかるかもしれません。

もちろん、FSxONTAPで

元記事を表示

Step Functionsから、EC2上でコマンドを実行する(コールバックを待つ版)

# はじめに
以前、Step Functionsを使って、EC2上でコマンドを実行する方法の一つを記事としてまとめました。

https://qiita.com/a_b_/items/85a2c63bf8d577b490d8

上記記事ではEC2上のsuccess/failureを、StateMachine側からスリープを挟んでチェックしていました。

今回はEC2側からsuccess/failureを返す方法を記事にします。

# 概要

– StateMachineでEC2のコマンドを実行する方法として、Systems Managerの[SendCommand](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_SendCommand.html)を使用
– EC2側からのコールバックを待つようにします
– StateMachie側からTaskTokenを渡します
– コールバックを待つ設定にすると、コンテキストオブジェクトに追加されます
– EC2側からは、`sen

元記事を表示

Slackに時差変換botを導入 – スタンプが押されたらスレッドに時差変換されたメッセージを返信する(AWS Lambdaで処理を実装)

# 初めに
我々AIdeaは5人中2人のメンバーが海外におり、9月からは5人中4人のメンバーがヨーロッパの各地に住む予定である。このチームで活動している中で最もネックなのが日程調整である。日本時間で日程を提案すると、ヨーロッパ時間に変換するのがめんどくさいかつあっているか不安になる。VICE VERSA

時差変換をする際のめんどくささを解消するためにslackのbotを導入したので記事にする。

# 最終的なアウトプット
12:30と書かれているメッセージにCET(Central European Time)というスタンプが押されると04:30と変換しスレッドでメッセージが送られるようなもの。日本時間への変換はJSTというスタンプを押してできる。

スレッド内でのメッセージたち(これはサマータイムCESTで行われている。)
![スクリーンショット 2024-07-19 1.43.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3788759/ac03bc83-2758-34fa-8e8f-da81

元記事を表示

初心者がiOSのプッシュ通知を実装できた話(何からしたらいいんだろうを解決)

# はじめに
プッシュ通知の実装にあたり、どこから手をつけていいか全く見当もつかなかった。色々と調べていくと、iOSアプリ側のコード、AWS SNSの設定、DynamoDBの設定など、複数が関わるため非常に複雑だった。なんとか実装できたので記録として残す。ここでは、具体的なコードではなく、実装の手順や流れについて書く。

# 使ったもの
今回は諸事情によりAWS SDKを使えず、API Gateway経由でLambdaを実行し、プッシュ通知を実装した。
* AWS SNS
* AWS Lambda
* AWS DynamoDB
* AWS API Gateway
* Swift

# 前提

[2019年度版]AWS SNSでiOSのプッシュ通知 設定手順まとめ

これを参考にしてAWS SNSでプラットフォームアプリケーションの設定は完了している。

# 最終的に作りたいもの
**アプリ内にあるボタンを押した時に関連する人へプッシュ通知を送るというもの**

# プッシュ通知実装までの過程

### 1. 色々と調べた
最初からサーバーと連携させ

元記事を表示

iPhoneからS3を操作したい

# 動機
僕は毎月Googleフォトにお金を払ってiPhoneに保存している写真のバックアップを取っています。
普段クラウドエンジニアとしてS3を利用していて、料金が安いことを知っているのに、安直にGoogleフォトに課金するのはおかしい!S3を自分用のクラウドストレージとすれば安いのでは?~~何ならビジネスチャンスか~~と思い、iPhoneからS3に簡単にアップロードできる構成を構築してみました。

# 結論
正直今から作成する構成には良くないところがあり、下記の構成を再現するメリットがありません。
動機に記載した夢も潰えていて、運用に耐えうるものではないため、参考程度に見ることを推奨します。
詳細は[結果](#結果)の段落と[感想](#感想)の段落に記載があります。

# 今回の構成
### 用意するもの
・S3バケット
・S3接続用IAMユーザ
・S3接続用クライアントアプリ(サードパーティ製・有料)

### 作成の手順
1. IAMユーザを作成し、S3バケットに対する権限を付与する
1. 作成したユーザでアクセスキーを作成する
1. S3バケットを作成する
1. 作成したユー

元記事を表示

【AWS】Cognitoのカスタムメッセージ Lambda トリガーでメール本文が変わらない問題

# カスタムメッセージとは

以下は Cognito の Lambda トリガーでカスタマイズしたメール:

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/c15a9194-adde-46ab-6540-e1c52612bf33.png)

カスタムメッセージ Lambda トリガーでメール件名・本文のカスタマイズを行うことができる。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/8b04df32-ab4a-a7fd-c7f2-840d086cd86f.png)

https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/user-pool-lambda-custom-message.html

# 発生事象

メール件名は変更できたが、メール本文は変わらなかった。

# カスタムメッセージ

元記事を表示

LlamaIndex + Amazon Neptune GraphRAG やってみた

LlamaIndex + Amazon Neptune Analyticsを使ったGraphRAGを試してみました🙂

https://docs.llamaindex.ai/en/stable/examples/index_structs/knowledge_graph/NeptuneDatabaseKGIndexDemo/

これまでグラフデータというものを聞いた事しかなかったのですが、先月のAWS Summit Japan 2024に参加した際、「Amazon Neptune Analytics と生成 AI 活用」というセッションを拝聴し、Amazon Neptune の新しいグラフ分析エンジン「Amazon Neptune Analytics」と、グラフデータを活用したRAGについて知りました。このセッションを通じて、GraphRAGとグラフデータに非常に興味を持ちました。

そこでLlamaIndexをまず試してみて、そこから様々なことを勉強していこうと考えました。GraphRAGの仕組みを理解するのに役立つ記事がありましたので、参考までにリンクを貼っておきます。

http

元記事を表示

Databricks on AWS クラスター利用料金単価の早見表(Standardプラン・2024年7月)

# はじめに

株式会社NTTデータ [デジタルサクセスソリューション事業部](https://enterprise-aiiot.nttdata.com/) の [nttd-saitouyun](https://qiita.com/nttd-saitouyun) です。

Databricks on AWS の利用料の見積もりを行う際に、コンピューティングの利用料はDatabricksの利用料とEC2料金を合算する必要があり、**2つのプライシング・カリキュレータを行ったり来たりするの大変なので、パッとわかる早見表を作りました!**(サーバーレスが主流になると要らなくなってしまうかもしれませんが。)

利用上の注意点、前提、表の説明は、[こちらの記事](https://qiita.com/nttd-saitouyun/items/abfeb9585de5da70867d#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB)に記載しております。まずはこちらをご覧ください。

:::note warn
– 本書は2024年7月20日ごろの情報をもとに作成しており、

元記事を表示

【AWS】CognitoのForgotPassword API実行時、UserNotFoundExceptionがスローされない

# 原因

「ユーザー存在エラーの防止」が有効化されているため。

![スクリーンショット 2024-07-20 213630.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/1daf408a-f779-0796-a731-01df3ee188ab.png)

https://docs.aws.amazon.com/ja_jp/cognito/latest/developerguide/cognito-user-pool-managing-errors.html

# 解決方法

「アプリケーションクライアントに関する情報」から「編集」を押下し、下記のチェックボックスのチェックを外す。

![スクリーンショット 2024-07-20 214009.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/71810f60-7e6e-20e4-7d8a-38b92b930550.png)

# 動作確認

元記事を表示

[Django] GmailとYahooメールが要求するワンクリック解除を実装する方法について

## 概要
2024年の2月からGmailとYahooでは1日5000通以上のメールを送信する場合はワンクリックによるメール購読解除機能を実装することが求められるようになりました
実装する際は以下の情報をメールのヘッダに追加する必要があるのでその方法について解説していきます

“`
List-Unsubscribe-Post: List-Unsubscribe=One-Click
List-Unsubscribe:
““

## 前提
– Djangoのプロジェクトを作成およびデプロイ済み
– Djangoのプロジェクト内でメール送信設定が完了済み
– AWS SESの設定が完了済み

## 実装
今回はDjangoのEmailMultiAlternativesクラスを使ってメールを送信します
EmailMultiAlternativesクラス内にヘッダを指定できるので以下のように記載します

“`emails.py
from django.core.mail import EmailMu

元記事を表示

勢いだけでAWS Certified Security – Specialty受けたら落ちた話

AWS Certified Security – Specialty (SCS-C02)を受けて来ました。

https://aws.amazon.com/jp/certification/certified-security-specialty/

# 1回目
## 勉強量

・書店で購入した参考書※の演習問題40問を3週
・Udemyの演習問題をサラッと30問くらい解いたとと思う。

※参考書
要点整理から攻略する『AWS認定 セキュリティ-専門知識』

https://www.amazon.co.jp/%E8%A6%81%E7%82%B9%E6%95%B4%E7%90%86%E3%81%8B%E3%82%89%E6%94%BB%E7%95%A5%E3%81%99%E3%82%8B%E3%80%8EAWS%E8%AA%8D%E5%AE%9A-%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3-%E5%B0%82%E9%96%80%E7%9F%A5%E8%AD%98%E3%80%8F-NRI%E3%83%8D%E3%83%8

元記事を表示

(※途中)AWS ECS+FargateでFirelens使う時のメモ

Firelensよくわからんくて吐きそうになったのでメモ。
Firelensはエンジン?にFluentdとFluentbit選べるらしいのだけど、後者のが軽くてよくてみんな使ってるらしいので、Fluentbitを使う。

Firelensは専用のコンテナをサイドカー構成で使う。
サイドカー構成はAWSでも推奨されているとのこと。
タスクが複数ある場合でも、1タスクにつき1サイドカーが推奨されているらしい。(AWSのサポートに聞いた)

# [用語]
この記事で独自に使ってる用語
・メインコンテナ: 実際に動かしたいコンテナを指す。自分で作るやつの事
・Firelensコンテナ: サイドカーとして動かすFirelens用のコンテナを指す。

# コンテナのログ設定について
以下はCloudFormationで作る時の設定の一部。
“`
ContainerDefinitions:
# Main Container
– Name: !Sub ${ProjectName}-ecs-container
Image: !Ref Ec

元記事を表示

【AWS】取得したドメインが使えなくなっていた話と解決策【Route53】

## 問題
以前は問題なく使用できていたアーキテクチャのALBでヘルスチェックが「Unhealthy」になりました。
EC2インスタンスの設定やセキュリティグループの問題かと疑いましたが、すぐには原因が特定できず時間をとられてしまったので備忘録です。

## 問題の原因
結局原因はRoute 53でドメイン名を登録した際に、メールから連絡先の検証をし忘れていてドメインが無効になっていたためでした。

Route 53でドメイン名を登録する際にAmazon Route 53から登録者の連絡先情報を確認するメールが届きます。
ドメイン登録手続き後そのメールが送られてきて15日以内にそのメールにあるリンクをクリックしてメールアドレスの認証をしないとドメインが停止されます。
今回そのメールの存在に気づいておらず、ドメインが無効になっていたために、ALBがターゲットのDNS解決に失敗し、ヘルスチェックが「Unhealthy」となっと考えられます。

以下ドメインが無効になった旨の通知メール。

:::note info
メール内容:
○○○ドメインは、2024年4月4日までに登録者連絡先のメール

元記事を表示

Databricks on AWS クラスター利用料金単価の早見表(Premiumプラン・2024年7月)

# はじめに

株式会社NTTデータ [デジタルサクセスソリューション事業部](https://enterprise-aiiot.nttdata.com/) の [nttd-saitouyun](https://qiita.com/nttd-saitouyun) です。

Databricks on AWS の利用料の見積もりを行う際に、コンピューティングの利用料はDatabricksの利用料とEC2料金を合算する必要があり、**2つのプライシング・カリキュレータを行ったり来たりするの大変なので、パッとわかる早見表を作りました!**(サーバーレスが主流になると要らなくなってしまうかもしれませんが。)

利用上の注意点、前提、表の説明は、[こちらの記事](https://qiita.com/nttd-saitouyun/items/abfeb9585de5da70867d#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB)に記載しております。まずはこちらをご覧ください。

:::note warn
– 本書は2024年7月20日ごろの情報をもとに作成しており、

元記事を表示

Databricks on AWS クラスター利用料金単価の早見表(Enterpriseプラン・2024年7月)

# はじめに

株式会社NTTデータ [デジタルサクセスソリューション事業部](https://enterprise-aiiot.nttdata.com/) の [nttd-saitouyun](https://qiita.com/nttd-saitouyun) です。

Databricks on AWS の利用料の見積もりを行う際に、**コンピューティングの利用料はDatabricksの利用料とEC2料金を合算する必要があり、2つのプライシング・カリキュレータを行ったり来たりしなければなりません。**

1. [Databricks Pricing calculator](https://www.databricks.com/product/pricing/product-pricing/instance-types)
2. [AWS Pricing Calculator](https://calculator.aws/) / [Amazon EC2 オンデマンド料金表](https://aws.amazon.com/jp/ec2/pricing/on-demand/)

元記事を表示

BedrockとPollyを使ってシャドーイングアプリを作ってみた

## はじめに
本記事では、BedrockとPollyを軸にシャドーイングアプリを作成した際の備忘録です。
個人で使用することを想定したアプリであるため、セキュリティ面はあまり考慮していませんのでご了承ください。

## アプリの概要
1. Bedrock先生にシャドーイング用の英文テキストを生成してもらう
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1371880/392855d6-2b04-b13f-eaab-5e3bcc5e0394.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1371880/9b8a7fe0-9aa5-c323-2a6a-8173d1725d8e.png)

2. 生成してもらった英文テキストをPolly先生が音声データに変換してもらう
![image.png](https://qiita-image-store.s3.ap-northeast-1.a

元記事を表示

OTHERカテゴリの最新記事