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

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

Python約30行で作る Bedrock x Claude3 のStreamingチャットアプリ

これまで見て見ぬふりをしてきた「Streamlit上でStreaming出力させる」プログラムを作ってみます。

# ライブラリのインストール
いつのまにか「langchain-aws」なるものが生まれているので今回は最終的にはそれを使います。
“`
pip install -U boto3 streamlit langchain langchain-aws
“`

https://python.langchain.com/docs/integrations/platforms/aws/

# まずboto3からStreamingしてみる

以下を参考に、リクエストとレスポンス取得をClaude3に合わせて微調整します。

https://docs.aws.amazon.com/ja_jp/bedrock/latest/userguide/inference-invoke.html

“`Python:
import boto3
import json

bedrock = boto3.client(service_name=’bedrock-runtime’)

body =

元記事を表示

AWS SAA(ソリューションアーキテクトアソシエイト)合格体験記

# なぜ取得したか
以前CLFを取得したので、次の目標としてSAAを指定したため。
そもそもCLFの学習をSAAの問題集で行っていたため、そのうち受験はするつもりでいた。
ちょうどAWSで「再受験無料キャンペーン」を実施していたため、釣られてホイホイとバウチャーを利用した。

# SAA(ソリューションアーキテクトアソシエイト)に対する所感
CLFと違い、各サービスについての問題と言うよりはベストプラクティスを求めるタイプの問題が出題される。
「絶対正解じゃないな」と思うような選択肢が半分は出るので、だいたい2択までは絞れる印象を受けた。
その2択からよりベストな方法を選べるかどうかが課題と感じた。

# 勉強方法
Udemyの講座動画を見る
Ping-tでSAA(ソリューションアーキテクトアソシエイト)の問題を解く
AWS認定資格 無料WEB問題集&徹底解説 で問題を解く

# 勉強時間
CLF受験のあと、累計で数時間復習したくらい。
CLFの体験記には「次はもうちょっと勉強しよう」と書いたが、結局やらなかった。
(実際、再受験無料キャンペーンの再受験を本命だと考えていたため)
CL

元記事を表示

大規模サービスのインフラを全面的にリプレイスした話

# はじめに

こんにちは。雑食系エンジニアの勝又です。

今回は、私が2年ほど参画させていただいた大規模サービスのインフラやDevOps周りを全面的にリプレイスしたお話について簡単にご紹介させていただきます。(内容に関しては事前に参画先企業様に確認していただいております)

# サービス概要

詳細な内容は伏せますが、メインとなるテーブルのレコード数が数十億件、スパイク時には数万〜数十万のユーザーが一斉にアクセスする大規模サービスです。

# 技術的負債

長く運用されてきたサービスのあるあるですが、新機能の追加が最優先されてきたことにより、こちらのサービスにも下記のような技術的負債が大量に積み上がっていました。

– RubyやRailsやMySQLのバージョンがかなり古い
– インフラの構成がコードではなくドキュメントで管理されている
– アプリケーションの構成管理がおこなわれていない
– CI/CDパイプラインが構築されていない
– デプロイ手順が複雑で「デプロイ職人」的な存在が必要になってしまう
– DBのマイグレーションが手動で実行されている
– マイグレーションファイルの

元記事を表示

Cloud9の払い出し自動化と工夫した点

# AWS Cloud9について
AWS Cloud9というのは、コードの記述、実行、デバッグができるクラウドベースの統合開発環境(IDE)です。
実体はEC2なので、EC2にWebからアクセスできるIDEのViewを追加したものがCloud9と捉えていただいてよいかと思います。

https://aws.amazon.com/jp/cloud9/
>AWS Cloud9 は、ブラウザのみでコードを記述、実行、デバッグできるクラウドベースの統合開発環境 (IDE) です。これには、コードエディタ、デバッガー、ターミナルが含まれています。Cloud9 には、JavaScript、Python、PHP などの一般的なプログラム言語に不可欠なツールがあらかじめパッケージ化されているため、新しいプロジェクトを開始するためにファイルをインストールしたり、開発マシンを設定したりする必要はありません。Cloud9 IDE はクラウドベースのため、インターネットに接続されたマシンを使用して、オフィス、自宅、その他どこからでもプロジェクトに取り組むことができます。また、Cloud9 では、サーバーレス

元記事を表示

Security HubでNIST SP 800-53 Rev.5を有効化してみた

# はじめに
今回はSecuirty HubでNIST SP 800-53 Rev.5(以降 NIST SP)を有効化してみたので、NIST SPの概要や有効化する際の注意事項を紹介したいと思います。

## Security HUb セキュリティ基準
Security Hub のセキュリティ基準には、規制のフレームワーク、業界のベストプラクティス、企業ポリシーのコンプライアンスを判断するための一連の要件が含まれています。
Security Hubは要件をコントロールにマッピングし、各項目のセキュリティチェックを実行します。
有効なチェックの項目数を分母として合格しているチェックの項目数を分子とした割合から、セキュリティスコアが算出されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115411/ae27ac34-bf5f-be2b-f9c0-bf122dd01d68.png)

NIST SPは2023年3月にセキュリティ標準として追加されたもので、米国商務省の一部である国立標

元記事を表示

独自モデルを使った機械学習システム(バッチ推論)をAWS SageMakerとStep Functionsで、まずは動かす

# 独自モデルを使ったバッチ推論を構築しよう
バッチ処理で推論するパイプラインを構築します。機械学習モデルと推論スクリプトは独自に作成したものを使います。

この記事はハンズオン形式です。順に進めることでゼロからパイプラインを構築します。もちろん部分的な参照もできます。その場合は、[「ハンズオンの目次」](#ハンズオンの目次) へ進んで下さい。
説明は画像を用いず文字で伝えるようにしました。調べたい情報がこの記事に存在しているかgrepできるようにしています。

推論処理の例はPyTorchの場合です。その他のフレームワークを利用している場合は、適宜読み替えて下さい。

## はじめに
### 想定する読者
– 独自のLLM(機械学習モデル)を構築して運用(デプロイ)したい人
– 推論結果に即時性を求めない人。「夜間や週末に処理できていればいい」
– まずは動くものを作りたい人。「完璧な(?)MLOpsは徐々に作ればいい」

### 前提知識
– AWS S3は何となく使ったことがある
– Pythonで推論スクリプトを作成できる(ローカルで動かした経験があればOK)

### 扱わな

元記事を表示

AWS Certified Solutions Architect – Associate になった (SAA-C03)

812 点でした。取ろうと決意したのは 1 年前ですが、真剣に勉強したのは 10 日ほどです。仕事が落ち着いていたので、フレックスタイムを駆使して時間を捻出しました。

この記事では、おすすめの勉強法 & 受験法と、補足として私の AWS 関連の経験をお伝えします。

# おすすめの勉強法 & 受験法

1. [『AWS認定ソリューションアーキテクト-プロフェッショナル ~試験特性から導き出した演習問題と詳細解説~』](https://www.ric.co.jp/book/qualification3/detail/272)の「第 2 章 各種サービスの概要」を読む
– 買うのはちょっと、という場合は、わからないサービスは検索して調べる。
– SAP-C01 の頃の本だが、Professional まで取るつもりならば買う価値はある。
1. [AWS Certified Solutions Architect – Associate (SAA-C03) 試験問題サンプル](https://d1.awsstatic.com/ja_JP/training-and-cert

元記事を表示

Lambda layersの作成方法 (Cloud9で簡単作成)

## 初めに
Lambdaを開発する上で、どうしても追加ライブラリが必要になることがあります
そういう時は、layers機能を使い、対応しますが、今回Cloud9で四苦八苦したので、
備忘録として、残します

## 対応したい内容
– jwtライブラリが必要になった為、layers機能で対応する

## Cloud9でLayerを作成する
#### Cloud9 起動
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3747609/c456a765-5a59-2138-c53f-175215c32676.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3747609/4ab5b832-b1b7-0fc6-746f-ade3b5bc648c.png)

AmazonLinux2023で、起動していきます。

Cloud9の管理コンソールに入ります。
![image.png](https

元記事を表示

AWS CLI + SSOのセットアップメモ

# 背景・目的
AWS CLIやSSO周りの設定について忘れぽいので、メモします。

# 実践
## 前提
– Macを利用しています

## brew のインストール
1. 下記のコマンドを実行し、インストールします
“`
/bin/bash -c “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)”
“`

1. 途中で下記が求められるのでEnter
“`
Press RETURN/ENTER to continue or any other key to abort:
“`

1. brewコマンドを実行し、下記のように表示されればOKです
“`
$ brew
Example usage:
brew search TEXT|/REGEX/
brew info [FORMULA|CASK…]
brew install FORMULA|CASK…

