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

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

AWS: AWS入門(基本編3) – AWS公式学習コンテンツ・ドキュメントまとめ

###### 実施環境

Microsoft Edge 124.0.2478.67 (64bit)

### 0. 概要

AWS については公式から、非常に豊富な学習コンテンツやドキュメントが提供されています。
今回はこれらの学習コンテンツやドキュメントについて、代表的なものを一部紹介していきます。

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

### 1. 学習コンテンツ

#### 1.1. 全体概要紹介

AWS についてとりあえず簡単に知りたいという人には、以下の動画コンテンツをおすすめします。

https://aws.amazon.com/jp/events/aws-event-resource/beginner/

![スクリーンショット_12-5-2024_11711_aws.amazon.com.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1465018/2d3991a7-9e4c-fab1-f819-f9c064feefea.jpeg “1_1_0”)

##

元記事を表示

Cloudflareの使用IPレンジのプレフィックスリストを定期的に更新する処理を導入する。

# はじめに
とある案件で、`Cloudflare`が保持するIPレンジを自動で取得する機能があればなぁと思い、`Cloudflare`の使用IPレンジを更新する処理を作ったので紹介したいと思います。

# 機能を導入したきっかけ
先日始めてCDNサービスの`Cloudflare`を使う機会がありました。

同じCDNサービスの1つであるAWSの`CloudFront`は仕事でも使用しており、その際、オリジンサーバへ直接アクセスさせないようにするため、`CloudFront`からオリジンサーバへアクセスするときに使用するIPアドレスが登録されているマネージドプレフィックスリストをセキュリティグループと一緒に使用して、オリジンサーバへのアクセスは`CloudFront`からのアクセスに限定するようなことを行っておりました。

`CloudFront`であれば、VPC設定の「**マネージドプレフィックスリスト**」に`CloudFront`が使用するIPレンジの一覧が登録されているため、簡単にセキュリティグループ設定で送信元IPリストとして使用することができますが、`Cloudflare`

元記事を表示

【AWS×Webアプリ】CloudFrontのキャッシュ削除(Terraform)

## 目的
・AWS上の静的Webサイトホスティングを有効にしたS3をCloudFrontで公開。
・S3のコンテンツを更新した際に、CloudFrontのキャッシュ削除を行うLambdaを実装。

## 前提条件
・Terraformを使用してAWS上にリソースを作成する。
・Pythonを使用してLambdaを実装する。
・作成する内容は以下と同様

https://qiita.com/Haruki-N/items/f9e8fb32fd20285b57ad

## TFファイル
“`aws_s3.tf(前回からの追加箇所のみ抜粋)
resource “aws_s3_bucket_notification” “WebBucket_notification” {
bucket = aws_s3_bucket.WebBucket.id

lambda_function {
lambda_function_arn = aws_lambda_function.DeleteCache.arn
events = [“s3:ObjectCreat

元記事を表示

【AWS Hands-on for Beginners 手を動かしなら学ぶ Analytics サービス入門】 をやってみた #初心者

# このハンズオンで学んだこと
このハンズオンを実践して出来るようになったことは以下です。
・Amazon Redshift と Amazon QuickSight を利用したデータ分析環境の構築
・Amazon QuickSight を利用し、Amazon Redshift のデータ読み込み、データ分析の可視化を実行

また、これらの AWSサービスが接続し連携するための IAMロール作成についても、
どのサービスに対して、どのポリシーが必要で、どのようにアタッチするのか、を学べました。
IAM ロールの作成およびアタッチは(セキュリティの観点も含め)環境構築時の非常に重要な要素なので、簡単にではありますが一連の流れを学べたのは良かったです。

# 構成と利用サービスについて
今回構築した構成はこちらです。
![Analytics入門_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3674059/da378a7e-03ed-2cb4-4707-f9cc6c6b03c4.png)
めちゃくちゃシンプ

元記事を表示

【AWS】LaravelのDBをRDSからEC2に移行する

# 移行目的

 個人開発アプリの運用には RDS は高いから。業務プロジェクトで RDS から EC2 に移行するケースはないと思う。

# 環境

“`shell
# EC2 OS
$ cat /etc/system-release
Amazon Linux release 2023.4.20240429 (Amazon Linux)

# RDS DB Engine
$ aws rds describe-db-instances \
–db-instance-identifier database-1 \
–query ‘DBInstances[0].[{Engine: Engine, EngineVersion: EngineVersion}]’
[
{
“Engine”: “mysql”,
“EngineVersion”: “8.0.35”
}
]
“`

# 手順

 EC2 インスタンスを作り、MySQL サーバ/クライアントをインストール。その後 dump をエクスポート/インポートする。最後に L

元記事を表示

【AWS】LaravelアプリのTLSをALBにオフロードする

# 環境

“`shell
# EC2 OS
$ cat /etc/system-release
Amazon Linux release 2023.4.20240429 (Amazon Linux)

