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

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

boto3を使ったathenaへのクエリ投入

# 事前準備
– ライブラリであるboto3をインストールしているか
– .awsフォルダ直下にアクセスキー情報を配置しているか
– configファイルとcredentialsファイルは以下のような記述となる

“`config
[あなたの環境]
region = “あなたのリージョン”
output = “あなたの設定する記述フォーマット”
“`

“`credentials
[あなたの環境]
aws_access_key_id=”あなたのアクセスキー”
aws_secret_access_key=”あなたのシークレットアクセスキー”
“`

# コード例
– クエリを記述し、pythonからathena上でクエリを実行する
– 基本的にはクライアントの作成、athenaクライアントの設定、実行したいクエリの記述、クエリの実行という段階に分けられる
– 実行したクエリの確認をするため、クエリの実行IDを取得している

“`boto3.py
# 各種設定
import boto3

# boto3セッションを使用しクライアントを作成
sessino = bo

元記事を表示

[Red Hat Enterprise Linux9] ユーザデータでSSHパスワード認証許可設定をしてみた

今日はEC2へのログインに関しての記事になります。

AWSを使用するメリットの一つとして、仮想マシンを簡単に複製し、異なる構成や環境でアプリケーションのテスト\/検証を迅速に行える点が挙げられます。

通常、新たなEC2にログインするには、起動時に指定したキーペアを使用する必要があります。
ただ、そのキーペアを管理したり、検証作業のたびにそのキーペアを指定したりするのは非常に **「メンドクサイ」** です。

そこで、ユーザデータでSSHパスワード認証許可設定を行い、EC起動時にデフォルトでパスワード認証できるようにしてみました。

## ユーザデータとは
ユーザデータは、EC2インスタンスの起動時に実行されるスクリプトやコマンドのセットです。
主な目的は、インスタンスの初期設定やカスタマイズ、アプリケーションの設定などを自動化することになります。
AWSマネジメントコンソールでいうと、下記のEC2起動画面にて設定することが可能。

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

元記事を表示

[AWS #18] Auto Scaling


## はじめに
こんにちは
今回もコンピューティングサービス分野である **「Auto Scaling」** について紹介したいと思います。
## Auto Scaling
「Auto Scaling」とは、**あらかじめ決めておいた条件に従って****ITリソースを増減するもの**です。AWSでは **「EC2」** **「DynamoDB」** などでAuto Scalingを使用することができます。これを使用するとEC2インスタンスがどの時点でいくつ必要であるか?を予測する必要が無くなります。

:::note info
EC2インスタンスを**必要な時に自動で増減できる**
:::

### メリット
・**高可用性であること**
システムにアクセスが集中する時間帯に合わせてインスタンス数を増やすことで可用性を高めることができます。

・**耐障害性である**
例えば3台のインスタンスを

元記事を表示

S3イベントをトリガーにLambda関数を実行

前回、ローカル環境でS3のputイベントに対してLambdaを実行するテストを行いました。

詳細については、こちらの記事をご覧ください:

https://qiita.com/kutinasi_hobby/items/6e76d640598a10e89d14

今回は、AWS環境で実際にこれを実行する方法について説明します。

## CloudFormationを使用してリソースの作成
AWS SAM(Serverless Application Model)はCloudFormationを使用してリソースの作成を行います。SAMプロジェクト内のtemplate.yamlファイルにリソース情報を記述することで、必要なリソースを簡単に定義できます。

ここでは、ファイルをアップロードするS3バケット、処理を行うLambda関数、そしてそのLambda関数に適切な権限を付与するためのIAMロールを作成します。

“`yaml:template.yaml
AWSTemplateFormatVersion: ‘2010-09-09’ # テンプレートのバージョンを指定
Transform

元記事を表示

Reminder record 1: AWS

Amplify Gen 2 ( Amplify ) でアプリを構築中に学んだことを残す。

## RDS の Credentials の取得

– 原因
– Database の Credentials を動的に生成する場合、Secret Manager から取得して、Database URL を生成する必要がある。
– 対処
– ECS のタスク実行ロールで、自前で生成した SecretsManager を読み取る。 [^4]