元記事を表示

AWS Secrets Manager でパスワード管理したAmazon RDS をAWS CLIで作成

# 1.変数設定
“`:コマンド
ENGINE=”mysql”
ENGINE_VER=8.0.35
DB_IDENTITY=”test-db”
MASTER_NAME=”admin”
DB_CLASS=”db.t3.micro”
STORAGE_TYPE=”gp2″
ALLOW_STORAGE=20
“`
“`:出力
[cloudshell-user@ip-10-132-91-152 ~]$ ENGINE=”mysql”
[cloudshell-user@ip-10-132-91-152 ~]$ ENGINE_VER=8.0.35
[cloudshell-user@ip-10-132-91-152 ~]$ DB_IDENTITY=”test-db”
[cloudshell-user@ip-10-132-91-152 ~]$ MASTER_NAME=”admin”
[cloudshell-user@ip-10-132-91-152 ~]$ DB_CLASS=”db.t3.micro”
[cloudshell-user@ip-10-132-91-152 ~]$ STORAGE_TYP

元記事を表示

オンプレミスからAWSへ12 factor appsを意識したクラウドネイティブなWebシステム移行を成功させるためのポイント

# オンプレミスからAWSへ12 factor appsを意識したクラウドネイティブなWebシステム移行を成功させるためのポイント

## 前提

### 本記事の目的
オンプレミスからAWSへのWebシステム移行のニーズは2024年現在も非常に多くあります。その中でただAWSに移行するのではなくクラウドネイティブを志向してより品質の高いWebシステムの実現を求めるケースが増えています。

クラウドネイティブなWebシステムを実現するにあたって、The Tweleve-Factor App(以下12 factor app)の観点は非常に重要です。
AWSブログでも以下のような解説記事があります。

https://aws.amazon.com/jp/blogs/news/developing-twelve-factor-apps-using-amazon-ecs-and-aws-fargate/

今回はこの記事に登場するAmazon ECS/AWS Fargateを用いた構成について特にオンプレミスからの移行を実現する際にポイントとなる点を解説致します。

### 12 facto

元記事を表示

AWS IAM Identity Center で多要素認証を設定してみた

# 背景・目的
[AWS SSOを試してみた](https://qiita.com/zumax/items/70a3756665c00fe95375)では、以前 AWS SSO(現在 Indentity Center)を整理しました。
今回は、AWS IAM Identity Centerの多要素認証について設定してみます。

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

| 特徴 | 説明 |
|:–|:–|
|IAM Identity Center で
使用可能な MFA タイプ|・FIDO2 認証機能
・仮想認証アプリ
・RADIUS MFA|
|FODO2 認証の特徴|・FIDO2は、CTAP2とWebAuthnを含む標準
・パブリックキー暗号に基づく
・認証情報が作成されたWebサイト固有のもの
・フィッシング詐欺に対して強固|
|FIDO2の一般的なタイプ|・組み込みの認証機能
・セキュリティキー
・パスワードマネージャー、パスキープロバイダー、その他の FIDO 認証機能|
|仮想認証アプリの特徴|・認証アプリは、OTPベースの

元記事を表示

【Terraform/AWS】【入門編4】モジュールについて

# はじめに
前回は、Terraformを構成するフォルダおよびファイルについてを解説しました。
今回は、モジュールについて、更に深堀していきます。

– 記事構成
[①【Terraform/AWS】【入門編1】環境準備](https://qiita.com/rittan_girla/items/eefc45c1f9dd0a1761fa/)
[②【Terraform/AWS】【入門編2】tfファイル・Terraformコマンドについて](https://qiita.com/rittan_girla/items/7dbd9a9da842ccbf8508/)
[③【Terraform/AWS】【入門編3】フォルダ構成と各ファイルの役割について](https://qiita.com/rittan_girla/items/37458a11c14dacce9ca0/)

元記事を表示

【Bedrock×Lambda】高精度なハイブリッド検索RAGをサーバレスで実装(Slack連携も可)

# はじめに

近年、**大規模言語モデル(LLM)** の発展により、LLMを活用する機会が増加しています。
その中でも、LLMを組み込んだ仕組みの一つとして、**RAG(Retrieval-Augmented Generation)** が注目を集めています。

本記事では、はじめに、**検索精度を向上させたRAGアーキテクチャ**を紹介します。
次に、それを**AWS上で実装する方法**について紹介します。

本記事で紹介したアーキテクチャの実装に用いるソースコードはGitHubで公開しています。

https://github.com/Naoki0513/hybrid-rag-container

# 検索精度を向上させたRAGアーキテクチャ

## RAGの概要と検索手法

RAGの用途としては、社内文書など非公開ドキュメントを読み込ませ、そこから回答できる社内専用AIチャットボットなどが考えられます。

そのため、RAGの精度向上のためには、ナレッジベースから検索する際に必要なドキュメントを的確に取得できるかが重要な要素の一つとなります。

RAGにおける検索手法には、様々

元記事を表示

Amazonのデータカタログ「DataZone」を使ってみる_01_Redshift登録編

# はじめに

Redshiftをメインに使っているユーザを想定して、DataZoneのデータソースにRedshift(Provisioned版)を登録してみます。

– なお、Redshift Serverless版についてはClassmethodさんの良記事があります
– https://dev.classmethod.jp/articles/datazone_rsserverless/

# まずは

## DataZoneの構成例

– DataZoneを触るときはこの図を見直しておくと吉です。
– 久しぶりに触ると間違いなくDataZoneにおける「ドメイン」という概念に戸惑います。
– DataZoneにおけるドメインとは、AWSアカウントを跨ってデータを利活用する組織体のようなものです。
– 会社単位やグループ企業単位など、ともかく広い範囲で作るグループです。
– 企業内のデータカタログを共有する最大範囲で捉えておくと良いと思います。
– また、利用に際しDataZone「プロジェクト」も必要になります。

元記事を表示

旧世代のDB インスタンスが廃止されるようです

# こんなタイトルのメール届いていませんか?
`[通知] RDS MySQL、MariaDB、および PostgreSQL 上の M4、R4、T2 DB インスタンスの廃止予定について`
– メールタイトルを一部抜粋していますが、こんなタイトルのメールが数通届きました

# メールを読んでみる
– メールのタイトル通りですが、M4/R4/T2 の旧DB インスタンスが2024/5/31 で廃止され、6/1 以降でM5/R5/T5 へそれぞれDB インスタンスタイプが変更されるようです
– 正確な移行日はわからないようですが、おそらく6/1 以降の次のメンテナンスウィンドウで移行されるのではと考えています
– 対象DB エンジン:
– Amazon RDS for MySQL
– Amazon RDS for MariaDB
– Amazon RDS for PostgreSQL
* Aurora などは対象外のようです
– 移行先:
– M4 -> M5
– R4 -> R5
– T2 -> T3
– 移行先にDB インス

元記事を表示

AWS Step Functions で人による承諾まで待機する方法を試してみた

# はじめに
この記事では AWS Step Functions 内で他のサービスと統合し、人による承諾までワークフローを待機させる方法を紹介します。

# ワークフローの待機について
AWS Step Functions内で `.waitForTaskToken` を使用することでコールバックが返されるまでワークフローを待機させることができます[^1]。

[^1]: [タスクトークンのコールバックまで待機する](https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/connect-to-resource.html#connect-wait-token)

# 試してみる
公式ドキュメントに [人間による承諾プロジェクト例をデプロイする](https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/tutorial-human-approval.html) があるので実施してみます。開発者ガイドに実行可能なテンプレートが整備されているのは便利ですね。

##

元記事を表示

Terraform importを利用してAWSリソース(AWS Config)を削除してみた

# はじめに
terraform importコマンドを使ったことがなかったので、使ってみます。

マネジメントコンソール上で作成したリソースを、import後、destroyしてみようとおもいます。

## やってみた

### 1. 作業ディレクトリとtfファイルを準備する
tfファイルのセットアップを行います。

“`
import-test/
├── main.tf
├── config.tf
└── variables.tf
“`

main.tfを適当に用意します。

“`main.tf
############################################################################
## terraformブロック
############################################################################
terraform {
# Terraformのバージョン指定
required_version = “~> 1.7.0”

# Te

元記事を表示

CloudFront を利用して AWS のパブリック IPv4 アドレス課金を回避する…のは今のところ無理だった

:::note alert
2024年4月時点では、この方法でパブリック IPv4 アドレス課金を**回避することはできない。**
ただし、将来この方法が使えるようになる可能性はある。
:::

:::note warn
記事中の情報は執筆時点のものである。
重要な決定や操作を行う前は、最新情報を確認することを推奨する。
:::

2024年2月、AWS におけるパブリック IPv4 アドレスが無条件で有料化された。

[新着情報 – パブリック IPv4 アドレスの利用に対する新しい料金体系を発表 / Amazon VPC IP Address Manager が Public IP Insights の提供を開始 | Amazon Web Services ブログ](https://aws.amazon.com/jp/blogs/news/new-aws-public-ipv4-address-charge-public-ip-insights/)

そこで、EC2 でインスタンスにパブリック IPv4 アドレスを割り当てない状態でのWebサーバーの公開を試みた。

以下、AWS

元記事を表示

DevelopersIO AWS入門ブログリレー2024

[Developers IO](https://dev.classmethod.jp/)の[AWS入門ブログリレー2024](https://dev.classmethod.jp/search?q=AWS%E5%85%A5%E9%96%80%E3%83%96%E3%83%AD%E3%82%B0%E3%83%AA%E3%83%AC%E3%83%BC2024&page=1)があまりにもよいので、自分のメモ代わりにリンク集作りました。ありがとうございます。

| Day | Title |
|—–|————————————————————————————————–

元記事を表示

OTHERカテゴリの最新記事