# Laravel
$ php artisan –version
Laravel Framework 11.4.0
“`

# 手順

 ALB の TLS 化には SSL/TLS 証明書が必要なので、Route53 でドメインを取得し、Cirtificate Manager で証明書をリクエストする。
 次にポート 443 のリスナーで ALB を作成する。
 最後に Laravel の環境変数、コードに修正を加える。

## 1. ドメインを取得する

Route53 で取得

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/621414/db967948-a15d-53ab-0897-a8477610d682.png)

## 2. SSL/TLS 証明書をリクエストする

元記事を表示

amazon linux に mysql client を入れるワンライナー

## 概要

タイトルの通りです。

## コマンド

“`bash
sudo dnf -y localinstall https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm && sudo rpm –import https://repo.mysql.com/RPM-GPG-KEY-mysql-2023 && sudo dnf -y install mysql mysql-community-client
“`

以上!
1分もかからずにインストールできます。

元記事を表示

Amazon Location Serviceの地図上にdeck.glで3Dモデルを表示してみる

## はじめに

実は、以前にも試したことがあるのですが、
Amazon Location Serviceの地図上にdeck.glで3Dモデルを重畳表示させてみました。

https://github.com/smallriver0316/deckgl-on-amazon-location-service

使用している技術スタックは、主にAmplify+React+Typescript+deck.glになります。

– Amplify
– Amazon Location Service
– React
– Typescript
– Vite
– Maplibre
– react-map-gl(amplify/ui-react-geo)
– deck.gl

また、データはお馴染みのPateau 3D tilesを使っています。
久しぶりに試してみて、いろいろ変更点があったのでまとめてみたいと思います。

## Amazon Location Serviceとは

Amazon Location ServiceはAWSが提供するGIS APIサービスです。

https://aws.a

元記事を表示

RAGって一体どれくらいトークンを消費するの?

ところで、RAGってどれくらいトークンを消費するのでしょうか?
シンプルな構成のRAGを作って検証しました。

## トークン数の取得方法

LangChainには`get_bedrock_anthropic_callback`という便利なものが提供されています。

https://python.langchain.com/v0.2/docs/how_to/chat_token_usage_tracking/#bedrock-anthropic

こんな感じで使います。

“`python
with get_bedrock_anthropic_callback() as cb:
result = llm.invoke(“Tell me a joke”)
result2 = llm.invoke(“Tell me a joke”)
print(cb)
“`

OpenAI用には`get_openai_callback`というものがあります。

## 構成

LangChainのチュートリアルを参考にしました。

https://python.langcha

元記事を表示

Amazon EventBridge SchedulerをAWS SDKを使って操作

# はじめに
アプリ開発において、定期的にもそうですが、時間差(数十分後等)で実行したい処理もあると思います。
プロセスを継続するという選択肢もありますが、AWSの勉強をしているので、せっかくなので何か活用できそうなサービスがないか探した結果、
「Amazon EventBridge Scheduler」というものを見つけました。
# Amazon EventBridge Scheduler とは

https://aws.amazon.com/jp/blogs/compute/introducing-amazon-eventbridge-scheduler/

もともとAmazon EventBridgeというサービスがあって、そのうちの一つの機能に、今回の主役である「EventBridge Scheduler」があるという位置づけのようです。
先行して、「EventBridge Rule」という機能がローンチされていてこちらがよく使われていたようです。

下記記事にこの2つの違いをまとめてくれています

https://dev.classmethod.jp/articles/eve

元記事を表示

データ処理方法と要件: クラウドでのストリーミング、イベント駆動、バッチ処理

## はじめに
データ処理の方法には、ストリーミング処理、イベント駆動処理、バッチ処理の3つがあり、それぞれ異なる要件に基づいて使用されます。本記事では、これらのデータ処理方法について説明し、Snowflake、Google Cloud、AWSの使用ツールと共に具体例を示します。

## データ処理方法と要件

| データの種類 | 処理の頻度 | 適切な処理 | 理由 | Snowflakeでのツール | Google Cloudでのツール | AWSでのツール |
| :— | :—: | :— | :— | :— | :— | :— |
| センサーデータ | 毎秒〜毎分 | ストリーミング処理 | リアルタイム解析が必要 | Snowpipe, Streams | Pub/Sub, Dataflow | Kinesis, Firehose |
| ログデータ | 毎分 | ストリーミング処理 | 継続的なモニタリングが必要 | Snowpipe, Streams | Pub/Sub, Dataflow | Kinesis, Firehose |
|

元記事を表示

【イベント】JAWS-UG山梨 第0回

## はじめに
・Qiita初投稿
・情シス2年目
・AWSとc#勉強中

## 目次
1.JAWS-UGとは
2.参加のきっかけ
3.参加してみて

## JAWS-UGとは
エリア、地域を拠点とした地域支部と、勉強会のテーマ、目的別に組織化された専門支部がある。主にAWSの勉強会(アウトプットの場)、コミュニティを広げる、インスパイアを目的としている。

## 参加のきっかけ
上司と1on1をしていた時に、もっと外の世界を知った方がいいとアドバイスいただき、巡り合わせもあり参加してきました。

## 参加してみて
なんと、AWS Ambassadorsの方が3名も参加くださいました。
会自体は初心者でもわかりやすいような内容でしたが周りのレベルが高かった😅
AWS Ambassadorsの方のお話「RAGの研究から予測する、これからのエンジニアに求められるスキル」の中でおしゃっていたことを少し抜粋させていただきます。
これからのエンジニアに求められるスキルは
・検索に関するスキル
・プロンプトエンジニアリング
・既存の技術
の3点である。

私自身全てに関してまだまだスキル足りてな

元記事を表示

Databricks Auto Loaderのファイル通知モードを試してみた

# 背景・目的
前回、[Databricks Auto Loaderを試してみた](https://qiita.com/zumax/items/4aa8352025641c381de2)では、Auto Loaderについて知識の整理や、簡単なハンズオンを試してみました。

今回は、Auto Loaderのファイル通知モードを試してみます。

# まとめ
ファイル通知モードで登場するAWSリソースは下記の通り。(だと思います。)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/206276/9bd62e2b-c556-8c5b-1d6a-f90b03de9126.png)

# 概要
ファイル通知モードの簡単な整理については、[こちら](https://qiita.com/zumax/items/4aa8352025641c381de2#%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E9%80%9A%E7%9F%A5%E3%83%A2%E3%83%BC%E3%

元記事を表示

【AWS】検証用にIAM Identity Centerを使用したらミスったのでIAMユーザを作り直した

# 経緯
検証用にIAM Identity Centerを経由してIAMユーザを作成したらなんか思ったとおりにいかなかったので。
# 現状
IAM Identity Centerを経由してユーザ作成して、そのユーザでコンソールにログインしてみたら以下画像のようになんの権限もなかった。そういえば権限割り当て画面とかなかったもんな…。
ということで作ったばかりのユーザではあるけれど、ステータスを無効化してIAMユーザの作り直しを始める。
※私のゴールはIAM Identity Centerを理解することではなく、自分が使えるIAMユーザを作ることなのでここでは前者の理解とかいったんすっ飛ばしてます。今度ちゃんと勉強します。

![e8c32228d500-20240117.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3804761/dd03914a-6886-4d94-5974-3eaf815b7965.png)

# やり直し
ユーザ作成画面に戻る。
思えば以下画面で「IAM Identity Cent

元記事を表示

EC2のキーペアの作り方(秘密鍵・公開鍵)

## やりたかったこと
複数人で同じEC2にアクセスして作業を行うときに、全員が「ec2-user」として同じ.pemを使ってアクセスするのではなく、作業用にそれぞれユーザーを作成し、それぞれに別々の.pemファイルを割り当てたかった。

## 作業手順

### EC2にssh接続
まずは「ec2-user」としてEC2にSSH接続します。
“`
ssh ec2-user@【IPアドレス】 -i 【pemのパス】
“`

### 作業をするためにユーザーをroot権限に変更
EC2内で様々な作業を行うため、あらかじめroot権限に切り替えておきます。
毎回sudoでコマンドを実行するのが面倒なので。
“`
sudo su
“`

### ユーザーを追加
作業用のユーザーを作成します。
“`
useradd 【ユーザー名】
“`

### 追加したユーザーをwheelグループに所属させる
作成したユーザーをsudoを使えるwheelグループに入れます。
wheelグループはsuやsudoコマンドを使えるユーザーグループです。ここに所属していないと、作業に必要なsuやsudo

元記事を表示

AWSのCloudFrontについてのまとめ

## CloudFrontとは
CloudFrontは、AWSが提供するコンテンツ配信ネットワーク(CDN)サービスです。CloudFrontは、ウェブサイト、API、画像、動画などのコンテンツを、ユーザーに迅速かつ安全に配信するためのもので、通信の遅延時間(レイテンシー)を最小化し、高速にコンテンツを配信します。

※CDNとは、インターネット上でウェブコンテンツを効率的に配信するための分散型ネットワークです。CDNは、地理的に分散したサーバー群から構成されており、ユーザーに最も近いサーバーからコンテンツを提供することで、ウェブページの読み込み時間を短縮します。

## できること
### コンテンツ配信の最適化
ユーザーに近いエッジロケーションからコンテンツを配信することで、データ転送の距離と時間を短縮します。これにより、ユーザーエクスペリエンスの向上とサーバー負荷の軽減が図れます。

### キャッシュと配信方法の制御
ビヘイビアを設定し、コンテンツのキャッシュと配信の方法を制御することが可能です。特定のパスパターンやリクエストに対してどのように応答するかを詳細に定義できるため、

元記事を表示

AWS CodeBuildでセルフホスト GitHub Actionsランナーを設定する

## 背景
– ソースリポジトリをセルフホストのGitLabからGitHubに移行する計画がある
– GitHubには社内からのみアクセスしたいので、GitHub Enterpriseの機能でソースIPを絞る必要がある
– GitHubホストランナーはIPアドレスが特定できないため使用不可
– セルフホストのGitHub Actionsランナーが必要となる

## 今回の記事の主目的:
セルフホストのGitHub Actionsランナーをがっつりとホスティングするのは避けたいので、何らかのサービスに乗りたいと思っていた。
そうしたところ、以下の機能が今年4月にリリースされたということを知り、試してみた。
https://docs.aws.amazon.com/codebuild/latest/userguide/action-runner.html

## ランナーの中でやっていること:
以下のようにJavaのDBテストを実施する(SpringBoot)
– MySQLのコンテナを起動
– actions/checkout
– actions/setup-java
– mvn test

元記事を表示

【AWS SageMaker】NotebookインスタンスにてProcessing(処理ジョブ)を行ってみた

# 背景
AWS SageMakerを勉強していると、学習で用いる「トレーニング > トレーニングジョブ」とは別に、「Processing > 処理ジョブ」がありました。処理ジョブ(Processing Job)の方は、データの前処理などを行う用途のようですので、理解を深めるために触ってみました。

# 行った事(概要)
音声通話をテキスト化するシステムのサンプルファイルが手元にありましたので、こちらを前処理のネタにしてみようと思います。
前処理の内容としては、通話内の話者毎(OPとCU)の発話で1行ずつ音声テキスト化のデータが入っているので、これを、通話毎に1行ずつの音声テキストのデータが入るようにしてみます。

具体的には、前処理の前はこのような形で、

![_キャプチャ1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3779844/ca3a1b63-6650-a622-d5c3-0518211e0251.png)
![_キャプチャ2.png](https://qiita-image-store.

元記事を表示

「AWS Client VPN Basic ハンズオン パターン2 Active Directory 認証 (ユーザーベース) 」をAWS CLIでやってみる

https://catalog.us-east-1.prod.workshops.aws/workshops/be2b90c2-06a1-4ae6-84b3-c705049d2b6f/ja-JP

上記、「AWS Client VPN Basic ハンズオンのパターン2 Active Directory 認証 (ユーザーベース)」 をAWS CLIでやってみる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3297641/85f7f4be-a1cd-144c-36b0-d0b604f4674e.png)
ハンズオンから引用
# 1.共通設定
共通設定は下記、「AWS Client VPN Basic ハンズオン パターン1 相互認証 (証明書ベース) をAWS CLIでやってみる」の項番1を参照

https://qiita.com/sincere_networker/items/9048218fa75dabc4be7a#1%E5%85%B1%E9%80%9A%E8%A8%AD%E5%A

元記事を表示

EC2インスタンスを立てて、web to caseを検証してみる

## 概要
– Web to Caseを検証する必要があるので、せっかくだからEC2を立てて検証してみる
– そもそもEC2立ててやる必要ないだろうという声もあるのですが、IacやSalesforceなどの複数の技術領域を掛け合わせて実現するという目標でやってみたいと思いました。

## やること
– Terraform でネットワークの設定含めてEC2周りをセットアップする
– SFDC Developer Edition を取得する
– recaptcha設定
– Web to Case 設定及び HTML を生成
– EC2 に生成した HTMLを配置
– ルーティングの設定
– 動作検証

#### 最終的な構成は下記の通りとなる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3531653/fa5e792a-635a-4b34-dc49-3d1ad9109ff2.png)

#### Terraform でネットワークの設定含めてEC2周りをセットアップする
– ソースコード

元記事を表示

OTHERカテゴリの最新記事