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

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

AWS EC2

# はじめに
AmazonEC2とはAmazon Elastic Compute Cloudの略で
AWSが提供する「仮想サーバサービス」です。
Amazon EC2を利用することで、従来のような物理サーバの構築や環境作業をすることなく、手軽に仮想サーバを用意することができます。
# Amazon EC2の機能
Amazon EC2を利用する上での代表的な機能は以下の通りです。
* インスタンス
* Amzon マシンイメージ(AMI)
* インスタンスのタイプ
* Amazon EBS ボリューム
* インスタンスストアボリューム
* キーペア
* セキュリティグループ

## インスタンス
インスタンスとは、AWS上で稼働する仮想サーバのことをさし、仮想サーバを数える際の単位としても使われます。AWSでは仮想サーバのCPUやメモリなどの組み合わせがインスタンスタイプとして定義されています。必要なスペックに応じたインスタンスタイプを選択し、OS、ストレージ容量などを決定してインスタンスを作成します。また、インスタンスの負荷状況に応じて自動的にインスタンスをスケールアウト(台数増)/イ

元記事を表示

AWSのメンテナンスサーバーを作る(メモ)

# メンテナンス用サーバを作ろう
コンソール操作をするのをなるべくセキュアにするために。

## EC2のインスタンスを作る
接続元を限定したセキュリティグループにする

## 設定ファイルいじる
“`
ssh -i ~/.ssh/favy-maintenance.pem ubuntu@***.***.***.***
sudo su
vi /etc/ssh/sshd_config
“`
“`

#PermitRootLogin prohibit-password ←これコメントアウト(デフォルトでコメントアウトしてあるはず)

PubkeyAuthentication yes ←コメントインする

PasswordAuthentication no ←本来YesだけどNoに変更させてコメントイン
PermitEmptyPasswords no ←コメントイン

“`

## 接続後ユーザー作成する
“`
ubuntu@ip-***-***-***-***:~$ sudo adduser maintenance
“`
コマンドうつと以下のような対話型が

元記事を表示

CloudFormationでManaged Preflix Listを作成しよう!

## 概要
CloudFormationでManaged Preflix Listを作成する方法について解説します

## Managed Prefix Listとは
簡単に説明するとIPアドレスを格納するリスト群です

## Managed Prefix Listの作成
今回はPrefix Listの作成とUserAとUserBのIPv4のIPアドレスを登録するCloudFormationのテンプレートを作成します
主に

– セキュリティグループおよびネットワークACLのIPアドレスの管理
– WAFが許可、拒否するIPアドレスの管理

などで使用されます

