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

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

【SageMaker】BERTモデルのトレーニングのやり方 ~チェックポイントを添えて~

どうもこんにちは。

今回は、以前投稿したBERTモデルのトレーニングをチェックポイントありの状態でやってみました。

とりあえずBERTモデルのトレーニングをやってみたいという方は以下の記事の通りにやっていただくことをお勧めします。

https://qiita.com/PDC-Kurashinak/items/f55d5d9e534f59440313

# チェックポイントって何?

めちゃんこ大量のデータを使用してトレーニングを行いたい時が人によってはあると思います。その時になんらかの不具合が発生して、トレーニングが途中で止まってしまうということがあります。

チェックポイントを使用してトレーニングを行うと、**止まってしまった部分からトレーニングを再開することができます**。

他にも、**定期的にシステムからデータを取得して追加でモデルをトレーニングさせたい** という時にも、チェックポイントを使用することで実現できます。

# BERTってなに?

そもそもBERTモデルの話

元記事を表示

Databricksでデータパイプライン構築:Databricks on AWS クラスター利用料金単価の作り方

# はじめに

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

先日、以下の記事を書きました。今回はこの単価表を作るために作成したデータパイプラインについてご紹介します。

– [Databricks on AWS クラスター利用料金単価の早見表(Enterpriseプラン・2024年7月)](https://qiita.com/nttd-saitouyun/items/abfeb9585de5da70867d)
– [Databricks on AWS クラスター利用料金単価の早見表(Premiumプラン・2024年7月)](https://qiita.com/nttd-saitouyun/items/1326c7798dcb8012352b)
– [Databricks on AWS クラスター利用料金単価の早見表(Standardプラン・2024年7月)](https://

元記事を表示

Azure と AWS の L7 ロードバランサーの主要な違いを個人的に比較

L7 ロードバランサーは、ざっくりいうと、HTTP の内容(URL や HTTP ヘッダーなど)を利用した高度な負荷分散をできる仕組みです。

Azure の場合は Application Gateway V2(以降、Azure AGW と表記)、AWS の場合は Application Load Balancer(以降、AWS ALB と表記)が該当します。

Azure Application Gateway V1 は廃止されるため、Application Gateway V2 の方を検討することになります。

Azure AGW に Basic SKU が登場([2024/7/25 時点で Public Preview](https://azure.microsoft.com/ja-jp/updates/public-preview-azure-application-gateway-v2-basic-sku/))したことで、改めて気になったので確認してみました。

## 機能面の比較

| 項目

元記事を表示

Backlog Gitリポジトリの更新をトリガーに、Amazon S3にコンテンツを自動でアップロードする

# はじめに

## この記事の概要

この記事では、タスク管理ツールBacklogのGitリポジトリとAmazon S3(以下、S3)との連携方法についてまとめています。
流れとしては、Backlog GitリポジトリのWebフックを使用して、リポジトリの更新をトリガーにLambda関数が実行されるようにします。そして、Lambda関数がS3にファイルアップロード処理を行います。
この一連の流れの具体的な構築方法や注意点をまとめています。

## BacklogのGit機能について

[Backlog](https://backlog.com/)はタスク管理ツールです。そして、その機能の一つにGit機能があります。
ソースコード管理といえば、IT業界全体では、おそらくGitHubを使用しているチーム(人)が多いと思いますが、タスク管理にBacklogを使用しているケースでは、タスクとソースコードの紐付けが行いやすかったり、タスク管理とソースコード管理(他にもWiki機能もあるのでドキュメント管理なども)を一元化できるなどのメリットがあります。

このGit機能は基本的には特に不自由な

元記事を表示

AWS CDKでCloudfront – Lambda FunctionURLsのOACを定義する

## 以前の記事

https://qiita.com/Kanahiro/items/85573c9ae724df435a6a

## TL;DR

“`typescript
import * as iam from ‘aws-cdk-lib/aws-iam’;
import * as cloudfront from ‘aws-cdk-lib/aws-cloudfront’;
import * as lambda from ‘aws-cdk-lib/aws-lambda’;

// 以下のようなリソースが定義されているとして(当然このままでは動かない)
const distribution = new cloudfront.Distribution({hoge:fuga});
const lambdaFunc = new lambda.DockerImageFunction({{hoge:fuga}};
const funcUrl = lambdaFunc.addFunctionUrl({
authType: lambda.FunctionUrlAuthType.AWS_IA

元記事を表示

VPCを設定したLambdaからインターネットにアクセスしたい

# 要約
① NATゲートウェイを設置したパブリックサブネットを用意する
② NATゲートウェイにルーティングさせるルートテーブルを設定したプライベートサブネットを用意する
③ Lmabdaに②で作成したプライベートサブネットを指定する

# 図解
![lamba-nat.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/676792/8c9a4293-ef95-5d5d-5291-03e449645f42.png)

Lambdaは、デフォルトの設定ではAWSが自動で設定したVPCに設置され、自由にインターネットへのアクセスができます。

ただし、なんらかの事情で(例えばVPC内のリソースにLambdaからアクセスしたい時など)自分のVPCにLambdaを設置したい場合は、

図のようにNATゲートウェイを経由してインターネットにアクセスする必要があります。

# なぜNATを経由する必要があるのか
例えば、以下のようにパブリックサブネットに直接Lambdaを設置してインターネットにアクセス

元記事を表示

【Amazon Simple Notification Service】Pub/Subメッセージングとは

## Pub/Subメッセージングとは

Pub/Subメッセージングは、メッセージの**発行者**(パブリッシャー)と**購読者**(サブスクライバー)を分離する分散システムのメッセージングパラダイムです(※仕組みについては後述)。

Amazon Simple Notification Service(以下、SNS)では、このPub/Subメッセージングパラダイムに従いプッシュメカニズムを使って配信を行うことができます。

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

## Pub/Subメッセージングの主要コンポーネント

Pub/Subメッセージングを理解するためには、以下の4つのコンポーネントを理解しておく必要があります。

1. **パブリッシャー**: トピックにメッセージを発行するエンティティ
2. **メッセージ**: 発行者から購読者に送信される情報
3. **トピック**: メッセージが発行される論理的アクセスポイント
4. **サブスクライバー**: トピックからメッセージを受信するエンドポイント

パブリッシャーが情報(メッセージ)をトピック

元記事を表示

【DAY9】AWS Coud9について

# AWS Cloud9とは
「AWS Cloud9」とは、AWSが提供するサービスの一つで、クラウド環境でアプリケーションの開発やデータベースなどの利用が可能な統合開発環境(IDE)です。
## AWS Cloud9を利用するメリット
### ブラウザ上のみでコードを記述できる
AWS Cloud9はクラウドベースのサービスであるため、クラウド環境のみで開発環境を作れます。場所を問わず、どこからでも作業ができます。
### リアルタイムで共同作業ができる
AWS Cloud9はペアプログラミング機能を有しており、効率的に作業できます。
ペアプログラミングとは、単一の環境で2人のユーザーが一緒に同じコードに対して作業することを指します。

元記事を表示

【DAY7】AWS 、GCP、Azureの違い

## AWSの特徴
AWSは最も広範なサービスを提供しており、クラウドサービスの中でもトップシェアを誇ります。
また、データセンターは世界中に分散されており、日本語によるサポートも24時間365日受けることができます。

## GCPの特徴
GCP(Google Cloud Platform)はビッグデータの処理やAI、機械学習の開発に優れたサービスに強みを持っています。
また、Googleが運営しているためGoogle社内で利用されているインフラ環境・技術を利用できます。

## Azureの特徴
AzureはMicrosoftが提供しているクラウドサービスであるため、Microsoft製品との相性がよく、様々なアプリケーションやサービスとの連携や移行が可能です。
また、Azureはオンプレミス環境とクラウド環境の両方に対応しており、高いセキュリティ機能も備えています。

元記事を表示

【DAY5】AWSのアカウント、ユーザーについて

# AWSアカウント
AWSにおけるアカウントとは、「ひとつひとつの環境のこと」を指しています。
利用者はそのアカウントの範囲内でVPCやEC2といったAWSリソースを複数持つことが可能です。

# rootユーザー
rootユーザーとは、AWSアカウントの作成時に作成されるものです。
アカウント内の全てのAWSサービスとリソース、請求情報についてフルアクセス権限を持ったユーザーになります。

# IAMユーザー
IAM(AWS Identity and Accecc Management)は、AWSリソースへのアクセスを安全に管理するためのサービスです。
IAMユーザーはAWSアカウント内での権限をカスタマイズできるユーザーになります。
IAMポリシーをアタッチすることで権限のカスタマイズができるようになります。

## アカウントとユーザーの違い
アカウントというと直感的には個人のものを想像すると思います。(Googleアカウントなど)
しかし、AWSにおけるアカウントはAWS環境のことを指します。
そして、Googleアカウントのような個人のものがユーザーに当たります。

元記事を表示

【AWS】クラウドインフラストラクチャの構築をしてみた

こんにちは、Reikaです。
私は現在、アプレンティスの5期生として日々勉強に励んでいます。

https://apprentice.jp/lp

アプレンティスの課題として **AWSでクラウドインフラストラクチャの構築** に取り組みました。
学習を進める中で、私は以下の山浦さんのUdemy講座を参考にしながら、まるで二人三脚のように進めていました。↓

https://www.udemy.com/course/aws-and-infra/?couponCode=ST4MT73124

最初はネットで情報を検索し、操作し、分からないことがあればその都度調べるという方法をとっていましたが、その過程で何をしているのか迷子になってしまいました。
そこで、山浦さんのUdemy講座を受講し始め、しっかり理解しながら学習と構築を進めることができました。冗談抜きで、非常におすすめです。笑

今回はこの経験を通じて学んだことについて、記述していきます!

# 簡単に自己紹介
* 2023年12月〜独学でプログラミングの勉強

元記事を表示

転職したての社会人1年目がAWS全冠とJr. Championsをダブル受賞した話

## 目次
1. [はじめに](#はじめに)
2. [私について](#私について)
3. [Japan AWS Jr. Championsとは?](#japan-aws-jr-championsとは)
4. [ダブル受賞までの道のり](#ダブル受賞までの道のり)
– [AWS All Certifications Engineers](#aws-all-certifications-engineers)
– [AWS Jr. Champions](#aws-jr-champions)
5. [1年を振り返ってみて](#1年を振り返ってみて)
6. [おわりに](#おわりに)

## はじめに
先月開催された**AWS Summit Japan**において、**AWS Partner Network (APN)** に参加している企業とその社員を対象とした表彰プログラムの受賞者が発表されました!
数ある表彰プログラムの中で、この度 **「2024 Japan AWS All Certifications Engineers」** と **「2024 Japan AWS J

元記事を表示

Amazon MemoryDB × ChatGPT Embeddings で 近似値検索してみた

# 経緯

Amazon MemoryDBでベクトル検索が一般公開で使えるようになったのでChatGPTのEmbedding早速使ってみた。

https://aws.amazon.com/jp/blogs/news/vector-search-for-amazon-memorydb-is-now-generally-available/

# Amazon MemoryDBについて

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

詳しくは上記を参照してください。
Amazon ElastiCacheとMemoryDBの違いがわからないのでChatGPTさんに聞いてみた。

“`
ChatGPT: Amazon MemoryDBとAmazon ElastiCacheの違いは?
“`

Amazon MemoryDBとAmazon ElastiCacheは、両方ともインメモリデータベースおよびキャッシュサービスですが、異なるユースケースや設計思想に基づいて提供されています。それぞれの特徴と主な違いについて以下に説明します。

### Amazon Memo

元記事を表示

aws-cdkで実運用を意識してインフラ構築していく VPC編

## はじめに

AWSの情報はいっぱいあるんですが、実際にどうサービスに実運用していくかは、やはり自分で考えていくものなので、こんな風に考えてこうやってますという紹介します。
AWSの環境構築方法は、今たくさんあると思いますが、ここでは `aws-cdk`を使って説明します。

※ 基本的なcdkの操作方法や用語の説明などは書きません。

## cdkによるIaCメリットとか

インフラのコード化は、「いつこの設定をしたっけ」がなくなります。

cdkの設定をコード管理しておけば、履歴を簡単に作成でき、更新や戻しも簡単です。
最初はCloudFormationテンプレートを直で作成して頑張ってやっていましたが、cdkを使った作成の方が直感的でわかりやすくスタック間の連携がしやすいのでメリットの方が多いです。

また、aws-cdkは頻繁に更新されるので割とcdkの内部的な処理変更でスタック更新を余儀なくされることがあり、設定自体の変更がなくても本番にdeployすることがよくあります。作業が増えるので、これをメリットと捉えるか難しいところですが、セキュリティパッチやNodeJSやRD

元記事を表示

AWSが2024年7月25日に新規利用終了したサービスと代替

AWSがCloud9、CodeCommit、他いくつかのサービスで、新規利用受付を終了したと、チーフエヴァンジェリストのJeff BarrがX(旧Twitter)に投稿しました。これらのサービスをすでに利用開始しているAWSアカウントでは現時点で引き続き利用できますが、未利用のAWSアカウントでは新規利用開始ができないようです。

終了されるサービスの代替情報などを(私見ですが)まとめます。

# 終了すると言及されたサービスは?

以下です(Jeff Barrの投稿での記載順)。

* S3 Select
* CloudSearch
* Cloud9
* SimpleDB
* Forecast
* Data Pipeline
* CodeCommit

いくつかはすでに類似サービスがあり、そちらが主流になっていて、影響が小さいかと思います。ですがCloud9とCodeCommitはいまでも利用者が多く、後継サービスがAWSになく、少なからず影響がありそうです。

# なにが起きますか?

上記のサービスをすでに使用しているアカウントでは、引き続き使用可能なようです。私の環境では、Cl

元記事を表示

VPC、オンプレミスとの接続まとめ(SAA-C03)

SAA-C03向けメモ

## VPC
構成要素
茶色のリソースはVPC作成時に自動で作成される

– インターネットゲートウェイ or 仮想プライベートゲートウェイ
– サブネット
ルートテーブル
ネットワークアクセスコントロールリスト(NACL)
セキュリティグループ(SG)

ポイント
– 1サブネットは常に1AZのみに存在
– IPv4の範囲 /16〜/28
– インスタンスを起動するときにセキュリティグループを指定しないと、そのインスタンスは VPC のデフォルトのセキュリティグループに自動的に関連付けられる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2950120/678dc9ca-8091-ec28-5175-1a30a83ef663.png)

参考:https://docs.aws.amazon.com/vpc/latest/userguide/wh

Bedrockを使って売上予測をしてみよう!

## はじめに
生成AIを使えばなんか色々出来るというイメージは皆さん持ってると思います。作り込めば大抵のことはいい感じに出来てしまえるので、選択肢が多くて逆に分からなくなるといったケースはままあります。

今回は、生成AIを活用した売上予測アプリケーションのサンプルを作ってみました。このアプリケーションは、過去の売上データを分析し、プロモーションの影響や天候の変化を考慮しながら、次週の売上を予測します。単なる数値の羅列ではなく、AIによる分析結果も提供することで、分析結果を元にした判断の助けになるようにしてみました。

## サンプルコード
### ファイル構成
“`
– templates
┗index.html
– sample.py
– sales_data.csv
– requirements.txt
“`

### index.html

“`html




Amazon Titan Image Generator のプロンプトエンジニアリングガイドを見ながらあれこれ

## はじめに
AWSの生成AIサービスAmazon Bedrockでは、様々な基盤モデルを使うことができますが、その中の画像生成モデルにTitan Image Generatorがあります。

ふと思い立ってAmazon Titan Image Generatorを使って遊ぼうと思ったのですが、プロンプトをどう書けばいいのか自信がなかったので、こちらの [Titan Image Generator のプロンプトエンジニアリングガイド](chrome-extension://efaidnbmnnnibpcajpcglclefindmkaj/https://d2eo22ngex1n9g.cloudfront.net/Documentation/User+Guides/Titan/Amazon+Titan+Image+Generator+Prompt+Engineering+Guidelines.pdf)を読んでいきたいと思います。

## 画像生成のプロンプトの構成要素

一般的に、image-to-textやimage-and-text-to-imageを行う基盤モデルのプロンプトの構

[未解決]503 Service Temporarily Unavailable

# 目的
webサイトをHTTPS化したい。

# 問題
– nginxのエラーログで`FastCGI sent in stderr: “Primary script unknown”`というエラーが発生。
– httpsで接続すると`503 Service Temporarily Unavailable`というエラーだけ表示される。
– EC2のターゲットグループ内でヘルスステータスが`Unhealthy`、詳細が`Request timed out`となっている。
![SCR-20240731-pjta.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3798584/71c5dc62-8236-2435-65f2-340315a2bcef.png)

# 状況
正直なところ、初学者なりにいろいろ構って今どんな状況なのか理解できていない。

今日構ったのは
– nginx.conf
– ロードバランサー作成
– ターゲットグループ作成
– セキュリティグループのインバウンドルール設定

主にいじっていた

【AWS SAM】入門してみた dockerで環境構築 ruby

# はじめに
今までserverless frame workを使用して、lambdaのデプロイを行ってきたのですが、serverless frame work V4から有料化ということを受けてSAMへ移行したいと思いました。

https://dev.classmethod.jp/articles/sls-migrate-cdk-or-sam/

# 環境構築
dockerで行いました。
* ruby3.3.4
* node 20.16.0
* aws-sam-cliをzipで公式ページから取得しインストール

https://github.com/yuuki4135/sam-test-app

“`dockerfile
FROM ruby:3.3.4-slim-bookworm

RUN useradd -u 1000 developper \
&& apt-get update -qq && apt-get install -qq –no-install-recommends \
curl awscli unzip wget git vim

RUN wget h