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

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

[Amplify]boto3でS3のオブジェクトを操作するときの権限を付与する。

# はじめに
Pythonでboto3を使用してS3バケットのオブジェクトを操作するときに、エラーにハマったので、メモとして残しておきます。

# エラーの内容
boto3を使用して、S3のオブジェクトを操作しようとしたときに、以下のエラーが発生した。
“`
An error occurred (AccessDenied) when calling the CopyObject operation: Access Denied”
“`

このエラーはS3のオブジェクトを操作するにあたって、権限が足りていないことが原因です。
しかし、以下のように権限は付与されていました。
“` custom-policies.json
{
“Version”: “2012-10-17”,
“Statement”: [
{
“Action”: [
“s3:GetObject”,
“s3:ListObject”
“s3:PutObject”,
“s3:DeleteObject”

元記事を表示

BedrockとLCELでAdvancedRAGのクエリ拡張をやってみる

LLMでretrieveの前処理を行い、クエリを書き換え、または分割してからナレッジベースに対してn件のretrieveを行い、LLMで回答を生成するRAGをLCELで書いてみます。
※この記事ではretrieveの後処理は実装していません。

クエリを書き換えるがretrieveは1件のみで作った例は以下

https://qiita.com/cyberBOSE/items/fd65de9f857d36180fa5

# 参考文献

https://aws.amazon.com/jp/blogs/news/verifying-the-accuracy-contribution-of-advanced-rag-methods-on-rag-systems-built-with-amazon-kendra-and-amazon-bedrock/

https://github.com/langchain-ai/langchain/blob/master/cookbook/rag_fusion.ipynb

※上記以外にもLangChainのDocumentは色々あります。

http

元記事を表示

Azure DatabricksからのAWS S3へのアクセス

こちらの手順をウォークスルーします。

https://learn.microsoft.com/ja-jp/azure/databricks/connect/storage/amazon-s3

こちらも参考にしています。

https://medium.com/@malavansa/azure-databricks-and-aws-s3-storage-92cf03636c9

:::note warn
**警告!**
クラウド横断での接続を行う構成ですので、以下の点には注意してください。

– アクセスに用いる認証情報は厳重に管理してください。
– クラウド間通信のコストが発生することに注意してください。
:::

# AWS側での作業

## S3バケットの作成

`taka-bucket-from-azure`というS3バケットを作成します。**S3ブロックパブリックアクセス**は有効化してください。
![Screenshot 2024-05-21 at 9.39.25.png](https://qiita-image-store.s3.ap-northeast-1.amazo

元記事を表示

[CI CD] OIDCでGithubActionとAWS繋がってReactAppのCI CDを設定

# 前提
[前の記事](https://qiita.com/17021084/items/741157305e88df986588#:~:text=%E3%80%8CDone%E3%80%8D%E3%82%92%E6%8A%BC%E3%81%99%E3%81%A8%E3%80%81%E3%80%8Csecret%20access%20key%E3%80%8D%E3%81%8C%E8%A6%8B%E3%81%88%E3%81%BE%E3%81%9B%E3%82%93%E3%81%8B%E3%82%89%E3%80%82%E5%BF%B5%E3%81%AE%E7%82%BA%E3%80%81%E3%82%AD%E3%83%BC%E3%82%92%E3%83%80%E3%82%A6%E3%83%B3%E3%83%AD%E3%83%BC%E3%83%89%E3%81%97%E3%81%BE%E3%81%99)にはこちらテーマも説明しました。但し、「Secret access key」をダウンロードして、GitHubに保存することから、漏れる懸念があります。

# 概要
本記事では、「Secr

元記事を表示

AWS Data Engineer Associateの学習方法

# はじめに
2024年4月から始まったAWS認定DataEngineerAssociateの学習方法を書いていきます。

# 試験ガイドを読む
https://d1.awsstatic.com/ja_JP/training-and-certification/docs-data-engineer-associate/AWS-Certified-Data-Engineer-Associate_Exam-Guide.pdf

>AWS Certified Data Engineer – Associate (DEA-C01) 試験では、受験者がデータ
パイプラインを実装し、ベストプラクティスに従ってコストとパフォーマンスの
問題をモニタリング、トラブルシューティング、最適化する能力を検証します。
また、次のタスクについての能力も検証します。
• プログラミングの概念を適用しながら、データを取り込んで変換し、データ
パイプラインをオーケストレーションする。
• 最適なデータストアの選択、データモデルの設計、データスキーマの
カタログ化、データライフサイクルの管理を行う。
• データパイプラ

元記事を表示

Amazon Location Serviceでジオコーディングとリバースジオコーディングをやってみた

今回は、Amazon Location Serviceを使ってジオコーディングとリバースジオコーディングに挑戦してみました。
備忘録も兼ねて、手順をまとめてみたので、皆さんの参考になれば嬉しいです。

## 1. Amazon Location Serviceの設定
まずは、AWS CloudFormationを使ってAmazon Location Serviceの設定をします。以下のYAMLファイルを使って、PlaceIndexとAPIKeyを作成します。
“`
AWSTemplateFormatVersion: “2010-09-09”
Description: Create AmazonLocationService PlaceIndex&APIKey

