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

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

CLFクラウドのコンセプトについて(その1)

# はじめに
AWS認定であるクラウドプラクティショナー(CLF)の出題範囲である、
クラウドのコンセプトについて学ぶ。

## クラウドの分野について
* ①AWS クラウドの利点を定義する。
* ②AWS クラウドの設計原則を特定する。
* ③AWS クラウドへの移行の利点と戦略を理解する。
* ④クラウドエコノミクスのコンセプトを理解する。

以上4項目がAWSの提示しているクラウドのコンセプトです。
今回はこの中から**①AWSクラウドの利点を定義する**を解説します。

## ①クラウドの利点を定義する
こちらの項目では
**AWSクラウドの価値提案**が対象知識となっています。
対象となるスキルは以下の3つです

* ①規模の経済についての理解(コスト削減など)
* ②グローバルインフラストラクチャの利点の理解(デプロイのスピード、グローバルリーチなど)
* ③高可用性、伸縮性、俊敏性の利点の理解

## ①規模の経済についての理解(コスト削減など)
こちらの項目で大切なポイントは、主に2つあります。

* ①オンプレミスとクラウドの違い
* ②AWSの料金発生条件

元記事を表示

新規構築したRHELのEC2にキーペアを設定せずにセッションマネージャー(SSM)で接続する方法。

## 概要
EC2を作成したが、セッションマネージャーだけで接続予定のためキーペアを設定したくない。
しかし、SSM Agentをインストールしないとセッションマネージャーに接続できない…
そんな場合の回避策です。

## 手順
1. インスタンスを停止
1. [アクション] – [インスタンスの設定] – [ユーザーデータを編集]
1. [ユーザーデータをテキストで変更]にチェックが入っている状態で、[ユーザーデータをここに配置]に以下を入力して保存
“`bash
#!/bin/bash
sudo dnf install -y https://s3.amazonaws.com/ec2-downloads-
windows/SSMAgent/latest/linux_amd64/amazon-ssm-agent.rpm
sudo systemctl enable amazon-ssm-agent
sudo systemctl start amazon-ssm-agent
“`
1. インスタンスを起動

元記事を表示

AWS-Parameters-and-Secrets-Lambda-Extensionを試す

## 背景
Lambda上でSSMパラメータストアの値を都度取得するのが嫌で調べてたら以下を見つけたので試して見る

https://docs.aws.amazon.com/ja_jp/secretsmanager/latest/userguide/retrieving-secrets_lambda.html#retrieving-secrets_lambda_env-var

* Lambda Layer は以下を指定
`arn:aws:lambda:ap-northeast-1:133490724326:layer:AWS-Parameters-and-Secrets-Lambda-Extension-Arm64:11`

## コード
“` typescript:index.mjs
import {SSMClient, GetParameterCommand} from ‘@aws-sdk/client-ssm’;

export const handler = async () => {
const path = “/hoge/secure/params”;

元記事を表示

【Amazon Connect × Kinesis Video Streams】GetMediaを使用したリアルタイム音声データの取得

## 前提

– Amazon Connectのコンタクトフローより音声データストリーミングを有効化し、Kinesis Video Streamsへデータストリーミングを行います。
– リアルタイムで音声データを送信する必要があり、通話が始まるとECSを起動して、リアルタイムで音声データの加工・送信を行います。
– 通話中は無限ループ内でリアルタイムで取得するストリーミングデータをGetMedia APIより取得し、データ加工を行い外部APIへデータ送信を行います。
– 通話終了後にEventBridgeを使用して通話終了トリガー用のLambdaを起動し、終話フラグをオンにすることでデータ送信処理を終了させています。

## はじめに行っていたデータ取得方法

GetMedia APIよりデータ取得を行い、`transformToByteArray`を使用して変換を行いデータ送信を行おうとしていました。

“`js
while(!isEndCalling ){ //終話フラグ
const getMediaForFragmentListResponse = await kvsM

元記事を表示

Azureを使ってみた備忘録

# AWSからAzureへ
転職先でoffice365をメインで使っていたため、プロダクトの開発はazureで行うことにした。
もともとAWSを使っていたため、下記機能がどのツールに互換できるのかを確認しながら開発をしたいと思う。

## LambdaからFunction Appsへ
これすごく調べたんですけど、本当にわかりにくかったです。

### 名前
いや、これ本当に初見じゃわからないでしょ。どうして日本語なのよ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3833494/a2eae176-8d36-bd9b-310c-658100e6f1fd.png)

### 料金設定
とりあえず料金プランの選択ができて、Lambdaよりも自由度が高いサーバレスの実行環境を整備できそうです。
個人的には実行時間の制限をお金で解決できるところがよいとおもいました。
まあ、fargateなりec2なりでいいじゃんって思うのもありますが、実行時間が長く、月1回程度しか動かさないシステムなら料金は抑

