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

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

Knowledge Bases for Amazon Bedrock のチャンキング戦略を整理する

Knowledge bases for Amazon Bedrock のチャンキング戦略が追加されていたので、ユースケースを整理します。
(順次追記予定)

# KB のチャンキング戦略
現在選択できるチャンキング戦略は次のとおりです。

| 英語名 | 日本語訳 | 説明 |
|——–|———-|——|
| default chunking | デフォルトチャンキング | コンテンツをデフォルトサイズのチャンクに分割 |
| Fixed-size chunking | 固定サイズチャンキング | コンテンツを固定サイズのチャンクに分割 |
| Hierarchical chunking | 階層的チャンキング | 情報を子チャンクと親チャンクの入れ子構造に整理する |
| Semantic chunking | セマンティックチャンキング | サイズだけでなく内容に基づいてテキストを意味のあるチャンクに分割 |
| no chunking | チャンキングなし | チャンキング済のテキストを用意した場合に選択する |

# デフォルトチャンキング
– デ

元記事を表示

AWS上で稼働する本番環境用のIAMUserを必要な時だけ活性化するための仕組みの検討

# AWS上で稼働する本番環境用のIAMUserを必要な時だけ活性化するための仕組みの検討

この記事では、AWS上で稼働する本番環境用のIAMUserを必要な時だけ活性化するための仕組みについて検討します。
本番環境を保守運用する上ではIAMUserが必要になりますが、保守運用のためのIAMUserの中にはAdministrator Access権限など強い権限を持つユーザが存在するケースも多く、不正な手段で窃取された際のセキュリティ上のリスクが高いです。
この対応として、本番環境用のIAMUserを必要な時だけ活性化する仕組みを検討します。

## 本番環境用のIAMUserを必要な時だけ活性化するための仕組み

### 前提
今回の構成において考えているIAMの前提は以下です。

– IAMUser自体には何のIAMPolicyも付与せず権限を持たない
– AccessKeyの払い出しは一切行わなず、IAMUserを利用するにあたってマネジメントコンソールを用いる以外の方法はない
– IAMGroupに対して作業に必要な権限を付与する
→IAMUserは適切なIAMGro

元記事を表示

SpringBootのapplication設定をAWSパラメータストアで行う

## はじめに

* DBアクセス用パスワード等の秘匿情報を設定ファイルに記載しておくのは管理上好ましくないので、AWSパラメータストアで管理するにあたり、Spring Bootアプリケーション設定値(application.yml/application.properties)にパラメータストアの設定値を統合(パラメータストアの値をアプリケーション設定値に反映)する作業を行いました。

* 本番と開発の設定を分離している点と合わせて手順等を備忘録としてまとめたものです。(乱筆な点、ご容赦ください)

### 注意点

* 実際の設定ファイルの値とは変えている個所がありますので、この値そのもので動作検証して保証したものではありません。

## 環境

* Spring Boot 3.1.0
* Java 17
* gradle 8.8

## 依存関係の追加

まず、Spring BootプロジェクトにAWSパラメータストアを使用するための依存関係を追加します。`build.gradle`ファイルに以下のエントリを追加します。

