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

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

Amazon Bedrock の Converse API 使って invoke_modelを置き換えてみる

## 前書き
Converse APIは2ヶ月前に発表されてますが、
langchainを使うケースが多かったので、メモとして残します。

https://aws.amazon.com/jp/about-aws/whats-new/2024/05/amazon-bedrock-new-converse-api/

## Converse APIとは

Converse API は Amazon Bedrock モデルと連動する一貫したエクスペリエンスを提供するため、開発者がモデル固有の実装を管理する必要がなくなります。この API を使用すると、コードを一度記述するだけで、Amazon Bedrock のさまざまなモデルでシームレスに使用できます。 —公式の説明

今までモデルを使用する際に、モデルごとにフォーマットがバラバラでしたが、Converse APIを使用すれば、一貫したリクエストができるようになりました。

## サンプル

### 既存のコード

“`python:invoke_model.py
import json
import boto3

bedrock

元記事を表示

Amazon EBS ボリュームの種類

SAA-C03向けメモ

## Amazon EBS ボリュームの種類

Amazon EBS ボリュームの種類

プロビジョンド IOPS
SSD

汎用
SSD

スループット最適化
HDD

コールド
HDD

ボリュームタイプ

io2 Block Express

io1

gp3

gp2

st1

sc1

最大 IOPS*/ボリューム

256,000

64,000

16,000

500

250

最大スループット
(MiB/秒)

4,000

1,000

1,000

250

500

250

無料

3,000IOPS
125 MiB/秒(スループット)

最小ボリュームサイズ

teratermでAWS EC2に接続しようとしたら失敗した

# はじめに
AWS初学者な著者はいつかに購入したUdemyを使用して勉強していたところ、EC2インスタンスにて立てたAWS Linux2024にTeraTermからSSH接続をしよう!というフェーズでなぜかうまくログインが出来ませんでした。

# 発生環境
+ OS:Windows11
+ Tera Term:4.106
+ 接続先:Amazon Linux 2023

# 作業内容

### 1.EC2を作成する
+ AMI(Amazonマシンイメージ):Amazon Linux 2023
+ セキュリティグループ:インバウンドルールにTCP 22番ポートが許可されているもの(SSH接続に必要な通信を許可)
+ キーペア:プライベートキーが手元にあるもの、もしくは新規作成しプライベートキーをダウンロードする

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3817308/65fe69bb-92df-9480-5020-dc905b92ad80.png)

### 2.SSH接続

DynamoDBがAuto Scalingに対応したと聞いて(試してみた

# はじめに
「対応した!」というのは知識として抑えていたのですが、なかなか自分で触る機会がなかったので、気になる所を触ってみてのメモ書きです。

https://aws.amazon.com/jp/blogs/aws/new-auto-scaling-for-amazon-dynamodb/

2017年の発表。 大分、ネタとしては寝かせてますね。。。

単純にGUIの画面で作ってみて終わり!という、やってみた系が多いのですが、、、スケジュール(cron式)でのスケーリング定義をやっていきたいと思います。

# テーブル作成
テーブル作成時に「Auto Scaling」を有効にして作成します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/281768/e9676474-7ce1-71fd-1bb0-d2f9a9d148a8.png)

# アラートが生成(上記のテーブル作成時に自動で)
![image.png](https://qiita-image-store.s3.ap-nor

#07 AWS(APIGateway/Lambda) + Serverless Framework + BrefでサーバレスなLaravel環境を構築してみる②

# はじめに
今回は前回の記事「AWS(APIGateway/Lambda) + Serverless Framework + BrefでサーバレスなLaravel環境を構築してみる①」の続きになります。前回はPHP動作環境を構築してみましたので、今回は記事のタイトルにある通りLaravel動作環境をAWSにデプロイしてみます。

# 1. 前提条件
AWSの各種サービスに対する基本的な知識、AWS CLI設定済み、npm/composerインストール済み、Serverless Frameworkインストール済み

# 2. 動作環境
npm:9.6.1
composer:2.1.14
AWS CLI:2.5.5
Serverless Framework:3.2.81
Bref:1.7
PHP : 8.2.1
Laravel : 10.4.1

# 3. 今回利用するツールに関して
前回利用したBrefとServerless Frameworkに加えて、AWSでLaravelを実行するためにLaravel-Brefを利用します。

### Laravel-Brefとは
Laravel-

文系未経験が約一か月でSAA合格したときの勉強法

# はじめに
この度、文系未経験でAWS認定ソリューションアーキテクトアソシエイトに約1ヵ月で合格することができました!
同じように未経験でこの資格に挑もうと考えている方の役に立てばと考え、この記事を書かせていただきました。
少しでも勉強中の方の参考になれば幸いです!

# 学習前提
2024年4月に新卒(文系未経験)としてIT業界へ
→AWS CLFを5月に取得(約1週間学習)
→約1ヶ月AWS学習から離れたのち、SAAを7月に無事取得(約3週間学習)

# 学習の流れ
学習の流れは以下の流れで行いました。

 **1.教科書によるインプット**

 **2.Ping-tによるアウトプット(分野別問題)**

 **3.Ping-tによるアウトプット(試験レベル問題)**

以降では、それぞれの学習中、自分が意識していた事、その理由と効果についてまとめました。

# 1.教科書によるインプット
書籍:AWS教科書 AWS認定ソリューションアーキテクトアソシエイト テキスト&問題集

![image.png](https://qiita-image-store.s3.ap-northe

セッションマネージャーでEC2に接続できない!!なんでだ!!!

## はじめに
こんにちは!
みなさんセッションマネージャーは使っていますでしょうか?
先日、社内OJTの1つの企画として新卒ちゃん達にAWSのハンズオンをしてもらいました。その時にセッションマネージャーを使ったEC2への接続で何名か躓いたので、今回はセッションマネージャーでEC2に接続できない時の対処法を整理しました。セッションマネージャーで接続できないと困っている人の助けになればと思います。

## セッションマネージャーとは
簡単に言うと、SSHキーも踏み台サーバーも使わずに、しかもインバウンドルールも不要でEC2インスタンスに接続できてしまう神機能のことです。詳しくは公式ドキュメントをご覧ください。

https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/session-manager.html

https://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/patterns/connect-to-an-amazon-ec2-insta

Lambda関数で日本語ファイルを処理する際にエラーが出た

# はじめに

Lambda関数でAWS CLIコマンドを使用して、日本語ファイル名のファイルをS3にアップロードしようとしたところ、エラーが出ました。

“`
‘utf-8’ codec can’t encode characters in …
“`

Lambda関数のランタイムは `Node.js20.x (OS: Amazon Linux 2023)` です。

# エラーの原因

まずは、環境変数設定で `LANG` に `ja_JP.utf8` を設定してみますが、結果は変わらず。

![スクリーンショット 2024-07-29 15.15.19.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3687813/fc945b3b-4e9d-94cd-144c-6edab6db41ab.png)

Amazon Linux 2023のDockerコンテナを起動して確認してみると、そもそもデフォルトで日本語のロケールデータが存在していませんでした。

“`bash
$ docker run