元記事を表示

【たぶん真似るだけ】AWS EC2上に、Laravel Sailで動作環境を構築する

ふとしたきっかけで、Laravel Sailを用いて作ったプロジェクトを、せっかく作ったのでWEBに公開できるよう準備しようと思い立ちましたので、AWS上に環境を構築しました。

ちなみに作成したプロジェクトは公開されております。

https://github.com/WdknWdkn/oneonone

しかしsailが便利すぎて「あんなたくさんのコンテナに該当する環境、いちいち作っとられるかい!」と率直に思い、「もうええわEC2上に同じようにsailで環境作ったらそれでいったんよし」という死ぬほど雑な思考で「とりあえず動くもの」ということで環境構築しました。

まじで恥ずかしい。

# 概要

パブリックサブネット内に立ってるEC2上での作業内容になります。

# 実作業記録
## プロジェクトのクローン
### Gitのインストール

“`shell
# システムのパッケージを更新
sudo yum update -y
# Gitをインストール
sudo yum install git -y
“`

### SSHキーの作成

“`shell
# RSA 4096ビットの

元記事を表示

Knowledge bases for Amazon Bedrock の Use foundation model for parsing を試す

ナレッジベースの新機能「Use foundation model for parsing」を使用して、PDFドキュメントがどうパースされるのかを確認していきます。

結論、とても良いです。

# 使用するドキュメント

IPAのデジタルスキル標準のPDFを使用します。

https://www.ipa.go.jp/jinzai/skill-standard/dss/about_dss-p.html

# ナレッジベースの設定

チャンキング設定でCustomを選択すると、Parsing strategyの選択が可能になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/85d993b3-4d8d-51c5-2acd-c07c1bb723ed.png)

どうやらLLMを使ってパースするようなので、Claude3 Sonnetを選択します。

Instruction(プロンプト)が書いてあるので内容を確認します。

![image.png](https://qiita

元記事を表示

AWS API GatewayのHTTP APIとREAT APIの違い

# はじめに

AWS API Gatewayは、APIを作成、管理、保護するためのサービスです。

API Gatewayでは次の4つのタイプが提供されています。

* HTTP API
* REST API
* WebSocket API
* REST APIプライベート

今回はHTTP APIとREST APIを取り上げ、それぞれのAPIタイプの違いと選択基準について説明します。

https://aws.amazon.com/jp/api-gateway/

## 1. HTTP API

### 1.1 概要

HTTP APIは、シンプルで低レイテンシなHTTPリクエストの処理に最適化されたAPIタイプです。
主に、迅速な開発と低コストを重視する場合に適しています。

### 1.2 特徴

– **低コスト**: HTTP APIは、従量課金制であり、REST APIよりも一般的にコストが低くなります。
– **低レイテンシ**: 高速なレスポンスが期待でき、サーバーレスアーキテクチャに最適です。
– **簡素な設定**: APIの作成と管理が簡単で、少ない設定項目で済

元記事を表示

AWS API GatewayでLambdaプロキシ統合を設定する方法

AWS API Gatewayを使用してLambda関数をプロキシ統合する際に、正しいレスポンス形式を使用しないと500エラーが発生することがあります。
本記事では、Rubyで書かれたLambda関数を使用して、正しいレスポンス形式を返す方法について説明します。

# Lambdaプロキシ統合とは
Lambdaプロキシ統合は、API Gatewayが受け取ったリクエストをそのままLambda関数に渡し、Lambda関数からのレスポンスをそのままクライアントに返すシンプルな統合方法です。
この統合方法を使用することで、リクエストやレスポンスのマッピング設定を簡略化できます。

# 正しいレスポンス形式
Lambdaプロキシ統合を使用する場合、Lambda関数は以下の形式でレスポンスを返す必要があります:
“`json
{
“statusCode”: 200,
“headers”: {
“Content-Type”: “application/json”
},
“body”: “{\”message\”:\”success\”}”
}
“`

bodyフィールド

元記事を表示

Alternative Cloud9としてのLightsail for Research + CloudShell

## はじめに

AWS Cloud9の新規サービス利用の停止と、移行ガイドが発表されました。

https://aws.amazon.com/jp/blogs/news/how-to-migrate-from-aws-cloud9-to-aws-ide-toolkits-or-aws-cloudshell/

この移行ガイドで困る例として「Workshop, HandsOnの受講者向け環境としてのWeb IDEを、AWSアカウント内・ブラウザベースで完結させるのが難しい」というユースケースがあります。具体的にはファイル編集や、サンプルアプリのローカル起動が課題です。本ブログではその回避策の一つを紹介します。

## Alternative Cloud9

AWSネイティブでのWeb IDEとしての代替え策としては、以下の例が良さそうです。

– SageMaker Studio

https://qiita.com/minorun365/items/f5289163795d5d7b21e2

https://github.com/aws-samples/sagemaker-studi

元記事を表示

AWS Lambda上で「LINE Messaging API SDK for Python」を使ったコードをデプロイしてLINE Botを作ることを楽しむ

# はじめに

LINEの[Messaging API](https://developers.line.biz/ja/services/messaging-api/)を使ってオウム返しをするボットを作ります。

こちらの記事をとても参考にしています。ありがとうございます。

https://qiita.com/w2or3w/items/1b80bfbae59fe19e2015

LINEボットはWebhookを受け取って反応するものを作ればよいので、[Amazon API Gateway](https://aws.amazon.com/jp/api-gateway/)と[AWS Lambda](https://aws.amazon.com/jp/lambda/)の組み合わせでサクッと作れます。

大部分はさきほど紹介した上記記事をなぞってもらえばできます。
この記事では、[LINE Messaging API SDK for Python](https://github.com/line/line-bot-sdk-python)を[AWS Lambda](https://aws.am

元記事を表示

オンプレミスからクラウドへの移行まとめ(SAA-C03)

SAA-C03向けまとめ
# オンプレミスからクラウドへの移行まとめ

# 1. 移行サービス
参考:https://aws.amazon.com/jp/cloud-data-migration/

– [1.1 データの移行](#11-データの移行)
– ハイブリッドクラウドストレージ
(ネットワーク帯域幅の制限がない場合に適した選択肢)
– AWS Direct Connect
– AWS Storage Gateway
– オンラインデータ転送
– AWS DataSync
– AWS Transfer Family
– AWS Snowcone
– Amazon S3 Transfer Acceleration (エッジロケーション経由でより迅速なアップロード)
– Amazon Data Firehose(リアルタイムデータ送信)
– オフラインデータ転送
– AWS Snowcone
– AWS Snowba

元記事を表示

AWS CLIを使ったプロファイルの管理方法

### AWSプロファイルとは?
AWSプロファイルは、AWS CLIで使う設定情報をまとめたものです。例えば、異なるAWSアカウントやプロジェクトごとに設定を切り替えることができます。

### プロファイルの構造
プロファイルは通常、以下のような構造で設定ファイル(`~/.aws/credentials` と `~/.aws/config`)に保存されます。

`~/.aws/credentials`ファイル:
“`
[default]
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