## `The maximum number of VPCs has been reached.`

– 原因
– quota [^1]
– Google Cloud にもあると思うが、警告された記憶がない。
“`bash
CloudFormationDeploymentError: The CloudFormation deployment has failed.
Resolution: Find more information in the CloudFormation AWS Console for this sta

元記事を表示

非エンジニア(営業)がアプリ開発をやってみた

# はじめに
初めての投稿になります。
AWS CIerでカスタマーサクセスセールスをしている宇都といいます。

以前はFuji◯eroxで新規開拓の営業をしていましたが、約2年半ほど前に今の業界に転職しました。
当時から複合機を販売するよりもソフトウェアだったり、AWSを提案するほうが楽しかったのですが、今はその好きなものだけをひたすら提案できるのですごく楽しいです。

**人間、興味があるというのはすごいエネルギーがあるもの**で、気づけばAWSの認定試験を5つ(CLF→SAA→SOA→SAP→SCS)も取っていました。

こうなると目指すは**全冠セールス**だなと思っているのですが、これまでの資格は正直、テスト勉強ができれば取れちゃうものばかりだったりします(良くないですけど)

ただDevOps Professionalに関しては開発サービスを触っていないとわからないものが正直多く、資格だけ持っている頭でっかちな人間というのも面白くないので、自分で開発してみようとなりました。
生成AIの技術進歩があって開発に対するハードルも下がっているので、元々個人開発してみたかったというの

元記事を表示

ソリューションアーキテクトに求められる視点(10/13) AWS Elastic Disaster Recovery

## はじめに
ソリューションアーキテクトに求められる視点を整理してみました。

今回は、**AWS Elastic Disaster Recovery**です。実務や試験で、ご参考にして頂けましたら、幸いです。

**AWS Elastic Disaster Recoveryとは?**
災害対策を必要最低限の手間とコストで、行う事が出来るサービスです。
AWS DRSを使用すれば、アイドル状態のディザスタリカバリサイトのリソースとメンテナンスを削除してコストを削減し、訓練や復旧のために必要なときだけ完全復旧サイトの料金を支払うことができます。

**AWS DRSを使用して何ができますか?**
プライマリIT環境に障害が発生した場合、AWS DRS を使用して、AWS上のアプリケーションを最新の状態、または選択した以前の時点から素早く復旧させることができます。

## **アーキテクトに求められる視点**
オンプレミスアプリケーションの災害復旧にAWSを使用したいと考えています。
対象サーバのOSは、Windowsです。
災害対策を必要最低限の手間とコストで行いたいと考えています。

元記事を表示

AWS ECS上からRailsアプリケーションにBedrock+Claude 3 Haikuを取り込んでみた

## Claude 3 Haikuは安い・美味い・速い

基本的に応答スピードが早く、日本語入出力にも長け、速いのが特徴です。

以下Bedrock経由での価格ですが、Claude 3 Sonnetは他と比較して1/10以下の金額で使えるのが非常に良いです。応

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/293892/9cb13398-28c5-532c-d88b-556845799872.png)

詳細はコチラ

https://aws.amazon.com/jp/bedrock/pricing/

2024年7月時点で、応答速度もSonnetの2倍程度はやく、非常に魅力的です。個人で使ったり、製品のプロトタイプとして活用するには非常に魅力的です。

## AWS Bedrockを使うメリット

– 学習・管理コスト
– AWSに慣れているエンジニアが弊社には多かった
– AIだけAzureに外出しせずとも、AWS内ですべて完結出来る
– セキュリティ

元記事を表示

ApiGateway から Lambda にパラメータを渡す

# 概要
今更だが、ApiGatewayからLambdaを呼び出した際に、指定したパラメータのみを渡す設定方法をまとめた。
ただし**以下の「Lambda プロキシ統合」の設定はFalseにする前提で進める。**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1909565/c4662705-f02a-acb1-a47c-af1e520379ed.png)

# 設定
1.対象のリソースにて、統合リクエストを選んで「編集」を押下
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1909565/87ac8de9-9ad0-95e1-6333-c45d19b38e45.png)

2.リクエストパススルーを推奨の設定のままにし、マッピングテンプレートを記載する
![image.png](https://qiita-image-store.s3.ap-northeast-1.

元記事を表示

【参加レポート】Amazon Bedrock Prototyping Camp に行ってみた

# はじめに

先日「Amazon Bedrock Prototyping Camp」に参加してきましたので、そのレポートです。

# きっかけ

現在弊社ではキャリア支援サービスの「ミートキャリア」を手掛けています。
今後このキャリア支援サービスで培ったノウハウやデータを活用して、その人に合ったキャリアやマッチする求人を提案するようなサービスを開発しようとしています。

https://www.nikkei.com/article/DGXZQOUC25BB20V20C24A6000000/

この開発においてユーザーや求人のデータを分析してマッチングする機能で生成AIが活用できないかと考えました。

ちょうど「Amazon Bedrock Prototyping Camp」という1日かけてAWS上で生成系AIのプロトタイプの実装までを行うイベントがあるとAWSの方に教えてもらいました。
実際に触ってみるのが一番理解も早いし、生成AIに関する知識がない初心者でもOKとのことだったので参加することにしました。

# イベント参加まで

事前に対応する必要があったのは、事前アンケート(生成

元記事を表示

【AWS】AWSアカウント作成して確認/設定すること-rootユーザのアクセスキー削除とMFA設定-

## 初めに
AWSアカウントを作成した後に最初に行うべきセキュリティ対策とその作業について解説します。AWSを利用する際、最初の設定をしっかり行うことで、不正アクセスのリスクを大幅に減らすことができます。

今回は、 **rootユーザーのアクセスキーを(あれば)削除し、多要素認証(MFA)を設定します。**

AWSアカウントの作成方法はこちらを参考にしてください↓
[【AWS】AWS無料枠でアカウント作成する手順:初心者向け解説【クラウド】](https://qiita.com/SoraoKosaka/items/ed2e360f03d18e0adf72)

## 用語の説明(アクセスキーとMFAについて)
まず今回の記事の主役であるアクセスキーとMFAについて説明します。
#### アクセスキーとは
AWSのサービスにプログラムやコマンドラインからアクセスするための鍵のようなものです。AWSアカウントのユーザがコマンドラインなどリモートでAWSサービスを利用する際の認証情報になります。
アクセスキーには次の2つの部分があります:

・アクセスキーID:ユーザー名のようなもの。(

元記事を表示

Knowledge Bases for Amazon Bedrockに新しく追加されたカスタムチャンキングを試す

Knowledge Bases for Amazon Bedrockがカスタムチャンキングに対応しました。

What’s Newによると、

> お客様は独自のチャンキングコードをLambda関数として記述できるようになり、LangChainやLlamaIndexなどのフレームワークの既成コンポーネントを使用することもできます。

https://aws.amazon.com/about-aws/whats-new/2024/07/knowledge-bases-amazon-bedrock-advanced-rag-capabilities/

これまでは、「デフォルトチャンキング(自動分割)」「固定サイズのチャンキング」「チャンキングなし」からしか選べませんでしたが、Lambdaを呼び出して好きなチャンク分けができるようになりました。

:::note
同じタイミングで、「階層型チャンキング」「セマンティックチャンキング」にも対応しました。
:::

今回は、カスタムチャンキングを試してみました。

参照した公式ドキュメント:
https://docs.aws.amazon.co

元記事を表示

【セッションレポート】「実践導入!キャッシュレイヤによるOracleコスト削減」に参加しました

# はじめに

本記事はDB Tech Showcase 2024 の2日目(7/12)において AWS の堤さんが講演された「実践導入!キャッシュレイヤによるOracleコスト削減」のレポートです。

# 公式セッション紹介

> キャッシュレイヤはOracleやRDBMS等のコスト削減に対する強力な武器となります。しかしごく一部でしか使っていない、どの程度の効果があるか分からない、トレードオフが分からない、という方も多いのではないでしょうか。本セッションではキャッシュレイヤ導入に向けてユーザー事例、コスト試算、サンプルコード、実装時の注意点等を30分に凝縮してお伝えします。

# セッション資料

– 現時点(2024/7/12)では未公開?

# 概要/おすすめポイント

このセッションでは、RDS for Oracle を例に キャッシュ層 を利用することで全体としてコスト削減ができますよ、という話です。データベース自体はOracle Databaseに限られる話でもなく、例えば発表者の堤さんが昨年 「[Amazon ElastiCache を使用して RDS for MySQ

元記事を表示

『感想』Amazon Bedrock生成AIアプリ開発入門

## はじめに
この度はタイトルの「Amazon Bedrock 生成AIアプリ開発入門を読んだ感想を投稿します。

Amazon Bedrock 生成AIアプリ開発入門 [AWS深掘りガイド]

私は技術書が好きなのでよく購入して読むのですが、感想の投稿は初です。というか**Qiita投稿が初。**

Qiitaはこれが初投稿ですが、最近アウトプットを強化しておりZennもやってます。

https://zenn.dev/mkdevelop

Qiitaを始めた理由は投稿のイベントなどが、あり面白そうでした。うまく使い分けていこうと思います。

## 購入はKindle版
さて本題。私は紙の本も大好きですが会社用は紙。個人用は電子のように買い分けています。

https://x.com/mkdev_10/status/1805734346328097205

この本を書店で見たときはサイズ感に驚きましたが。
1週間ほどで読み切ったと思います。それぐらい内容が面白くのめり込める一冊でした。

移動中、休憩中、休日。ずっとお供って感じです。

## 書籍の構成
– 第1章 生成AIの基

元記事を表示

ソリューションアーキテクトに求められる視点(9/13) AWS Resource Access Manager (RAM)

## はじめに
ソリューションアーキテクトに求められる視点を整理してみました。

今回は、**Resource Access Managerです。具体的には、「共有可能なリソースタイプ」** にフォーカスしました。実務でも試験でも、ご参考にして頂けましたら、幸いです。

## **アーキテクトに求められる視点**
複数のチームで構成される会社のAWSアカウント構造を設計しています。
オンプレミスネットワークに接続されているVPCを必要としています。

**Resource Access Managerを使用して共有すべきものは、「サブネット」「トランジットゲートウェイ」のどちらですか?**

## **ソリューション**
共有可能なリソースタイプとしては、どちらも選択できます。

サブネット ec2:Subnet
Transit Gateway ec2:TransitGateway

https://docs.aws.amazon.com/ja_jp/ram/latest/userguide/shareable.html

**しかし、「オンプレミスネットワークに接続されているVP

元記事を表示

ソリューションアーキテクトプロフェッショナルに求められる視点(8/13) 「Mountpoint for Amazon S3 」「S3 マルチリージョンアクセスポイント」

## はじめに
ソリューションアーキテクトに求められる視点を整理してみました。

今回は、**「其の一.Mountpoint for Amazon S3 」「其の二.S3 マルチリージョンアクセスポイント」** です。実務や試験で、ご参考にして頂けましたら、幸いです。

## 其の一.Mountpoint for Amazon S3

### **アーキテクトに求められる視点**

Auto Scaling グループ内の Linux Amazon EC2 インスタンス群でサービスをホストしている。
設定ファイルは、S3 標準ストレージを持つ Amazon S3 バケットに保存し、
インスタンスの起動時に各 EC2 インスタンスにダウンロードされる。
EC2インスタンスでは、古い設定情報が使用されることがあり、情報が不正確になる可能性がある。

### **ソリューション**
マウントポイント for Amazon S3 を設定して、設定ファイルを含む S3 バケットをマウント。サービスを更新して、マウントポイントと $3 オブジェクトにアクセスするためのパスを指定。

https:

元記事を表示

【AWS初学者向け】EC2にアプリケーションをデプロイ

# はじめに
こんにちは、東京でバックエンドエンジニアやってるoonoです。
今回は**AWSのEC2上にアプリケーションをデプロイしてみたい**方向けに
記事を書いていこうと思います。

記述内容に誤りがございましたらご教示いただけますと幸いです。

# 前提知識
本記事は以下のような方を想定しています。
* ローカルで作成したアプリをサーバーにデプロイして公開したい方
* AWSのサーバー(EC2)へのデプロイを行なったことが無い方
* LaravelのCRUD基本知識が身についている方(本記事はLaravelを例に扱ってます)
* Linuxの基礎的なコマンド(cd,ls,mkdirなど)を理解している方
* githubを扱ったことがある方

# 本記事にて扱わない技術
本記事はAWSを扱うのが初めての方に向けての内容となります。
極力シンプルな内容にするため以下のような技術は割愛させていただきます。
* Docker
* docker-compose
* ECS
など、実務レベルに近いアプリのデプロイや運用に関する技術

# EC2とは?
では早速Laravelアプリケーショ

元記事を表示

AWS CLIでVPC作成と情報取得方法

## はじめに
今回はAWS CLIを利用してVPC作成を実施します。
AWS CLIを利用することでスクリプト等を使用して情報取得することができます。
特にVPCID取得するには他CLIコマンドで利用することも多いかと思いますので、
投稿します。

## VPC作成

“`bash
# 基本的利用方法
$ aws ec2 create-vpc \
–cidr-block \
–tag-specifications
“`

利用例:

“`bash
# 変数定義
$ VPC_TAG_NAME=’example-cli-vpc’
$ VPC_CIDR=’10.0.0.0/16′
$ STRING_VPC_TAG=”ResourceType=vpc,Tags=[{Key=Name,Value=${VPC_TAG_NAME}}]” \
&& echo ${STRING_VPC_TAG}
ResourceType=vpc,Tags=[{Key=Name,Value=${VPC_TAG_NAME}}]