Lambda関数でAWS CLIを使用する

# はじめに

この記事では、AWS LambdaでAWS CLIを使用する手順についてまとめています。

# 対応方法

AWS Lambdaでは、ファイル書き込みが許可されているのは `/tmp` 配下のみです。
これはつまり、AWS Lambdaで実行するプログラムからはパッケージのインストールは行えないということを意味します。

そのため、対応方法としては、デプロイパッケージにまとめてしまうか、Lambdaレイヤーを使用するかになるかと思います。

今回の私のケースでは、AWS CLIは他の関数でも使用する可能性があることなどを踏まえて、Lambdaレイヤーを使用することにしました。
Lambdaレイヤーについての詳細な説明は、[AWS公式ドキュメント](https://docs.aws.amazon.com/ja_jp/lambda/latest/dg/chapter-layers.html)に譲ります。

# 対応手順

全体の流れとしては、Lambda関数で使用するOSのDockerコンテナでAWS CLIのzipファイルを作成し、そのzipファイルでLambdaレイヤー

AWS CDKを用いてRemixアプリケーションをLambdaにデプロイする

## はじめに

この記事は[こちらの記事](https://qiita.com/monjara/items/9aad76d22a70557a8a6a)の内容をAWS CDKに置き換えたものです。
cdkプロジェクトはTypeScriptで作成しています。

完成品はこちらのリポジトリにあります。

https://github.com/monjara/remix-cdk-lambda-example

## 必要なもの
– CDK CLI
– Node.js
– Docker

## 階層構造

以下のような階層でプロジェクトを作成します。

“`sh
.
├── remix-app/ # Remixのアプリケーション
│   ├── (Remixのファイル群)
│   ├── Dockerfile # buildしたアプリケーションを実行するためのDockerfile
│   └── run.sh # remix-serveを実行するスクリプト
└── cdk/ # CDKのプロジェクト
“`

## Remixプロジェクトのセットアップ

“`sh
npx create-r

AWSのSCP設定してみる

なかなか使う機会がなかったですが、SCPを検証する機会がありましたので残します。

# ・SCPとは?

> Service Control Policies(SCP)は、AWS Organizationsで使用できるポリシーの一種で、組織全体または特定のOU(Organizational Units)に対して、AWSサービスやリソースへのアクセス権限を管理するための機能です。

簡単に説明するとAWSアカウント自体に設定できるIAMポリシーのようなものです。
これで制限をかけると、設定次第ではルートユーザーでもDenyが出ます。
アカウントのガードレールと表現されるケースもあるようですね。

かなり強力な機能となるので使い方を間違えてしまうと大事故になりますが、逆に有効活用できれば強力にセキュリティなど大幅強化する事も可能です。

# ・初期設定(機能有効化)

SCPを利用するには、まずAWS Organizationsの機能を有効化する必要があります。
ここではOrganizationsの有効化済みである事とし、以下に説明していきます。

まずはOrganizationsのペ

AWS Cloud9が突然、新規利用不可に? 代替策「SageMaker Studio コードエディタ」の利用手順

# 背景

2024年7月29日、日本時間20時ごろからAWS Cloud9の新規利用に制限がかかるようになりました。

– 新規作成したAWSアカウントや、これまでCloud9を利用していなかったAWSアカウントで、Cloud9コンソールにアクセスできなくなっている模様
– AWS Organizations配下に作成した新規AWSアカウントも同様の状況

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1633856/c6d5c45f-b0d9-c583-f87f-bebb85507896.png)

本件に関するAWSからの公式アナウンスはなく、数日前から「Cloud9から類似環境への移行方法」を紹介する意味深なブログが投稿されていたのみでした。

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

過去このように唐突なサ

AWS MGNでAgentlessを使ってみた

前回の記事で、Agentをインストールした仮想マシンの移行について触れましたが、アプライアンス製品などAgentがインストールできない仮想マシンなども移行したい!というニーズにも対応可能なAgentlessモードがあるようです。移行対象の仮想マシンにAgentを入れない代わりに、vCenterとMGN間とのやり取りをする仮想マシンを1台準備し、その仮想マシンにvCenter-Clientを入れる形になります。

詳細は以下のページをご確認ください。

https://docs.aws.amazon.com/ja_jp/mgn/latest/ug/agentless-mgn.html

また、前回の記事をベースにしていますのでこちらも併せてご確認下さい。

https://qiita.com/nw-engineer/items/3b40b53171f5968038be

# 前提条件
– vCenterがインストールされている事
– vCenterとMGN間の橋渡しをするOS(Linux)がある事
– ブロードコムアカウント(無料で作れます)

# 0. 構成
ESXi:7.0 Up

【AWS】AWS Organization – 組織全体でResourceExplorerを有効化

# ◆はじめに
はじめまして

エンジニアとしてちょこちょこインプットはしていましたが、
アウトプットの場が欲しくなりましたので、Qiitaでの投稿を初めてみます

得意領域はAWS,ネットワークインフラです

ということで早速本題です

# ◆背景
Organizationを利用している環境でメンバーアカウントが増加した結果、
各アカウント内のリソースを把握しきれないという問題が発生

解決のためにResourceExplorerでの運用提案を検討

# ◆ゴール
アカウント毎にリソースの一覧を可視化

定期的な棚卸し作業として運用化

# ◆参考
https://dev.classmethod.jp/articles/aws-resource-explorer-multi-account-view/

# ◆実際にやってみた
テスト環境として、
・管理アカウント
・委任用アカウント
・メンバーアカウント(参照用なので無くても問題はありません)
を準備

## 1.管理アカウントでの操作
AWSコンソールからReource Explorer > 設定 にアクセスし、「組織でRes

[terraform] SSM Session Managerを使用してPrivate Subnet内のRDSにアクセスする

## はじめに

下記記事のリソース作成をterraformで行ってみました。
[SSM Session Managerを使用してPrivate Subnet内のRDSにアクセスする](https://qiita.com/shntaki/items/5ca5b2384cdbfde2fc9b)

## 事前準備

– RDSの認証情報をyaml形式でSSMパラメータストアに手動保存

“`yaml:test-rds
db_name: postgres
username: postgres
password: 適当なパスワード
“`

– EC2用のキーペアを手動作成
キーペア名:`test-keypair`

## VPC作成

“`terraform:vpc.tf
resource “aws_vpc” “main” {
cidr_block = “10.0.0.0/16”
tags = {
Name = “test-vpc”
}
enable_dns_hostnames = true
enable_dns_su

AWS全冠&2024 Japan AWS Jr.Champions受賞!新卒2年目の活動と今後の抱負

## はじめに

こんにちは、yasu08_です。2024 AWS Summit Tokyoで、今年のAWSに関する受賞者が発表され、私は以下の2つの賞を受賞しました!

– **2024 Japan AWS Jr. Champions**
– **2024 Japan AWS All Certifications Engineers**

この記事では、主にJr. Championsに焦点を当て、Jr. Championsとは何か、目指した経緯、そして今後の抱負について書いていきます。

「2024 Japan AWS All Certifications Engineers」について、取得に至った動機やメリットについての詳細は別の記事に記載していますので、そちらもぜひご覧ください。

[AWS全冠を新卒2年目で達成した理由と得られたメリット](https://qiita.com/yasu08_/items/6868137639394048c80c)
## 表彰制度について

「2024 Japan AWS Jr. Champions」と「2024 Japan AWS All Cer

AWS全冠を新卒2年目で達成した理由と得られたメリット

## はじめに

こんにちは、yasu08_です。2024年4月から新卒3年目のエンジニアとして働いています。AWS歴は約2年弱で、2024年3月までに(新卒2年目で)AWSの12資格を取得し、以下の賞を受賞することができました。

– 2024 Japan AWS All Certifications Engineers

https://aws.amazon.com/jp/blogs/psa/2024-japan-aws-all-certifications-engineers-criteria/

https://aws.amazon.com/jp/blogs/psa/2024-japan-aws-all-certifications-engineers/

この記事では、なぜ全冠を目指したのか、その過程で得たもの、そして今後の抱負についてお話しします。資格取得を目指している方、特に若手エンジニアの皆さんに向けて、私の経験が少しでも参考になれば幸いです。

## なぜ全冠を目指したのか

### 焦りからのスタート

全冠を目指すことになった最初の理由は「焦り」でした。新卒で今

github.com/aws/aws-sdk-go-v2のEndpointが非推奨になっていた件

# 概要

新しいサービスを作るにあたってGo言語からR2に読み書きする必要があり、[github.com/aws/aws-sdk-go-v2](github.com/aws/aws-sdk-go-v2)を使ったS3クライアントの初期化処理を既存サービスから流用しようとしました。その際、`EndpointResolverWithOptionsFunc`などの関数がDeprecatedになっていました。

これについて言及している記事があまり無かったので、メモがてら記事にしてみました。

# 内容
調べたところSDKの[aws/endpoints.go](https://github.com/aws/aws-sdk-go-v2/blob/main/aws/endpoints.go)内の構造体や関数が非推奨になっていました。

`EndpointResolver`のインターフェース定義部分に以下のようなコメントがありました。

“`golang
// Deprecated: The global endpoint resolution interface is deprecated. T

#05 AWS(APIGateway/Lambda) + Serverless Framework + BrefでサーバレスなLaravel環境を構築してみる①

# はじめに
最近、サーバレスにLaravelを運用する環境を目にする機会がありました。
その際に利用されていた技術について備忘録として複数回に分けてこのブログにまとめていこうと思います。
今回は、BrefとServerless Frameworkに焦点をあて、PHP動作環境をAWSにデプロイしてみます。

# 1. 前提条件
AWSの各種サービスに対する基本的な知識、AWS CLI設定済み、npm/composerインストール済み

# 2. 動作環境
npm:9.6.1
composer:2.1.14
AWS CLI:2.5.5
Serverless Framework:3.2.81
Bref:1.7

# 3. 今回利用するツールに関して
### 1. Brefとは
Brefとは、一言で言えばAWS LambdaでPHPを動作させるための各種設定を行うCLIで、OSSとして提供されています。
LambdaのランタイムにはPHPは存在せず、カスタムランタイムとして利用する必要があります。
カスタムランタイムとしてPHPをLambdaで利用するための各種設定などの煩わしい作業を簡単に

【AWS】”Trusted Advisor Priority” を簡単に説明します

![緑 シンプル かわいい 黒板 学校 先生 質問 タイトル YouTube サムネイル (3).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3822977/3b4c9ad4-70cc-edbd-6e03-648c07d8e8a8.png)

# はじめに
Trusted Advisor Priority をご存じでしょうか。
AWS ドキュメントを確認すると「クラウドデプロイの最適化、耐障害性の向上、セキュリティギャップへの対処のために、最も重要なレコメンデーションに集中できるようにします。」と記載されています。

 
当記事では具体的に Trusted Advisor Priority がどのような機能なのかまとめています。
 

1. Trusted Advisor のおさらい
2. Trusted Advisor Priority 概要
3. 料金について
4. 利用するための条件
5. 利用開始方法

# 1. Trusted Advisor のおさらい
まずおさらいとして、Trust