Resources:
########################
### AmazonLocationService PlaceIndex
########################
PlaceIndex:
Type: AWS::Location::PlaceIndex
Prope

元記事を表示

Node.jsで書いたSeleniumのコードをマルチデバイス対応させる

# はじめに
普段はとある企業でフロントエンドを担当しています。
たまにバックエンドやインフラもやりますが、今回はテストシステムの構築から始めたのでフロント&インフラが絡むお話です。

# 背景
社内開発で、リリース前テストは要望の上がったユーザー部門で行ってもらっていましたが、いろいろ対応しなければいけないパターンが出てきたことからテストの自動化を進めていきました。

# 課題
## テストがそもそも負担大
私のいる会社では社内の担当部署で動作チェックを行ってもらい、問題なければリリース・・・というプロセスを踏んでいます(もっと良いフローはあると思う)
もちろん担当部署には他の仕事があるのでテストばかりやっているわけにはいきません。

## 機能・アプリの増加によるテストケース増加
これはテストを網羅的に実施しようとすると永遠に付きまとう問題かと思います。
手作業でテストを行っていたのでなおさら負担は大きいものでした。

## テストでマルチデバイス対応が必要になっていた
iOSのある特定のOSバージョンでしか発生しないバグが発生するなど、ユーザーテストでは網羅に限界のある内容が出て

元記事を表示

SUUMOにて割安賃料物件を見つけよう_アプリ作成編

![suumo.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2664262/abb34c4e-889e-71ee-7a36-257fedaa8146.png)
# 概要
SUUMOにて割安な賃料物件を探しました。