“`groovy
dependencies {

元記事を表示

Amplify gen1でデプロイイベントをEventBridgeで検知する

# 結論
“`pattern.json
{
“detail”: {
“appId”: [“YOUR_APP_ID”],
“branchName”: [“YOUR_BRANCH_NAME”],
“jobStatus”: [“SUCCEED”, “FAILED”, “STARTED”]
},
“detail-type”: [“Amplify Deployment Status Change”],
“source”: [“aws.amplify”]
}
“`

“`”appId”: [“YOUR_APP_ID”],“`と
“`”branchName”: [“YOUR_BRANCH_NAME”],“`を編集するだけです。

# ソース
Amolifyのコンソールから通知を有効化します。

![cap1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3654730/91585694-7292-509c-a377-7e1d12f1c9a3.png)

作成されたE

元記事を表示

Databricks の Mosaic AI Model Serving Endpoint から Amazon Bedrock の LLM を利用する

# はじめに

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

AWS Summit Japan で発表された **Amazon Bedrock の Claude 3.5 Sonnet が先日、東京リージョンで利用可能**になり、大きな盛り上がりを見せています。

今回は、**Databricks の Mosaic AI Model Serving Endpoint から Amazon Bedrock の Claude 3.5 Sonnet を利用してみます**。

# Databricks が目指す 生成AI の世界観

:::note warn
本章は筆者の解釈が含まれる点、ご了承ください。
:::

Databricks では「[**Compund AI Systems**](https://www.databricks.com/glossary/compound-ai

元記事を表示

OpenID Connect を用いて GitHub Actions から AWS にリソースをデプロイする方法

## 目的

AWS IAM User のアクセスキーの代わりに OpenID Connect を用いて GitHub Actions から AWS にリソースをデプロイする手順とサンプル実装を紹介します。

– [AWS での OpenID Connect の構成](https://docs.github.com/ja/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services)
– [aws-actions/configure-aws-credentials](https://github.com/aws-actions/configure-aws-credentials)

## 全体の流れ

OpenID Connect (以下 OIDC) を用いて GitHub Actions から AWS のリソースをデプロイする全体の流れを図を示します。

![20240806_GitHub_AWS_OIDC-001.png](https:

元記事を表示

【初学者向け】AWS認定 SAAの問題集Webサイト一覧

## 趣旨
AWS認定試験を頑張って全て取得しましたが、社内の後輩向けにAWSの学習方法をまとめてほしいと上長から言われて、まとめました。

## 初学者向け学習サイトの選択
初学者がAWS CLFやSAAを勉強する際、学習サイトを選定する段階で時間が結構かかります。多くのサイトでは無料部分があるので、悩む時間がもったいないので、実際に数問試してみましょう。また後輩からの意見も併せて簡単にポイントをまとめました。
※お薦めの書籍は別の記事でまとめます。

:::note info
AWS初学者は「設問の出題方法」、「選択肢の解説のわかりやすさ」、「学習範囲」を選ぶことをお薦めします。
:::

* 出題方法
出題範囲がランダムなサイトはどの分野から何を問われているか理解するの時間を要する為、初学者にはあまりお勧めできません。体系的に分野が分かれているサイトをお薦めします。

* 選択肢の解説
正解の解説しかないサイトだと間違った時になぜ間違ったかわからない為、不正解の解説も欲しいです。また自分の場合、解説が長すぎるサイトは、解説を読まなくなったので、適度な解説量がお薦めです。

* 学

元記事を表示

Amazon VPC IP Address Manager (IPAM) を使用した VPC およびサブネットのプライベート IPv6 アドレス指定がGAになりました

こんばんは。Koderaです。
IPAMを使用した VPC およびサブネットのプライベート IPv6 アドレス指定がGAになりました。
https://aws.amazon.com/about-aws/whats-new/2024/08/aws-private-ipv6-addressing-vpcs-subnets/

# AWSでのIPv6アドレスについて
AWS は、パブリック IP アドレスを AWS からインターネット上でアドバタイズされるものとして定義します。
ここで「Advertise」はネットワーク上で制御情報などを広く告知する機能や挙動などを意味します。

一方、プライベート IP アドレスは AWS からインターネット上でアドバタイズされず、アドバタイズをすることはできないです。
VPC に関連付けることができるのは以下の3パターンです。
・プライベート IPv6 アドレスのみ
・パブリック IPv6 アドレスのみ
・プライベートとパブリックの両方の IPv6 アドレス

プライベートIPアドレスに戻ると、アドバタイズされない?というだけでは少し分かりにくいですよ

元記事を表示

AWS KMSまとめ(SAA-C03)

SAA-C03向けメモ
# HSM (Hardware Security Module)
デジタルキーを保護、管理し、暗号/復号化機能を実行する物理コンピューティングデバイス

# AWS KMS
|キータイプ|使用範囲|管理|削除|作成|自動ローテーション|
|—|—|—|—|—|—|
|AWSマネージドキー|特定サービスのみ|AWS|不可|AWSがKMS HSMで作成|1年ごと(強制)|
|カスタマーマネージドキー|制限なし|ユーザー|可|①ユーザーがKMS HSMで作成(デフォルト)|90日〜7年の間で選択可(無効化可)|
|||||②ユーザーが外部で作成し、インポート|不可|
|||||③ユーザーがAWS Cloud HSMで作成|不可|

カスタマーマネージドキーのみ、鍵を共有が可能。
共有する対象のAWSアカウントIDを鍵の使用者として追加する

ユースケース: 他のAWSアカウントと、暗号化されたAMIやDBのスナップショットなどを共有する。
![IMG_4197.jpeg](https://qiita-image-store.s3.ap-nort

元記事を表示

AWS Cost Explorer 超入門:コストを可視化して賢く節約!

AWS を使い始めると、どれくらい費用がかかっているのか、不安になりますよね?
そこで役立つのが AWS Cost Explorer です。このサービスを使えば、AWS での利用状況とコストをグラフや表でわかりやすく表示できます。

## コスト分析の基本ツール
AWS Cost Explorer は、AWS での利用状況とコストを分析するための基本的なツールです。
例えば、どのサービスでどれくらい費用がかかっているのか、どのリージョンで多く利用しているのかなどを調べることができます。
![CE.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102361/a64c76c2-e0b8-e221-8d0a-df46e3251ca7.png)
![CE2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/102361/265d58a1-0172-d083-a317-96f6eaba28eb.png)

## コストを可視化する3

元記事を表示

Alexaを喋らせたいけど挫折している

通常であればこういう技術記事は『成功したこと』を書くべきだと思っていますが、Qiitaは成功したこと以外も書きやすく思えるので、残しておきます。

# やりたかったこと
![aws.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3858763/6e826276-f45c-62e9-b50d-7fb4d9c2d331.png)
概要を図にすると上記となります。洗濯機とswitchbotを接続しているので、洗濯が終わるとswitchbotが検出できます。現在はそこからクラウドを経由してスマホに通知が飛ぶのですが、家庭内にあるAlexa(正確にはAmazon echo)でも喋らせたかったです。

問題なのはAlexaを喋らせる部分。というのも、Alexaは人間の問いかけをトリガーにするのが基本なので、問いかけをせずに喋らせるのがとてもハードル高いんです。
![aws2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/385876

元記事を表示

AWS Systems ManagerからEC2インスタンスのコマンドを呼ぶときの注意点について

# はじめに
AW EC2上に配置したpythonスクリプトをAWS lambdaからSystem Manager(SSM)のRunShellScriptを利用して呼び出した際に、ログインユーザーに関する問題で躓いたので、問題の概要と解決策をまとめます。

### 参考にさせていただいたサイト
https://dev.classmethod.jp/articles/ssm-document-know/

# 問題点
SSMからRunShellScriptを実行した場合、実行ユーザーは`root`となる。
一方、EC2インスタンスに通常ログインした場合のユーザーは`ec2-user`となる。

`ec2-user`で構築した環境で動くスクリプトをSMS RunShellScriptから呼ぶと、実行時ユーザーが`root`となるため実行環境が異なり、`import module error`などが発生する。

“`bash:SSMからRunShellScriptで実行した場合
$ pwd
/usr/bin