$ aws ec2 cr

元記事を表示

AWS Aurora PostgreSQL x 生成AI ~ 「名寄せ」への適用の試み 【DB TECH SHOWCASE 2024レポート】

## はじめに

### DB TECH SHOWCASE 2024

2024年7月11~12日、今年もDB TECH SHOWCASEが開催されました。

https://www.db-tech-showcase.com/2024

昨年、一昨年と、スポンサー側で参加させていただきましたが、今年は一般参加者としての参加となりました。イベント全体の変化として、個人的に目を引いたのは、ここ数年は設けられていなかった展示会ブースが再開されたことでした。

### この記事の成立事情

今回、初日の17日の12:30からROOM Bで開催されたAWS社によるセッション「Aurora PostgreSQL x 生成AI: 既存データの力を最大限引き出す新しい仕掛け」に参加しました。セッションの最後に、「このセッションについてのブログを書きませんか?」というスピーカーの新久保浩二氏からの呼びかけがあり、良い機会なので、またなによりセッションの内容が興味深いものだったので、手を挙げた、というのがこの記事の成立の経緯です。

### 生成AIとデータベースの関わり

「生成AIとデータベースの関わ

元記事を表示

ソリューションアーキテクトに求められる視点(7/13) Transit Gatewayでインスペクション用VPCに通信を集約する方法

## はじめに
ソリューションアーキテクトに求められる視点を整理してみました。

今回は、**Transit Gatewayでインスペクション用VPCに通信を集約する方法**です。実務や試験で、ご参考にして頂けましたら、幸いです。

## **アーキテクトに求められる視点**
複数のVPCを運用しています。**Transit Gatewayでインスペクション用VPCに通信を集約するには、どのようにすれば、可能となりますか?**

※インスペクション用VPC(Inspection VPC)は、ネットワークトラフィックの監視、分析、セキュリティ検査を行うために設計されたVPC(Virtual Private Cloud)です。このVPCは、通常、ファイアウォール、IDS/IPS(侵入検知システム/侵入防止システム)、プロキシサーバー、ログ収集システムなどのセキュリティアプライアンスをホストします。インスペクション用VPCを使用することで、ネットワークトラフィックを一元的に監視し、セキュリティポリシーを適用することができます。

## **ソリューション**
アプライアンスモードを有効にす

元記事を表示

OTHERカテゴリの最新記事