“`yaml
AWSTemplateFormatVersion: 2010-09-09
Description: “Managed Prefix List for my-project”

# ————————————-
# Metadata
# ————————————-
Metadata:
AWS::CloudForma

元記事を表示

AWS Transfer Family で SFTPサーバーを起動してコンソールから接続する例

# STEP 1. AWS S3 のバケットを作成しておく

SFTPサーバーのファイル保存先は選択できるが、デフォルトはS3なので、まずはバケットを作成しておく

この例ではバケット名を `this-is-the-example-bucket` とする

![CleanShot 2024-07-05 at 13 32 10@2x](https://github.com/YumaInaura/YumaInaura/assets/13635059/17b5fec9-7327-4977-b58b-083264e21b98)

バケットのパブリックアクセスは全てブロックしたままで良い

# STEP 2. SFTPサーバーを作成する

![CleanShot 2024-07-05 at 13 22 33@2x](https://github.com/YumaInaura/YumaInaura/assets/13635059/e6909a17-9db5-4c2c-8e9b-6f9ebff7e3da)

(途中にいくつかの画面が表示されるが、デフォルトのまま進む)

デフォルトのままS3を選

元記事を表示

SAA-C03認定試験チートシート【初心者】#AWS

## はじめに

本記事では、AWS SAAに合格するために学ぶにあたってAWSの各サービスについて学んだことをリスト形式で記述していきます。サービスやツールごとの概要・特徴について記述していきます。

なお本記事では、AWS Documentaionである以下のサイトを基本的に参考にしておりますのでサービスについて詳しく白鯛方はぜひ参考にしてみてください!

https://docs.aws.amazon.com/

https://www.sunnycloud.jp/category/column/

## 目次
|サービス名一覧|||
|—|—|—|
|[Amazon EC2](#Amazon EC2)
|[IAM](#IAM)
|[Amazon Route53](#Amazon Route53)
|[Amazon Cognito](#Amazon Cognito)
|[Amazon STS](#Amazon STS)
|[Amazon API Gateway](#Amazo

元記事を表示

オズボーンのチェックリスト 思いつめすぎて、考えに行き詰まったら、発想の転換に活用してみてください。

## はじめに
**要件定義と提案**を行う際に、オズボーンのチェックリストに従って、内容を整理したら、スムーズに考えを整理できたので、これは良いと思い。今回、内容を整理して、ご紹介させて頂こうと思います。考えに行き詰まったら、発想の転換に活用してみてください。

## オズボーンのチェックリストとは?

オズボーンのチェックリストは、**創造性を高め、新しいアイデアを生み出す**ための思考法です。**ブレインストーミングの生みの親**であるアレックス・F・オズボーンが提唱しました。

オズボーンは、生まれつき創造性の豊かな人たちが無意識に行っている思考プロセスを分析し、**誰でも創造的思考を行えるように**このチェックリストを開発しました。

オズボーンのチェックリストは、既存の製品やサービス、プロセスを新しい視点から見直し、創造的なアイデアを生み出すための強力なツールです。各質問を順に適用することで、多角的な視点からアイデアを出すことができ、革新や改善の可能性を広げることができます。

## 意外と身近にある実例

おむつを子供だけでなく大人にも使ってもらえないか?**高齢者用おむ

元記事を表示

DjangoアプリケーションでAWS S3を使用して画像をアップロードする設定方法

# AWS S3への画像アップロードを行うDjangoアプリケーションの設定方法
この記事では、自分がDjangoアプリケーションでAWS S3を使用して画像をアップロードするために行った設定を記述します。具体的には、Djangoの設定ファイルにAWS認証情報を追加し、Apache経由で環境変数を設定する手順を詳しく載せておきます。

## 前提条件
AWSアカウントがあること
Djangoアプリケーションが既にセットアップされていること
Apacheがインストールされ、設定されていること

## ステップ1:AWS認証情報の設定
AWS管理コンソールにログインし、新しいアクセスキーを作成します。作成したアクセスキーとシークレットアクセスキーをメモしておきます。

## ステップ2:Apache環境変数の設定
AWS認証情報をApacheの環境変数として設定します。これにより、DjangoアプリケーションがAWS S3にアクセスするための資格情報を取得できます。

Apacheの環境変数ファイルを編集します:
“`bash
sudo nano /etc/apache2/envvars

元記事を表示

AWS Glueとは

# はじめに

副業でAWS Glueについて触れる機会があったので、Glueとはどんなものかまとめていきます。

https://docs.aws.amazon.com/ja_jp/glue/latest/dg/what-is-glue.html

# Glueとは
AWS Glue(Amazon Web Services Glue)は、**Amazonが提供するフルマネージドのETL(Extract, Transform, Load)サービス**です。ETLプロセスを簡単に自動化するために設計されており、データの抽出、変換、ロードを効率的に行うことができます。
Glueを日本語にすると、「のり」(食べる海苔じゃないよ)という意味になり、**データのさまざまなソースをつなぎ合わせる役割を果たすサービスの特性を表しています。**

## 特徴
### フルマネージド:
インフラストラクチャの管理が不要で、セットアップやメンテナンスの手間が省けます。

### サーバーレス:
インフラストラクチャをプロビジョニングすることなく、ETLジョブを実行できます。これにより、スケーラビリティとコ