$ whoami
root

$ which python3
/usr/bin

元記事を表示

CodePipelineによるCI/CDパイプライン構築で詰まった箇所

#### 起きたエラー
AWSのコンソールに以下の文字が出力される。
「error code: ecs_update_error; error message: the ecs service cannot be updated due to an unexpected error: the container backend did not have a container port 80 defined. (service: amazonecs; status code: 400; error code: invalidparameterexception; request id: addae102-e782-4dc8-aa60-35bd40c4b3bb; proxy: null). check your ecs service status」

80番ポートは開いていないよ。
という意味。

#### 原因
![port80.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/453af9

元記事を表示

CodeBuildででたエラー

#### エラー概要
![エラーログ箇所.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/c9f2486d-771e-d4c2-abb7-ec01bd2e3508.png)
“build”なんてコマンドは存在しないと怒られる。。。
しかし、packages.jsonにはしっかり”build”コマンドが記載されていた。
いったいなぜ。。。

#### 原因
![buildspec.ymlの内容.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/280830/42c99926-f750-4362-29ad-73464038d7d2.png)

この書き方だと、ビルド実行するコンテナ内のカレントディレクトリで、
「$ docker build -t $REPOSITORY_URI:latest -f ./packages/backend/Dockerfile」
を実行せよという命令になってしまう。
正しくはカレントデ

元記事を表示

lambdaで “Runtime.ImportModuleError” の解消

## lambdaで Youtube Data APIを使おうとしたところ、 “Runtime.ImportModuleError” が発生
今までAWSにはほとんど触れずに来たのだが、仕事で知識が必要になってきたため、Lambdaを触ってみることにした。ちょうど、家でYoutubeを見ながらエクササイズに励んでいるため、[Youtube Data API](https://developers.google.com/youtube/v3/code_samples/code_snippets?hl=ja&apix_params=%7B%22part%22%3A%5B%22snippet%2CcontentDetails%22%5D%2C%22id%22%3A%5B%228j9L9h3ODfU%22%5D%7D) で、動画のIDからの再生時間を取得する処理を作ってみることにした。コードのサンプルは、ありがたいことに、[Youtube Data API](https://developers.google.com/youtube/v3/code_samples/code_snippets?

元記事を表示

AWS Deadline Cloudのカスタマーマネージドフリートを構築してレンダリングする (Houdini)

AWS Deadline Cloudがリリースされてからしばらく経ちましたが、皆さま使われていますか?
弊社ではCMFを使用して構築・運用を行っています。AWS Dead CloudはSMFの場合比較的簡単に構築ができますが、CMFを使用すると一気にハードルが上がります。

本記事ではHoudiniをインストールしたLinuxワーカーのフリートを例にして紹介します。

## フリートとは
ジョブを実行するサーバーのことをワーカーと呼びます。ここは従来のDeadlineと同じです。

AWS Deadline Cloudでは、このワーカーの集まりのことをフリートと呼び、フリートに対して自動スケーリングの設定等を行います。

SMFではAWSが提供するセットアップ済みのワーカーを使用します。またイベントベース自動スケーリングの設定もフリート設定時に自動で構築されるため、非常にお手軽に構築が可能です。

一方で、SMFでは基本的にユーザーがワーカーをカスタマイズすることはできません。
また利用できるソフトウェアに制限があり、デフォルトでは特定のソフトウェアの特定のバージョンでのみ利用可能

元記事を表示

「AWS Hands-on for Beginners AWS 環境のコード管理 AWS CloudFormationで Web システムを構築する」をAWS CLIでやってみる

https://pages.awscloud.com/JAPAN-event-OE-Hands-on-for-Beginners-cfn-2022-reg-event.html?trk=aws_introduction_page

上記、「AWS Hands-on for Beginners AWS 環境のコード管理 AWS CloudFormationで Web システムを構築する」 をAWS CLIでやってみる

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3297641/b583fe16-b31c-f69a-44b6-1cfa1ca12808.png)
ハンズオンから引用

# 03 開発環境の構築 (CloudShellで実施)
:::note warn
ハンズオンではCloud9から実施するようになっているが、すべてCloudShellから実施することも可
:::
## 変数
“`bash:コマンド
# 名前
CLOUD9_ENVIRONMENT_NAME=”handson

元記事を表示

2024年8月 DVAに合格したので、学習法/試験対策についてまとめました。

# 概要
2024年8月9日に`AWS DVA`を受験し、合格することができました。
911点と、余裕を持った点数で合格できたため、学習法について簡単にまとめることにします。
総学習時間は`140H`です。

![Screenshot_20240809-191822_1 (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842674/6e9c1354-375f-3f61-f588-05302fffdca3.png)

# スケジュール
## 試験対策教材の読み込み
7月3日〜7月28日(`80H`)

[徹底攻略AWS認定デベロッパー – アソシエイト教科書&問題集](https://www.amazon.co.jp/dp/4295018406?psc=1&ref=ppx_yo2ov_dt_b_product_details)の読み込み

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2842674

元記事を表示

Amplify Gen2のライブラリアップデートに半年遅れでキャッチアップします

# はじめに
フロントエンド界隈はアップデートが早く、ライブラリのバージョンが目まぐるしくアップデートされていきます。
キャッチアップを怠るとすぐに置いてけぼりになってしまいます。
この記事は「Next.js × AWS Amplifyで作成した個人開発アプリを半年間塩漬けにした結果、キャッチアップにこれだけ苦労したよ!」という実体験に基づく作業ログです。

# 状況
2024年2月頃にAmplify Gen2を使ったアプリを作り(個人開発)、特に改修なしで数ヶ月稼働させていたのですが、最近になって新機能が欲しくなったのでソース改修ことにしました。
改修を始めたのは8月なので、およそ半年ぶりに改修をすることになります。

まずは[node-check-update](https://www.npmjs.com/package/npm-check-updates)を使って、ライブラリの更新を行いました。
amplifyに関するライブラリのバージョンの遷移は下表のとおりです。

| | 更新前 | 更新後

元記事を表示

【Control Tower】AWSでのマルチアカウント運用について調べてみる

# Cotrol Towerとは
一言でいうと、「マルチアカウント環境の自動プロビジョニングを行うマネージドサービス」
Cotrol Towerではマルチアカウント環境のことをランディングゾーンと呼んでおり(Cotrol Tower特有の名称ではないが)実態としては以下の構成となっている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/992414/7b879b0d-24f6-32f9-d5c1-5ab31e7b70c0.png)
デフォルトで作成される「管理/監査/ログ・アーカイブアカウント」をまとめて共有アカウントと呼んでいる。

# Cotrol Towerで出来ること
AWS Black Belt AWS Control Tower 基礎編で紹介のある通り、以下5つのカテゴリで”Cotrol Towerで出来ること”を紹介する。

## ログ集約
各アカウントのAW

元記事を表示

OTHERカテゴリの最新記事