#### 調査の流れ
調査は以下の3つに分割しました。
1. [データ基盤構築編](https://qiita.com/delta_K/items/ed61b64048cfb86083b5)
2. [モデル作成編](https://qiita.com/delta_K/items/9b8b09d44e352c728f90)
3. [アプリ作成編](https://qiita.com/delta_K/items/2579d99966d3d7bc7df2)(今回の記事)

# アプリ作成編
以下のアーキテクチャ図の構成でモデルの挙動の可視化をするアプリを作成しました。

![SUUMO_賃料予測ツール.drawio.png](https://qiita-image-store.s3.ap-n

元記事を表示

AWS SAA合格体験記 20日(63時間)で合格!

# はじめに
AWS Certified Solutions Architect – Associate(SAA)を20日(63時間)で合格するまでの勉強方法、使用した教材等を記します。また、SAAを取得したいが、何をすればいいか分からないという方に向けて、おすすめの勉強方法等を提示したいと思います。
この記事が誰かの役に立てればと思います。

※AWS SAAとは([AWS公式サイト](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/))
## 私の勉強開始前の知識レベル
・AWS CLFの資格 取得済み
・実務で2週間程度コンソール画面を触っていた

AWS CLFの学習に関しての[記事](https://qiita.com/nishi_nishi/items/95fa63ace3b8bcfb3d4e)も書いています。

## 学習ルート
以下の手順で学習を進めました。

– **Step 1: kindleの書籍で340問を2周解く(1問1答)** - [kindle問

元記事を表示

AWS Elastic IPをアカウント間で転送する方法のメモ

## 概要

下記記事を参考に自分もElastic IPをAWSアカウントをまたいで転送してみたので体験記をメモ的に残す。

https://dev.classmethod.jp/articles/amazon-virtual-private-cloud-vpc-transfer-elastic-ip-addresses-between-aws-accounts/

## 必要な情報

転送する前に下記の情報を先に確認、メモしておく必要がある。

– 転送先のアカウントID(4桁-4桁-4桁)
– 転送対象のElastic IPのIPアドレス

## 方法

1. 転送元のAWSアカウントにログインし、Elastic IPの画面にアクセス
1. 転送対象のElastic IPを選択
1. 「アクション」をクリック
1. 「転送を有効化」をクリック
1. 「転送アカウント ID」に転送先のアカウントIDをハイフンなしで入力
1. 転送先のアカウントでAWSにログインし、Elastic IPの画面にアクセス
1. 何も選択せず「アクション」をクリック
1. 「転送を承諾」をクリック
1.

元記事を表示

【AWS】ヘルスチェックUnhealthyの原因は、Routeの「明示的なサブネットの関連付け 」がされていないことだった…

# 概要
AWS Cloudformationでネットワーク周りからEc2サーバ、デプロイ関連まで実装しました。
しかし、TargetgroupのヘルスチェックがUnhealthyのためデプロイが失敗してしまいました。
今回はネットワーク周りのエラーだったので解説します。

# 原因と解決策
ヘルスチェックがunhealthyを返す、というのは、ターゲット(EC2)へ定期的に行うHTTP GETリクエストに対してレスポンスが帰ってこない場合やそもそもターゲットに到達しない場合に発生するエラーです。

色々な原因が考えられますが、そもそもネットワーク接続に問題がある場合にunhealthyになることがあります。
そして、UnhealthyだとCodedeployでタイムアウトエラーになったりするので後続処理に影響が出ます。

今回の原因はRouteの「明示的なサブネットの関連付け」で、サブネットを関連づけていなかったためでした。
ヘルスチェックは、ルートテーブルがサブネットと正しく関連付けられていることが大前提です。
(もっと言えばインターネットゲートウェイと繋がっているかどうかも)

元記事を表示

AWS Specialty Security合格まで

# はじめに
私はAWSを使い始めて今年で約2年半になります。
文系出身の元新卒エンジニアです(笑)
新卒からの2年間で、Cloud Practitioner, SysOps,DVA,SAAを取得してきました。
今回は初めてspecialtyに挑戦し合格したので、その記録を残そうと思います。

# SCSとは
AWS Certified Security – Specialty(SCS)とは
>AWS クラウドにおけるセキュリティソリューションの作成と実装に関する知識を認定します。この認定では、専門的なデータ分類と AWS のデータ保護メカニズム、データ暗号化方法とそれらを実装するための AWS メカニズム、および安全なインターネットプロトコルとそれらを実装するための AWS メカニズムについての理解も検証されます。

セキュリティに関しての専門知識が問われます。
受験料は300 USDです。(最近値上げしましたね。。。)
時間は170 分で、65問出題されます。
テストセンターや、自宅で受験することができます。

# 勉強方法
私は毎回とにかく問題を解きまくるスタイルです(笑)
最初

元記事を表示

Amazon S3の「事実上無制限」とは?

# おことわり
新人目線でイメージをつかむため記載したものです。
専門的な調査を行ったり、専門的な資料から統計を取ったという訳ではありません。

# きっかけ
今年度、新卒メンバーにはAWSに関する研修が含まれており、
質問は、私の所属チームが回答することになりました。

順調に質問・回答のラリーが行われ、研修期間も終わりに差し掛かったころ、
ある質問がチャンネルに投稿され、メンバーを悩ませることになりました。

# S3の容量は無限にある?
質問の要約は次の通りです。

> Amazon S3のストレージは無制限ということは、容量が無限にある?
それとも容量自体は有限の値でその容量に制限をかけていないだけ?
容量が無限にあるという意味ならば技術的にどうやって実現している?

おそらくこの質問が生じたきっかけは、
下記内容に近い文言をどこかで目にしたからでしょう。

> Q: Amazon S3 とは何ですか?
Amazon S3 は、任意の量のデータの保存と取得をどこからでも行えるように設計されたオブジェクトストレージです。S3 は、業界をリードする耐久性、可用性、パフォーマンス、セ

元記事を表示

VSCでAmazonQやCodeWhispererを利用する方法

## はじめに
従来、VSC(Visual Studio Code)で、AmazonQやAWS CodeWhispererを使用するためにはAWS Toolkitを導入する必要がありました。最近では、これらの機能はAWS Toolkitから分離した形で提供されるように変わっていますので、備忘録的に変更内容を纏めてみました。

## VSCでの拡張機能セットアップ
### 従来の導入方法
従来は、AWS Toolkitという名前の拡張機能に含まれていたので、こちらをVSCにインストールする必要がありました。当時の導入手順等は下記の記事に書いています。

https://qiita.com/duelist2020jp/items/090a98e5fa17fa96e319

:::note info
あくまでも導入方法が変わっているだけで、AmazonQやCodeWhispererそのものは変わっていません。
:::

### 現在の導入方法
最近では、下記画面に見られるように「AmazonQ」という名前の拡張機能をインストールしてあげる必要があります。

![q2.jpg](https:/

元記事を表示

Amazon Bedrock モデル評価の「人間ベースの評価」を試してみた

# はじめに
こんにちは、朝日新聞社メディア研究開発センターの杉野です。
新機能や使用可能なLLMモデルが次々と更新され、目が離せないAmazon Bedrockですが、今回は、先日公開された新機能「モデル評価」について書いてみたいと思います。3種類の評価方法があり、中でも「人間ベースの評価」が気になったので、一体どんなものか試してみました。

https://aws.amazon.com/blogs/aws/amazon-bedrock-model-evaluation-is-now-generally-available/

https://japan.zdnet.com/article/35218209/

# 人間ベースの評価とは
Amazon Bedrockメニューの「評価と導入」の中の「モデル評価」ページに進むと、「自動評価」「人間ベースの評価」「AWSマネージド評価」の3種類の評価方法が提示されます。そのうちの真ん中の機能です。
![スクリーンショット 2024-05-09 22.33.10.png](https://qiita-image-store.s3.ap-nor

元記事を表示

CloudFrontを用いたS3静的サイトの構築

# TL;DR
– CloudFront + S3 で静的サイトを構築できる
– OAC;Origin Access Control を用いてS3のオブジェクトへのアクセスをCloudFront経由に限定する事ができる
– OAC を用いる場合は CloudFront のオリジンは **オブジェクトストレージの S3 エンドポイント(URL)** を指定する

# はじめに
CloudFront + S3 で静的サイトを構築してみましたが、意外と苦労をしたので作業手順をまとめました。

# 作業手順

– S3静的サイトを構築
– バケット選択 > プロパティ > 静的ウェブサイトホスティング
– アクセス許可 > パブリックアクセスをすべてブロック のチェックを外す
– バケットポリシーを変更して s3:GetObject をAllowする。
参考:[公式(バケットポリシー)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/HostingWebsiteOnS3Setup.html#st

元記事を表示

スタートアップ/自社開発企業のWeb&データインフラ基盤でありそうな構成

# はじめに
スタートアップや自社開発企業でインフラ環境を0から構築する際、よくある構成を列挙してみました。
※この記事は個人の見解に基づいています。もし偏見があるように感じられたら、申し訳ございません。
※クラウドは、AWS前提とさせてください。

# 全体構成図
ざっくり、こんな感じかなと思いました。
![スクリーンショット 2024-05-19 15.07.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/263017/a4d83d13-f8d7-46d6-1afb-fdddf4d10363.png)

# 環境構成
dev, prod用のAWSアカウントが必要なので、二つあるといいかなと思いました。
理想は、金銭的に余裕があればですが、stg用のアカウントも欲しいです。

# IaC
Terraformが使いやすく、いいかなと思いました。
手動で実行した方が早いので、スキルさえあればそんなにヒューマンエラーが発生するものでもないです。
そのため、最初のうちは無理してGitHub Actions

元記事を表示

AIレシピ生成アプリをRails×Next.js×ECSで作ってみた

# はじめに
webアプリケーションを久しぶりに作成したので紹介記事です。
実際に運用して、1000ユーザー獲得を目指します。

# 開発アプリ概要
### アプリ名: FitChef
カロリーや調理時間、使いたい食材、苦手な食材の情報をもとにAIがレシピをその場で生成します。
※塩分量、タンパク質量、食事のジャンル(和食、洋食、中華)、グルテンフリーなどの項目も追加予定

### アプリurl
※Comming Soon

### 使用技術
– Backend
– Rails 7.0.8.1(api mode)
– Ruby 3.2.2
– Nginx
– Puma
– Mysql
– Frontend
– Next.js 14.1.0(app router)
– React 18
– typescript 5
– Infra
– AWS(ECS Fargate/ECR/RDS(mysql)/ALB/Route 53/ACM/VPC)
– Vercel
– Docker
– docker

元記事を表示

コマンドラインからWordPressをインストールし直す

学習のためにAWSのEC2上でWordPressインストールしていろいろ見る、というのをやろうとした際、うっかりEC2のElastic IPを設定し忘れ、起動するたびIPが変わる環境になっていたため、インストール済みのWordPressにログインできなくなった、とかいうアホみたいな状況に陥ってしまった  (ᐛ) ばなな
なんとかするにはWordPress消して入れ直す=ちゃんとElastic IP設定した状況で設定し直す必要があるので取り組んだが、「消す」部分についてあまりいい手がかりが見つからなかった
なんとかできたことはできたので備忘録的に書いておく

# TL;DR
– (ssh接続から)WordPress用に設定したデータベースを `DROP DATABASE ~` で消す
– データベース作り直す(権限とかも付け直す)
– `/var/www/html/` 下のWordPress用ファイルを `rm -rf` で全て削除する
– `/var/www/html/` に再度WordPress用ファイルをコピーする
– 対象IP(ドメイン登録してあればドメイン)にアクセスしWord

元記事を表示

Terraformのモジュールを試してみた

# 背景・目的
過去に、[Terraformのメモ](https://qiita.com/zumax/items/71184fc108b6894e5b27)、[Terraform ステートを試してみた](https://qiita.com/zumax/items/74fad1270d3deab7379f)、[Terraformの環境をセットアップしてみた](https://qiita.com/zumax/items/71184fc108b6894e5b27)等で、Terraformを試してきました。

今回は、詳解 Terraform 第3版の、「第4章 モジュールで再利用可能なインフラを作る」を元に、モジュール化を学びます。

# まとめ
下記に特徴をまとめます。

|特徴 |説明|
|:–|:–|
|概要|モジュールは、本場とステージングのように、共通の環境は同じでスペックが異なる場合がある。Terraformモジュールに入れて、そのモジュールをコード内の複数の場所で使い回す|
|モジュールの基本|あるフォルダにあるTerraform設定ファイルの集まりを指す。|
|モジュ

元記事を表示

OTHERカテゴリの最新記事