[my-profile]
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY
“`

`~/.aws/config`ファイル:
“`
[default]
region = ap-northeast-1
output = json

[profile m

元記事を表示

RDSにアクセスするだけなら、踏み台サーバは不要。Cloud Shellを使ったRDSアクセス

## 結論
CloudShellがVPC内で使用可能になり、CloudShellを通じてアクセスすることで、踏み台サーバーの必要性はなくなりました。

## CloudShell とは
2020年12月16日にAWSのコンソールに追加された機能で名前の通りシェルが使えます。
AWS CLIなどがあらかじめインストールされており、AWS CLIを使うのに便利です。事前にログインしているIAMの権限がそのまま使えるので、アクセスキーの設定などの初期設定が不要です。mysqlクライアントなどよく使うコマンドはあらかじめ入っています。
https://docs.aws.amazon.com/ja_jp/cloudshell/latest/userguide/welcome.html

## RDSアクセス時の踏み台
昨今のコンテナ化により、webサーバのシェルに触れることが少なくなってきました。こうなると困るのが、web経由でなく直接クエリをRDSに入れたい場合などに、どこからクエリを入れるかです。サーバを自前で持っていた時はwebサーバにmysqlコマンドを入れて、webサーバとDBへの踏

元記事を表示

AWS SSOを使用したECRへのログインとDockerイメージのプル方法

手順1: AWS SSOにログイン
“`
aws sso login
“`

手順2: ECRへのログイン
“`
aws ecr get-login-password –profile –region ap-northeast-1 | docker login –username AWS –password-stdin .dkr.ecr.ap-northeast-1.amazonaws.com
“`

手順3: Dockerイメージのプル
“`
docker pull .dkr.ecr.ap-northeast-1.amazonaws.com/

“`
まとめ
これで、AWS SSOを使用してECRからDockerイメージをプルすることができるようになります。これらの手順を実行することで、セキュアにECRリポジトリへアクセスし、必要なDockerイメージを取得することができます。

元記事を表示

Amazon VPC(Virtual Private Cloud)について勉強してみた

## 前提
– [SAA-C03](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)の資格取得勉強中
– 普段の業務では[Lambda](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/welcome.html)を使ってサーバーレスアプリケーションを開発
– 業務でインフラ構成図を書く機会があり、あまり触れてこなかったのでVPCについて勉強したのでまとめてみる

## Amazon VPCとは
> Amazon Virtual Private Cloud (Amazon VPC) とは、リソースの配置、接続性、セキュリティなど、仮想ネットワーク環境をフルで制御できるサービスです。
https://aws.amazon.com/jp/vpc/

> Amazon Virtual Private Cloud (Amazon VPC) を使用すると、論理的に隔離されている定義済みの仮想ネットワーク内で AWS リソースを起動で

元記事を表示

[AWS] Verified AccessとOIDCによるアクセス制御

## はじめに

– Verified Accessはプライベートアプリケーション(LB等)に対するVPNレスでのアクセス制御を実施するためのAWSサービスです。
– OIDCのIdPと連携することで、認証ステータスやIdP側のユーザグループに応じた細かな認証認可を実装することも出来ます。
– OIDCのIdPとなるKeycloak及びAWS資源を実際に設定し、認証認可の動作確認をしてみます。(AWS資源設定にはAWS CDKを利用します。)

## OIDC認証基盤設定

– 既存の構築済みKeycloakに対して、Verfied Accessと連携するための設定をしていきます。
:::note info
本記事ではKeycloak実行環境構築の詳細は割愛します。
:::

### Client設定

– Keycloak管理コンソールの`Clients`から、OIDC Clientを作成します。
– Valid redirect URIs
– https://Verified Accessで設定するカスタムドメイン/oauth2/idpresponse

元記事を表示

Amazon Bedrock における Claude 3 Haiku の Fine-Tuning 検証レポート

## はじめに

株式会社 NTT データ デジタルサクセスコンサルティング事業部の [@ren8k](https://qiita.com/ren8k) です.
2024/7/10 に,Amazon Bedrock で [Anthropic Claude 3 Haiku の Fine-Tuning がプレビューで利用可能](https://aws.amazon.com/jp/about-aws/whats-new/2024/07/fine-tuning-anthropics-claude-3-haiku-bedrock-preview/)になりました.本稿では,Claude3 Haiku の Fine-Tuning の利用手順および,Fine-Tuning したモデルの評価結果を共有いたします.

なお,本検証で利用したコードは以下のリポジトリで公開しています.是非ご覧下さい.

https://github.com/ren8k/aws-bedrock-claude3-fine-tuning

## LLM を Fine-Tuning するメリット

Fine-Tuning により,

元記事を表示

AWS Fargate + セッションマネージャーをつかって、RDS接続用のbastionを構築する際に詰まったポイント

# 1. はじめに
「AWSコンテナ設計・構築[本格]入門」という書籍に、
AWS Fargateを使ったbastion設計の章があります。(Chapter5-7)

個人開発している環境において、AWS Fargateとセッションマネージャーを使ったbastionを導入しようとしたのですが、
なかなかうまく実装できませんでした。

この記事では、実装するうえで行き詰った個所を振り返り、共有することを目的としています。

# 2. つまずいた箇所
今回つまずいたポイントは2か所です。

2.1. private subnet上のECSから、ECRに保存されているコンテナイメージがpullできなかった
2.2. Session Managerのアクティベーションコードを発行できなかった

## 2.1. private subnet上のECSから、ECRに保存されているコンテナイメージがpullできなかった
ECRはリージョナルサービスのため、VPC内には存在しません。
また、今回のECSはprivate subnet上に配置されています。
つまりECSとECRの間に、次のいずれかがない

元記事を表示

Lineでよさそうな部屋を紹介してくれるボットを作成する

# 借りる部屋を簡単に探したい
部屋を借りるときにSuumoなどのサイトを使って部屋を検索することができる。しかし、以下の理由により既存のサイトでは使いにくさを感じた。
・同じ物件を複数の不動産屋が掲載していて省きたい
・検索結果の情報量が多いので必要な情報だけを一覧で確認したい
・検索条件がある程度固定されている中(1人暮らし、家族向けなど)で物件同士を比較したい
・電車の中などで短時間で手軽に物件検索したい

そこで、これらの課題を解決するアプリを開発した。

# Lineで簡単に良さそうな物件を紹介してくれるボットの作成
Suumoから自分の探したい条件の物件を簡単に比較できるようなLineボットを作成した。
自分の探したい物件の情報としては、「神奈川県の北東寄り」「間取りは2LDK以上」、「家賃は15万円以下」などがあり、こちらに該当する物件が今回借りたい部屋の条件である。
また、物件同士で比較したい条件は「家賃」、「敷金/礼金」、「間取り」などがある。
詳しい検索条件、比較内容については以降で記載する。
以下完成したLineボットで物件について検索している画面である。
駅名や

元記事を表示

OTHERカテゴリの最新記事