元記事を表示

AWSリソースはCDKでの構築にしませんか?

## CFnテンプレートの修正って大変よね
CFn(CloudFormation)を触っててこんなことありませんか?
– json/yamlの文法ミスってた…
– プロパティ足りてなくてエラーになった…
– 他にもIAMとか付随するサービスの定義も必要だった…
– テンプレートだと自由度が低くて痒い所に手が届かない…

そんなときこそCDKです!

## CDKとは?
「CFnテンプレートをコードで書ける」って代物です!
だいぶざっくりとした説明なので詳しくって方は公式docをご参照ください。
https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/home.html

## さっそく使ってみるゾ
WorkShopを参考にしつつ触ってみたいと思います。
https://catalog.workshops.aws/typescript-and-cdk-for-beginner/ja-JP/40-cdk-introduction

お試し利用なので、デプロイリソースは単一のLambda関数にします。

### 環境セットアップ

元記事を表示

Lambdaでストリーミングレスポンスに対応する

# 背景

* Lambdaの関数URLを使用している。

* ストリーミングレスポンスを扱いたい。

# 方法

1. 関数URLの呼び出しモードを`RESPONSE_STREAM`に変更
![Screenshot 2024-06-14 at 12.12.01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/679785/ceb6d49d-85b4-79c3-75dc-e065f9fcded4.png)

2. 以下の環境変数を指定する。
“`text
AWS_LWA_INVOKE_MODE: RESPONSE_STREAM
“`

以上です。めっちゃ簡単!

# 詳細な状況

LangChainを使用しており、ストリーミングでレスポンスを返したかった。ローカルでは正常にストリーミングでレスポンスを返すが、Lambdaにデプロイすると、意図した挙動になりませんでした😭

