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

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

Azure と AWS の DNS サービスの主要な違いを個人的に比較

ざっくりとした理解は、Amazon Route 53 ≒ Azure DNS Zone + Azure Traffic Manager です。

https://learn.microsoft.com/ja-jp/azure/architecture/aws-professional/networking#route-53-azure-dns-and-azure-traffic-manager

> AWS の Route 53 では、DNS 名管理と DNS レベルのトラフィック ルーティング サービスと、フェールオーバー サービスの両方を提供します。 Azure では、これは 2 つのサービスで処理されます。
>
> Azure DNS は、ドメインと DNS の管理を提供します。
>
> Traffic Manager は、DNS レベルのトラフィック ルーティング、負荷分散、およびフェールオーバー機能を提供します。

## パブリック DNS の違い

いくつか気になる要素を比較しました。

| 項目 | Route 53 | D

元記事を表示

【AWS】HTTPS通信で閲覧可能な静的ページをカスタムドメインでホスティングするまでの手順

# はじめに
静的ページをホスティングする記事は多くありますが,現時点(2024/07)での最新の手順について長すぎず,かつ分かりやすく説明します.

以下,参考にさせていただいたサイトです.

https://qiita.com/ushi_osushi/items/a32d7b710567c2313faa

https://qiita.com/polarbear08/items/84b7add0ddd309abda74

:::note warn
**「ドメイン名にこだわらない」「HTTPS通信にこだわらない」** 方は,もっと簡単に静的ページをホスティングする方法があります(詳しくは「S3 静的ページ ホスティング」などで調べてみてください).
:::

# サービス構成
まずは,今回構築したサービスの全体概要図を示します.

![サービス全体概要図.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3477007/88120604-809d-a715-c9e7-c62ab389a48c.png)

元記事を表示

GitHubActions + TerraformでECRを作成してみた

# 背景・目的
以前、下記の記事でECSの知識の整理や、VPC等の環境を構築しました。
今後、ECSでバックエンドを構築するにあたり、コンテナイメージレジストリであるECRについて整理をしてみます。
また、Terraformで環境を構築してみます。

– [Amazon ECSについて整理してみた](https://qiita.com/zumax/items/e241894713016871301e)
– [GitHubActionsとTerraformでNWを作成してみた](https://qiita.com/zumax/items/5a9435d0d7371a8c5033)

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

|特徴|説明|
|:–|:–|
|概要|・マネージドなコンテナイメージレジストリサービス
・安全でスケーラブル
・信頼性が高い
・IAMを使用したリソースベースのアクセス許可を持つプライベートリポジトリをサポート

・下記の管理が可能
 ・Dockerイメージ
 ・Open Container Initiative(OCI

元記事を表示

SPAのメンテナンスページをCloudFront Functionsを使って実現する

## 概要
複数のフロントエンド × 単一のバックエンドを持つSPA (Single Page Application)のメンテナンスモードを実装しました。
インフラとしてはAWSを使っています。
今回は諸々の事情でWAFにてメンテナンスレスポンスを返すのではなく、一段踏み込んだCloudFont Functions(以降CF2)でのメンテナンスレスポンス返却を行っています。

### 全体図
[![Image from Gyazo](https://i.gyazo.com/d00e65f71a04a6d30f08c908f9bb164f.png)](https://gyazo.com/d00e65f71a04a6d30f08c908f9bb164f)

## 要件
– 複数のフロントエンドドメインがあるがそれら全てにおいて、メンテナンスモード中はユーザーにメンテナンス画面を表示したい
– 特定のIPからはメンテナンス中でも通常通り触れるようにしたい

## フロント実装手順
### 各々フロントエンドにてメンテナンスページとrouterを準備
ここらへんは好きなように準備
“`vu

元記事を表示

Amazon ECRでDockerイメージのプッシュ

Amazon ECR(Elastic Container Registry)のプライベートリポジトリにDockerイメージをプッシュするまでの手順を記録します。手順はAWS CLIのインストール、AWSアカウントの作成、IAM Identity Centerでユーザーの追加・設定、AWS SSOの設定、Amazon ECRでDockerイメージのプッシュに分けます。無料枠での利用を想定しています。

# Amazon ECRとは
>Dockerコンテナイメージを保存、共有、デプロイできるDockerコンテナレジストリ

# 環境
– CentOS7
– Dockerはインストール済み

# 手順
1\. [AWS CLIのインストール](https://qiita.com/aomrikti/private/0908000f4aa58098c761) 
2\. [AWSアカウントの作成](https://qiita.com/aomrikti/private/0e63569eeade661cf7b6)
3\. [IAM Identity Centerでユーザーの追加・設定](https:/

元記事を表示

AWS SSOの設定

AWS ECR(Elastic Container Registry)のプライベートリポジトリにDockerイメージをプッシュするまでの手順を記録します。手順はAWS CLIのインストール、AWSアカウントの作成、IAM Identity Centerでユーザーの追加・設定、AWS SSOの設定、Amazon ECRでDockerイメージのプッシュに分けます。無料枠での利用を想定しています。

# 環境
– CentOS7
– Dockerはインストール済み

# 手順
1\. [AWS CLIのインストール](https://qiita.com/aomrikti/private/0908000f4aa58098c761) 
2\. [AWSアカウントの作成](https://qiita.com/aomrikti/private/0e63569eeade661cf7b6)
3\. [IAM Identity Centerでユーザーの追加・設定](https://qiita.com/aomrikti/private/389672d4900989d447ad)
4\. [AWS SSOの設

元記事を表示

IAM Identity Centerでユーザーの追加・設定

AWS ECR(Elastic Container Registry)のプライベートリポジトリにDockerイメージをプッシュするまでの手順を記録します。手順はAWS CLIのインストール、AWSアカウントの作成、IAM Identity Centerでユーザーの追加・設定、AWS SSOの設定、Amazon ECRでDockerイメージのプッシュに分けます。無料枠での利用を想定しています。

# 環境
– CentOS7
– Dockerはインストール済み

# 手順
1\. [AWS CLIのインストール](https://qiita.com/aomrikti/private/0908000f4aa58098c761) 
2\. [AWSアカウントの作成](https://qiita.com/aomrikti/private/0e63569eeade661cf7b6)
3\. [IAM Identity Centerでユーザーの追加・設定](https://qiita.com/aomrikti/private/389672d4900989d447ad)(本記事)
4\. [AWS

元記事を表示

AWSアカウントの作成

AWS ECR(Elastic Container Registry)のプライベートリポジトリにDockerイメージをプッシュするまでの手順を記録します。手順はAWS CLIのインストール、AWSアカウントの作成、IAM Identity Centerでユーザーの追加・設定、AWS SSOの設定、Amazon ECRでDockerイメージのプッシュに分けます。無料枠での利用を想定しています。

# 環境
– CentOS7
– Dockerはインストール済み

# 手順
1\. [AWS CLIのインストール](https://qiita.com/aomrikti/private/0908000f4aa58098c761)
2\. [AWSアカウントの作成](https://qiita.com/aomrikti/private/0e63569eeade661cf7b6)(本記事)
3\. [IAM Identity Centerでユーザーの追加・設定](https://qiita.com/aomrikti/private/389672d4900989d447ad)
4\. [AWS S

元記事を表示

Amazon RDS for Db2: スナップショットの作成とリストア

Amazon RDS for Db2でDBをバックアップを取得するには、いわゆるDb2のバックアップコマンドで作成するのではなく、以下の方法で取得します:

1. [「RDS 自動バックアップ」 で1日1回自動取得](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_ManagingAutomatedBackups.html)
2. [スナップショットを手動で作成し取得](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_CreateSnapshot.html)
3. [AWS Backup(AWSの別サービス)を使用し取得](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/AutomatedBackups.AWSBackup.html)

ここでは「1. 「RDS 自動バックアップ」 で1日1回自動取得」と「2. スナップショットを手動で作成し取得

元記事を表示

AWS Certified Cloud Practitioner (CLF)試験合格体験記

# 2024年6月13日にAWS Certified Cloud Practitioner (CLF) 合格しました!

## 勉強期間
2024年5月30日〜6月13日

## AWSの経験

•AWS専門のクラウドスクールにて勉強中
•実務経験なし

この試験を通じて、クラウドの基礎知識から、AWSの主要なサービス、セキュリティ、料金モデル、クラウドの価値提案など、多くのことを学びました。AWSのエコシステムについての理解が深まり、これからのクラウドキャリアに向けた大きな一歩となりました。そしてAWSのスクールでIAMについて詳しく説明していただける授業があった為、理解度が上がりました。

## 試験対策に使ったリソース:

• AWS公式トレーニング
• クラウドテック
• クラウドライセンス

これからもさらに深く学び、次の認定試験に向けて頑張ります!次はAWSソリューションアーキテクトアソシエイト(SAA)を目指します。

元記事を表示

RAGの精度向上! CohereからRerank 3 Nimbleが登場。SageMakerでリランク試してみよう

# Cohereの最新リランク用モデルが登場!

生成AIで有名なCohere社から、リランク用途の最新モデル「Rerank 3 Nimble」がリリースされました。英語版と多言語版が用意されています。

https://cohere.com/blog/rerank-3-nimble

※ちなみにNimbleは「機敏な」という意味で、Turbo的な命名と捉えておけばよさそうです。

クラウドではAWSのみ対応。SageMaker JumpStartから利用可能です。

# リランクって何だっけ?

生成AIでよく行われる「社内文書検索」などのユースケースを実現するRAG(Retrieval-Augmented Generation)アーキテクチャにおいて、検索精度を高めるために使われる手法の一つです。

検索して得られたドキュメントのチャンク(かたまり)複数を、ユーザーの質問と関連度が近い順番に並び替える(その後、関連度が低いものは適宜切り捨てる)ことによって、より正確な回答の生成に繋げることができます。

このリランク処理を行うための専用モデルも存在し、その一つがCohereのRe

元記事を表示

オープンモデル最強のLLM、Llama 3.1が登場! AWSのBedrockから使ってみた

日本時間のけさ7/24未明、Meta社からオープンな生成AIモデルLlamaの最新版3.1シリーズがリリースされました。

https://ai.meta.com/blog/meta-llama-3-1/

# Llama 3.1の特徴まとめ

– Llama 3に無かった405B(4,050億)という巨大なパラメーターのラインナップがある
– 対応言語は英語を含む8言語(日本語は含まれず)
– コンテキストウィンドウは128K
– ライセンス規約が変更され、条件付きで他社モデルの学習用途にも利用可能となった

Claude 3.5 SonnetやGPT-4oなど最先端の商用LLMと互角のベンチマーク結果を出しているとのこと。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/520b60b3-45cc-96d0-51f1-f14a34d98409.png)

詳細な評価を紹介した論文も同時に公開されています。

https://ai.meta.com/research/

元記事を表示

RAGの構成を考えてみる

# はじめに
Amazon Bedrock面白いですね、最近ずっと触ってます。

BedrockではChat-GPTのようなチャットでの会話だったり、音声認識・画像生成等様々な生成AIを使用する事ができますが、その中の一つである**RAG (Retrieval Augmented Generation)** を構築する方法について、詳しくご紹介したいと思います。

RAG[^1] は、大規模言語モデルの回答精度を向上させる強力な手法ですが、その実装方法にはいくつかの選択肢があります。それぞれの特徴やコスト面での違いを見ていきましょう。
[^1]: https://www.nri.com/jp/knowledge/glossary/lst/alphabet/rag#:~:t

# RAGとは?
構成を考える前にまずRAGについて、簡単に説明させていただきます。

RAGとは「**Retrieval Augmented Generation**」の略で、日本語では「検索拡張生成」と訳されます。
これは、大規模言語モデル(LLM)[^2]の回答生成能力と、外部知識ベースからの情報検索を組み合

元記事を表示

AWSリソースをTerraform or CloudformationにImportする_フォルダ構成

# 前提
全体の概略は[こちらから](https://qiita.com/hrkkanda/items/1ef47fd6213547396c99)

# このページの概略
Terraform とClloudFormationによるImportで既存のインフラをIaC化する際の設計思想等々を記載します。

## Terraform, CloudFormation共通
### for_eacの採用
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2705595/69ecdd18-491b-ff65-e9ac-c61f8f03b793.png)

このように
– NoProdアカウントにはdev, test, stage環境のリソースがある
– Prodアカウントにはprod環境のリソースがある
– 高価なリソースや一部のリソースは
– NoProdアカウントにdev, test, stage環境を兼ねるリソースがある
– Prodアカウントにprod環境のリソースがある

とい

元記事を表示

GmailトリガーでAWSのLambdaを起動する

非エンジニアのバックオフィスが頑張るシリーズです。

今回は会社に関係なく個人的なニーズでやってます。今どき個人でもLambda関数のひとつやふたつ、もっているのが常識ですよね🙃
届いたメールでLambdaが起動したらきっと便利なはず!
# やりたいこと
Gmailで特定条件のメールが来たら、Lambdaを起動したい
# 具体的な方針
1. Gmailで特定条件のフィルタを作成しラベルをつける
1. GASでGmail API を叩いてラベルのついたメールがあったらAWS API Gateway を叩く
1. API Gateway から Lambda を起動する
# 作成編
今回は既に問題なく動く Lambda関数があって、デプロイ・テスト完了しているものとします。
## Gmailのフィルタ設定
まずGmailで特定のラベルをつけるフィルタを設定します。(説明割愛)
## API Gateway の準備
今回は単純にAPIを叩くだけで、パラメータ等の引き渡しはしませんので、簡単に作成します。
## API Gateway 作成
「APIを作成」ボタンを押下します。
![image.

元記事を表示

AWSのアカウント閉鎖は突然に

AWSを長年利用していると、アカウントが凍結したり、閉鎖したりすることもあると思います。

例えば
– 単純な未払い
– 暫定的に自分の名義で登録したAWSアカウントを使い納品した先が、しばらくしたら支払をやめていた
– S3にアップしていた画像がアダルト・児童ポルノ認定を受けた
– 適当に作ったメールサーバーが、迷惑メールの踏み台にされた
… etc.

「どうせ別のアカウントの話だから」と油断していたら、
運用中のサーバが午前3時に急に停止、メールを確認すると以下のようなメールが届いていました。ぱっと見フィッシングっぽいけど本物です。

IMG_3868.PNG
IMG_3869.PNGAWS Textractを使用したS3アップロードトリガーの自動テキスト抽出

この記事では、AWS SAMを使用してS3バケットにファイルがアップロードされた際に自動的にAWS Textractを利用してテキストを抽出するLambda関数を作成する方法を説明します。
このテンプレートは以下のリソースを作成します。

S3バケット: ファイルのアップロードをトリガーするための入力バケットです。
バケット名は{AccountId}-{Region}-input-bucketという形式で生成されます。

Lambda関数: S3バケットにファイルがアップロードされるとトリガーされる関数です。
この関数はPython 3.11で動作し、Textractを使用してアップロードされたファイルからテキストを抽出します。

IAMロール: Lambda関数が適切な権限を持つためのロールです。
このロールには、Lambdaの基本実行権限、S3へのフルアクセス権限、Textractへのフルアクセス権限が含まれます。

このテンプレートの構成と実装方法を解説し、最後に、実際に動作確認を行い、S3バケットにファイルをアップロードしてTextractによるテキスト抽出が成功することを

元記事を表示

SageMakerでのHuggingFace Diffusersデプロイガイド(2/3):Stable Diffusion XL + Control Net Depthのデプロイ

# 背景
– 前回[SageMakerでのHuggingFace Diffusersデプロイガイド(1/3):Stable Diffusion XLのデプロイ](https://qiita.com/munaita_/items/fc5d5c5fec29019dc69a) でHuggingFaceのStableDifusion XL をSageMakerにデプロイしました
– 今回は、Stable Diffusion XL x ControlelNet Depthを使った画像生成を行うデプロイを行います
– ControlNet Depthを使う場合は、predict_fnの処理を書かないといけないので、先ほどのHaggingFaceModelでは対応できません
– 今回はPyTorchコンテナを利用して、StableDiffusion XL + ControlNet Depthのデプロイを行なっていきます

– baseモデルはSDXLです

https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0

https:/

元記事を表示

AWS WAFでほどほどのセキュリティを構築する

# はじめに
## この記事の概要
 今回社内製品のために立てたAPI (非クリティカル) についてセキュリティ対策を行うにあたって、WAFを利用した仕組みを構築してみました。簡単に共有させていただければと思います。
 「ある程度のセキュリティは確保したいけど、あまりガチガチに自動化みたいなところは考えていない」という人の参考になれば、という記事です。
 ※. API GatewayやLambdaの方には詳しく触れません。また個々の用語などについても逐一解説しておりません。

## 背景
– API Gateway + Lambdaで、不特定多数のユーザーがアクセスするようなWeb APIを構築
– APIの用途から想定されるアクセス数はかなり少ない
– 多くても1時間で100リクエストとかそれぐらい (それくらいアクセスがあれば泣いて喜ぶ)
– API自体には認証の仕組みを設けない
– リクエストに特定のヘッダが付いていれば通す、という程度
– 万が一DDoS攻撃に遭ったりすると嫌なので、様子を見ながらセキュリティ強度を調整したい

## 得られる結果 (ゴール)

元記事を表示

Amazon ECSについて整理してみた

# 背景・目的
最近、コンテナについて多く触れる機会があり、あらためてですが、AWSが提供しているECSについて整理します。

# まとめ
下記に特徴、および説明を整理します。

|特徴|説明|
|:–|:–|
|ECSとは|・コンテナ化されたアプリケーションを簡単にデプロイ、管理、スケーリングできる
・コンテナオーケストレーションサービス
・フルマネージドサービス
・ECRや、Dockerなどに統合されている
・リージョン間、オンプレミンスでコンテナワークロードを実行、スケーリング可能|
|ECSの3つのレイヤ|・Capacity Options
・Controller
・Provisioning|
|Capacity Options|コンテナが稼働するインフラ|
|Controller|アプリケーションを管理するソフトウェア
キャパシティオプションと配置可能な場所を指定する|
|Provisioning|プロビジョニングには、下記のとおり複数の選択肢がある
・マネコン
・CLI
・SDK
・Copilot

元記事を表示

OTHERカテゴリの最新記事