補足:Lambdaには、[Lambda Web Adapter](https://aws.amazon.com/jp/build

元記事を表示

ECS Execを使って作成したECS Fargate内にアクセスする方法について徹底解説!

## 概要
ECS Execコマンドを使うことでコンテナ内にアクセスすることができますので解説します

## 前提
– ECSについてある程度知識がある
– AWS Fargateを使用している場合、プラットフォームバージョンが1.4.0 以上 (Linux)である
– DBはPostgresを使用

## CLI
aws cliがインストールされているか確認します
以下のようにバージョンが表示されていたら成功です

“`
aws –version
aws-cli/2.11.2 Python/3.11.2 Darwin/23.2.0 exe/x86_64 prompt/off
“`

まだインストールしていない場合は以下のリンクの手順に従ってインストールしてください

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/getting-started-install.html

次にsession-manager-pluginがインストールされているか確認します
以下のように表示されていたら成功です

“`
sessio

元記事を表示

新卒向けAWS New Grads Trainingに参加しました

4月に新卒のAWS研修として行われたAWS New Grads Trainingに参加する機会がありました!
研修実施からかなり経ってしまいましたが、
参加して印象に残ったこと、学んだことを書こうと思います。

# 初めに
本題に入る前に少し私の自己紹介をしておこうと思います。

* IT未経験で入社し、今年で3年目になります。
* クラウドに特化したグループに所属し、日々の業務に加え、
クラウドの資格取得なども積極的に行っています。

# AWS New Grads Trainingとは?
AWS New Grads Trainingとは、AWS初学者の中でも新入社員向けのセミナーです。
※AWSパートナー限定のセミナーとなります

具体的な内容については以下のAWS公式をご覧ください
https://aws.amazon.com/jp/blogs/psa/aws-partner-learning-path-001/

# AWS New Grads Trainingの内容

### アジェンダ
研修は約6時間行われました。
IT業界からAWSを学ぶ上で重要なキーワードまで、
多くの

元記事を表示

AWS WAF でメンテナンスモードの開始・解除を実現する ( +特定のIPアドレスだけはアクセスを許可する )

# 概要

サービスメンテナンス中に、レスポンスコード `503 Service Temporarily Unavailable` と、メンテナンス表示用のHTMLをユーザーに返したい

# ALBとの比較

ALBでやる欠点は

– 構成によってはALBで実現しようとすると作業が煩雑だったり、困難だったりする。
– 特定のIPアドレスだけ許可しようとしても、1ルールあたりのIPアドレス設定の上限があり、やりづらい。
– 1ルールの中でレスポンスヘッダが指定できないので、キャッシュコントロールがしづらい。

思い出してほしい。ALBは「バランサー」である。

メンテナンスモードに限らず、WAFでもALBでも実現できる動作はあるが、あくまでALBはパスに対してのリソースの振り分けに徹した方が良いと思った。

# WAFの設定手順

## STEP 1 . WAFにカスタムレスポンスを作成しておく

**AWS WAF > Web ACLs > ACL名 > Custom Response Bodies** から

– 文字化けしないようにHTMLで文字コード系の指定をしておく
– キャッ

元記事を表示

ElastiCacheの新UI(2023)を使ってFargateのコンテナからRedisに接続する方法

結論から申し上げると下記のドキュメントがとても参考になりました。
https://aws.amazon.com/jp/blogs/news/amazon-elasticache-serverless-for-redis-and-memcached-now-generally-available/

## はじめに
ElastiCacheに初めて触るとなると、過去のElastiCacheのハンズオン動画などから見始めて理解を進めていくのが一つの定石だと思いますが、つい半年前にElastiCacheのUIと機能が大々的に変更されたことで、新規でElastiCacheを使おうとする方は逆に導入が大変な時期なのではないかと思います。

たとえば以前ElastiCacheのクラスター作成と呼ばれていたものが、現在だとRedis OSS キャッシュを作成というものに変わっていたり、以前はノード数なるものを設定していたのが、現在だとノードの指定項目がそもそもRedisOSSキャッシュでは見つかりません。

Redisへの接続も(最新verなら)以前使っていたコマンドが使用できなくなっています。

元記事を表示

GenU の RAG チャットで精度向上のためのデバッグ方法

# はじめに

[GenU (Generative AI Use Cases JP)](https://github.com/aws-samples/generative-ai-use-cases-jp) で、RAG チャットを利用しているときに、理想の回答が生成されない場面に遭遇する場合があります。いきなり最初から精度 100 % の回答を目指すのは難しく、良くない回答が得られた際に、内容を確認しながら改善する取り組みが必要です。

今回の記事では、何が原因となっているのか深ぼる方法を簡単に紹介します。

# 見るべき観点

GenU で RAG チャットを利用するときに、見る観点は大きく 3 つあります。この 3 つを確認したあとに、その後の改善アクションに結び付けると良いでしょう。

– Kendra (or Knowledge Bases) に、どういったクエリーを実行しているのか?
– Kendra (or Knowledge Bases) から、どういったデータを取得しているのか?
– どういう回答が理想の回答なのか?そのギャップは?

GenU の RAG の構成

元記事を表示

Athenaでデータを取得しようとしたらパーティションスキーマーエラ「HIVE_PARTITION_SCHEMA_MISMATC」がでた

# 問題
タイトルの通りAWSのAthenaでデータを取得しようとしたら下記のエラーが発生。
“`
HIVE_PARTITION_SCHEMA_MISMATCH: There is a mismatch between the table and partition schemas. The types are incompatible and cannot be coerced. The column ‘col1’ in table ‘database_name.table_name’ is declared as type ‘bigint’, but partition ‘partition1=aaa/partition2=bbb’ declared column ‘col1’ as type ‘struct‘.
“`
テーブルのスキーマのパーティションのスキーマが一致しないとエラーが出ていました。
csvファイルのcol1列が文字列の時と数値の時があったため今回の問題が起きました。
データを入れなおしてCrawlerを実行

元記事を表示

AWS EC2 linux2にRDP接続がスムーズに行かなかった件

# はじめに
AWS上にデスクトップ環境を構築する必要が生じたので、MATE Desktop Enviromentが導入済みのAMIインスタンスを立ち上げて、以下の記事を参照しつつRDPで接続しようと思いましたが、RDP接続で少し躓いたのでまとめます。

### 参考記事

https://qiita.com/98lerr/items/a7678db39a6519248f75

https://mseeeen.msen.jp/ec2-connect-remote-desktop/

https://qiita.com/s_Pure/items/527a4d9d4cb3d379a6e6

# 問題
Amazon Linux 2 with.NET6, PowerShell, Mono, and MATE Desktop Environmentインスタンスを立ち上げるところまでは、以下の参考記事の手順に従って実施。

参考記事によればこれだけでRDP接続できそうですが、実際には接続できませんでした。(クライアントはMicrosoft Remote Desktopを使用。)

下の部分をダブル

元記事を表示

AWS備忘録(Lambda関数の使い所)

AWS Lambdaとは…
・サーバレスコンピューティングで、プログラムのコードを実行できるフルマネージドサービスのこと。Lambda関数という実行コードを使用する。
・開発言語はJava、Node.js、Pythonなどに対応。
・実行時間は最長で15分。
・料金=リクエスト数ベースの課金+実行時間ベースの課金。
・実行タイミングは特定のイベントをトリガーとする。

サーバレスとは…
・サーバーを必要としない、リクエスト発生時のみプログラムが実行されるアーキテクチャで、インフラの管理はAWSが行う。

【メリット】ずばり、プログラム開発に集中できる!
・プログラム実行環境の構築や運用が不要になり、負荷が軽減される
・プログラムはリージョン内の複数のAZに分散して配置されるため、耐障害性・可用性の向上
・プログラムへのリクエスト数に応じたスケーリングが自動的に行われることにより、拡張性向上

【使用用途例】
・トリガーでファイル・データ処理を行う
・ユーザーのアクセス時にユーザー認証を行わせる
・ルーティーン処理を実行する(EventBridge)
・バッチ処理として使用する(Ste

元記事を表示

東京リージョンのCloud9からバージニア北部のBedrockを呼び出す。

こちらのイベントにて登壇させていただきました。

https://studyco.connpass.com/event/321443/

その中で、「東京リージョンからバージニア北部のBedrockを呼び出すことはできるの?ネットワーク的に大丈夫なの??」という質問をいただきました。

## 東京リージョンからバージニア北部のBedrockを呼び出す方法

書籍「[Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガイド]](https://www.sbcr.jp/product/4815626440/)」のP.92の「2_invoke-model.py」を例にします。(コードはGitHubに公開しています→[こちら](https://github.com/minorun365/bedrock-book/blob/main/chapter2/2_invoke-model.py))

Bedrockクライアントを作成する際に、リージョンを指定するだけでOKです。

“`python:変更前
# Bedrockクライアントを作成
bedrock = boto3.clie

元記事を表示

Amazon Bedrock で Tool Use (Function Calling) を利用した JSON Mode をやってみた

# はじめに

Amazon Bedrock の Convert API で Tool Use (Function Calling) が出来るようになりました。具体的な解説や利用方法は、[こちら](https://qiita.com/ren8k/items/3d5f66df251703b8407e) の記事がわかりやすくておすすめです (ありがとうございます!)

Tool Use ではいろいろなことができますが、今回は Bedrock の生成結果を JSON に強制する JSON mode を試してみる備忘録記事です。

Tool Use は、生成 AI 側にツールの情報を与えて、ツールの呼び出しに関するパラメータを JSON で生成することができます。この 「JSON で生成する」特性を利用することで、生成 AI の結果を JSON に強制する手法が JSON mode と言われています。

さっくりやってみましょう。

# Python コード

まず Python コードの全体を記載します。

“`python
import json
from pprint import

元記事を表示

OTHERカテゴリの最新記事