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

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

AWS Certified Solutions Architect – Associate 取得の記録-2024年4月

### 取得したAmazon AWS 認定
AWS Certified Solutions Architect – Associate (SAA-C03)

### 本記事の目的
AWS-SAA の認定試験を受けて合格を目指す人向けです。合格指南書ではなく、わたしの過去の記録です。初回の認定を取ろうとしている人の参考になれば幸いです。

– [自己紹介](#自己紹介)
– [勉強期間](#勉強期間)
– [勉強方法](#勉強方法)
– [試験日の決め方](#試験日の決め方)
– [学習の順序](#学習の順序)
– [試験の時間配分](#試験の時間配分)
– [SAA 試験勉強あるあると対策](#saa-試験勉強あるあると対策)
– [勉強のツール](#勉強のツール)
– [まとめ](#まとめ)

#### 自己紹介
– 学校は非情報系を卒業
– 非IT 系の仕事を経て、ウェブデザイナー、ウェブプロデューサーの実務を担当
– Web 構築はフロントエンド、バックエンドを担当。加えてオンプレミスサーバーのリプレースを経てサーバー管理の経験があります
– 初AWS は、Udemy の「Doc

元記事を表示

AWS の EC2(Amazon Linux 2023) で SpringBoot ビルドして実行

AWS の EC2 の Amazon Linux 2023 に Java インストールして Github から取得した SpringBoot をデプロイして実行した時の備忘録メモ
実施したのは 2024/04/04 時点です

– ざっくり流れ
1. Github プロジェクト作成
1. Github トークン取得
1. EC2インスタンス起動
1. EC2ログイン
1. Javaインストール
1. Mavenインストール
1. Git インストール
1. Github からプロジェクトをクローン
1. プロジェクトビルド
1. SpringBoot 起動

– 環境情報
– EC2 (Amazon Linux 2023)
– SpringBoot v3.2.3
– Java v21
– Windows11
– Tera Term v5.2
– Git v2.40.1
– Maven v3.5.2

# Github プロジェクト作成

Spr

元記事を表示

aws iam code

“`
# variables.py
role_config = {
“lambda”: {
“trusted_role_services”: [“lambda.amazonaws.com”],
“custom_role_policy_arns”: [“arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole”]
},
“ec2”: {
“trusted_role_services”: [“ec2.amazonaws.com”],
“custom_role_policy_arns”: [“arn:aws:iam::aws:policy/AmazonEC2ReadOnlyAccess”]
},
# 添加其他角色的配置
}
“`
“`
# main.py
from variables import role_config
from somewhere import IamAssumableRole # 假设Ia

元記事を表示

[AWS]クラウドプラクティショナーとは?

# クラウドプラクティショナーとは
Amazonが運営するクラウドサービス
「Amazon Web Services(AWS)」の公式認定資格です。
AWS認定資格の中でも土台となるクラウドの全体的な基礎が問われる資格になります。

# そもそもクラウドとは
簡単にいうと「ユーザーがソフトウェアを持たなくても、ネットを通じてサービスを利用する」というもの
そして「必要な時に必要な量だけ利用できる」ITサービスをクラウドと言います。

# サービスとして提供されるもの
「コンピューティング・データベース・ストレージ・アプリケーション」をはじめとしたITリソース

# なぜクラウドが必要なのか
最も多い意見としては「資産・保守体制を会社が持つ必要性がない」
こちらの理由に加え、「場所・機器を選ばずに利用できる」「安定運用・可用性が高くなる」
といった複数の理由があります。

# クラウドのメリット・デメリット
はじめにメリットですが、ビジネスとしてスピードが求められる現在、ビジネスを支えるITシステムに迅速さと柔軟性が求められます。
なのでクラウドであれば、物理的な機器の設置は不要、サービ

元記事を表示

Rails + Nuxt + ECS + GitHub Actions + Terraformで完全SPAのポートフォリオを作成しました

## はじめに
転職活動に伴い、完全に独学で作成したポートフォリオについて記載します。

## 筆者のスペック
私は、Excelの言語VBAの実務経験はありますが、Web系は実務未経験となります。

## 概要

![LP画面.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2739138/eebdbf03-a101-37a8-8375-600ec5e91373.gif)
Mailmentorは、英文ビジネスメール作成の初学者向けの学習アプリです。楽しみながら学べるように、問題に正解するごとにポイントが加算され、ユーザーのレベルが上がる機能を搭載しており、ユーザー同士の競争を通じてモチベーションを高められます。学習の進捗状況はグラフで一目で分かり、さらに、英文メールに関する役立つ記事を投稿し、共有することができます。

## 制作背景
私は、新社会人としてビジネス英語のメールを書く際、足踏みしてしまい、不安を感じる瞬間がありました。この経験から、事前に学習し、自信を持ってメール作成に臨めるようにするアプリ

元記事を表示

クラウド界の3強

## はじめに
私が所属するプロジェクトではシステム移管のための調査や見積もりが日々進められているのですが、オンプレ環境からAWSを使ったクラウド環境への移行も考えられております。
もとは複数システムがあるうちのいくつかにはAzureを使用しているのですが、
合わせてAWSも使用されるのではということで、現在クラウド界でメインで使用されている
3強のAWS、Azure、GCPについてまとめてみました。

## そもそもクラウドって?
まずクラウドとは

ユーザーがインターネットなどのネットワーク越しに、サーバー・ストレージなどのITリソースや、アプリケーションソフトウェアなどを利用できるサービス形態

というものです。
何らかのソフトウェアを使用する際は、手元のPCやサーバーにインストールして使用するのが主流だと思います。
サーバーを運用する場合についても、これまではサーバー本体やストレージなどの
ハードウェアを購入し、自社のサーバールームやデータセンター内に設置して
ユーザー自身が運用管理を行う、「オンプレミス」という利用形態が一般的でした。
それに対してクラウドは何

元記事を表示

AWS Step Functions で複数の EC2 インスタンスからコマンド実行結果をまとめて取得する

# はじめに

* 複数の EC2 インスタンスを管理している
* それらに同一のコマンドを実行したい
* コマンドの実行結果をまとめて参照したい

このような要件がある運用において、コストをなるべく抑えつつ簡素な仕組みで動くアーキテクチャを考えてみました。
当記事ではアーキテクチャの留意点やソースコードを踏まえつつまとめます。

## 前提

管理対象の EC2 インスタンスには [SSM Agent](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/sysman-install-ssm-agent.html) がインストールされており、インスタンスプロファイルにはログ出力用の S3 バケットへのアクセス権限が適切に割り当てられているものとします。

# サンプルコード

下記リポジトリをご参照ください。以降は当リポジトリのコードに基づいて解説をしていきます。

https://github.com/blasg5884/ssm-run-command-orch

元記事を表示

AWS Batchについて試してみた

# 背景・目的
今まで、AWS Batchについて触ったことがなかったため、整理してみます。

# まとめ

|特徴|説明|
|:–|:–|
|概要|・バッチコンピューティングワークロードを実行できる
・下記を提供する
 ・リソースのプロビジョニング
 ・キャパシティ制限の排除
 ・コスト削減
 ・結果の迅速な提供|
|AWS Batchのコンポーネント|・リージョン内の複数のAZ間で実行中のバッチジョブを簡略化する
・VPC内に環境を作成できる
・ジョブキューに関連付けられた後で、ジョブを実行する
・Dockerコンテナイメージを指定するジョブ定義を指定できる|
|ジョブ|・ジョブ定義で指定したパラメータを使用して、コンピューティング環境でコンテナ化されたアプリとしてFargate、EC2リソースで実行される
・ジョブは、他のジョブを名前またはIDで参照できる
・他のジョブの正常な完了に依存する場合もある|
|ジョブ定義|・ジョブ定義とは、ジョブの実行方法を指定する
・ジョブ定義は、ジョブのリソースのブループリン

元記事を表示

Amazon Bedrock ナレッジベースの使い方(API編)

# ナレッジベースとは
Amazon Bedrock のナレッジベースについてはこちらにまとめているので、良かったら見てください。

https://qiita.com/devKita/items/fecf03eb9f812ff77ffa

# 今回やること
前回はコンソールからナレッジベースを作成してテストまでやりましたので、今回はAPI利用して実行してみようと思います。

https://qiita.com/devKita/items/82ef91977b86d85f1ac0

最近気になっていた Chatbot UI からAPIを実行してみます。

:::note info
Chatbot UI とは?
https://github.com/mckaywrigley/chatbot-ui

ChatGPTライクなユーザインタフェースのオープンソース生成AIチャットアプリです。
・ ローカルやクラウドにデプロイして利用可
・ MITライセンスなので改変可

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazon

元記事を表示

AWS運用ハンズオン(Systems Manager・CloudWatch編) その1

# はじめに

:::note info
本記事は`サービスの紹介`と`ハンズオン`の大きく2つの章で構成されています。
手を実際に動かして学んでいただくことを主眼としており、実際に操作して学べることに関しては[ハンズオン](#ハンズオン)の冒頭をご確認ください。
:::

AWSにより構築されたアプリケーションの健全性を評価するためには、リソースの利用状況とアプリケーションログの監視が必要不可欠となります。
AWSは、これらの運用監視を行うためのサービスを提供しており、これらを適切に活用することで、運用の効率化が可能となります。
本記事では、そのようなサービスの中から、特に代表的なものとして、`AWS Systems Manager`と`Amazon CloudWatch`を取り上げます。
これらのサービスの概要について説明し、EC2インスタンスをこれらのサービスと連携させる方法を紹介します。
さらに、インスタンスから監視に必要な情報を実際に取得するためのハンズオンを実施します。
このハンズオンを通じて、AWSの運用監視サービスの活用方法とその効果を具体的に理解できます。

:::n

元記事を表示

Amazon Kendra使いがVertex AI Search and Conversationやってみた

普段AWSばかりですが、他社の動向も知っておきたいと思って、Vertex AI Search and Conversationを試しました。

先入観としては、Amazon KendraのAzure版だと思って始めました。うまく行けばRAGの情報源にしてKendraと比較がしたいと目論んでおります。
Google Cloudに詳しい方のツッコミお待ちしております(笑)

Kendraについてはここを見るとわかった気になれます。

https://aws.amazon.com/jp/builders-flash/202302/kendra-search-system/

「Azure AI Searchをやってみた」はこちら

https://qiita.com/moritalous/items/0a99999891b8250efd76

## Vertex AI Search and Conversationを作ってみた。

ポチポチします。

1. コンソールで`検索と会話`を開く。(日本語はこれが正式名称ですか?)
`新しいアプリ`をクリック

![console

元記事を表示

Amazon Kendra使いがAzure AI Searchやってみた

普段AWSばかりですが、他社の動向も知っておきたいと思って、Azure AI Searchを試しました。

先入観としては、Amazon KendraのAzure版だと思って始めました。うまく行けばRAGの情報源にしてKendraと比較がしたいと目論んでおります。
Azureに詳しい方のツッコミお待ちしております(笑)

Kendraについてはここを見るとわかった気になれます。

https://aws.amazon.com/jp/builders-flash/202302/kendra-search-system/

「Vertex AI Search and Conversationやってみた」はこちら

https://qiita.com/moritalous/items/cdf15eafb3d4d754a2fa

## Azure AI Searchを作ってみた。

Azureポータルでポチポチしてみました。

1. Azure AI serviceのポータルを表示。`Search サービス の作成`をクリック
![portal.azure.com__bundling

元記事を表示

EC2(MySQL)からAurora(MySQL)への移行作業

# はじめに
EC2で運用していたMySQLをAuroraへ移行するための作業を行いました。
EC2は、Web,アプリケーションサーバーです。
作業中にさまざまな事象が発生したので、移行を検討されてる方は、ご参考にしていただければ幸いです。

![4cc00b45-80b3-477d-877c-2b3e3a441358.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/263017/b2963c8b-50e6-a08f-31c2-817b52586735.png)

# 1. バックアップ
移行作業前に、EBSバックアップの取得を忘れないようにしてください。

# 2. メンテナンスモード
EC2の停止はできないため、メンテナンスモードなどの実施を行い、アプリの利用ができないようにした方が良いです。

# 3. DMSの構築
移行作業を行うために、DMSインスタンスの作成を行います。

1. サブネットグループの作成
1. レプリケーションインスタンスの作成
1. ソースエンドポイントの作成 → 作成後にエ

元記事を表示

データ加工してからIoT SiteWiseにデータ転送する方法、、

# はじめに
IoT SiteWiseを使ったデータ収集や可視化、閾値通知をしたいんやけど、IoT SiteWiseへデータ転送する前にデータを加工したい時ってありませんか?
ありますよね?
そう。あるんですよ。

でもこの辺の情報ってあまりまとめられているサイトが無いのでちょっとまとめてみます。って感じです。

# なぜエッジでデータ加工をするか
簡単にまとめると以下のようなメリットがあります。(要件次第ですが)
* AWSまでの帯域が細い場合の容量圧縮
* 機密情報等、クラウドに送信したくない情報のマスキング
* クラウドで保管されるデータを少なくすることによる課金額抑制

# エッジでデータ加工してからIoT SiteWiseにデータ転送する方法、、、
エッジにはGreengrassを導入するものとして簡単に比較してみます。
エッジからデータをIoT SiteWiseにデータ転送する方法として、以下3パターンが挙げられます。

|| 使用方法 | メリット |デメリット|
|:-:|:-:|:-:|:-: |
| SiteWise API |コードにBoto3をインストールし

元記事を表示

CloudWatch logsでダブルクオートでフィルタする方法

# CloudWatch logsで`”`の文字でフィルタかけたい

前々から気になっていたので本気出して調べてみた

フィルターバーに `”` が入っていると、とにかくエラーになる
`\”` とかエスケープしてみてもダメ
正規表現で `%”%` とか `%\”%` とかしてもダメ
以下のエラーから逃れられない

“`
There was an error filtering log events.
Invalid character(s) in term ‘”‘
“`

# 違う文字で表現すればいける

ということで結論

**正規表現で文字コードで指定すれば `”` をフィルタできる**

“`
%\x22%
“`

`\x22` => `”`

他にもエラーになる文字があったらこの方法で回避できるはず

元記事を表示

Cloud Watch??

## 初めに
CloudWatchには、沢山の機能がありますね!
今日から何回かに分けてご紹介していきます。

## CloudWatchとは?
CloudWatchとは、**AWSリソースやアプリケーションの監視を行うサービスです。**
メトリクスの取得やそれをもとにした、しきい値監視をします

:::note info
用語
「メトリクス」
→CPU使用率などのシステムパフォーマンスを示す時系列のデータポイント

「しきい値」
→境目となる値のこと
:::

## 代表的な機能
![スクリーンショット 2024-04-04 17.05.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3744656/348c6d8c-540d-a161-8384-76c0b9705edd.png)

CloudWatchには、上記の様な機能があります。
詳細に関しては、明日以降、投稿していきます!

## 最後に
本日は、CloudWatchに関して書かせて頂

元記事を表示

HULFT10 for Container Servicesの運用監視のためにCloudWatchのダッシュボードを作成してみた

## はじめに

最近の記事でもお察しの通り、いわゆるコンテナ版HULFTについて一通り整理しています。今回は、HULFT10 for Container Servicesの「運用監視」について整理します。

HULFT10 for Container ServicesはAWS上のサービスであるため、運用監視もAWSサービス(CloudWatch)を活用します。

## Amazon CloudWatchとは
Amazon CloudWatchはAWS、オンプレミス、および他のクラウド上のリソースとアプリケーションを観察及び監視するサービスです。

役割 仕組み
アプリケーションの監視
・パフォーマンスの変化に対応
・リソースの使用を最適化
・運用状況に関する洞察
基本的にはメトリクスで作られる。
メトリクスをリポジトリに置き、これらの

AWS の EC2(Amazon Linux 2023) で SpringBoot 起動して外部から接続(jarファイル転送)

AWS の EC2 の Amazon Linux 2023 に Java インストールして SpringBoot の jarファイルを置いて 起動して外部から接続した時の備忘録メモ
実施したのは 2024/04/04 時点です

– ざっくり流れ
1. EC2インスタンス起動
1. EC2ログイン
1. Javaインストール
1. ローカルから SpringBoot で作った jar を転送
1. SpringBoot 起動

– 環境情報
– EC2 (Amazon Linux 2023)
– SpringBoot v3.2.3
– Java v21
– Windows11
– Tera Term v5.2

# EC2インスタンス起動

AMI は Amazon Linux 2023にして ssh で接続するのでキーペアとかちゃんと設定する
SpringBoot で使うポート(デフォルトは 8080 )を外部から接続できるようにセキュリティグループを追加
そのほかは自由でOK

![image

【AWS】Route 53のDNSレコードタイプ

# Route 53とは
ドメイン管理機能と権威DNS機能を提供するサービス。
以下の3機能を提供する。
1. ドメイン登録
「example.com」のようなドメイン名を登録することができる。
2. ルーティング機能
ドメイン名またはサブドメイン名に紐づくIPアドレス情報をブラウザに受け渡す。
3. ヘルスチェック
接続先リソースの正常性を監視してくれる。
リソースが使用不可の場合、Route53からAmazon CloudWatchへ通知することも設定可能。

【詳細】
[Amazon Route 53 とは?](https://docs.aws.amazon.com/ja_jp/Route53/latest/DeveloperGuide/Welcome.html)

# 権威DNSサーバ(機能)とは
キャッシュDNSサーバの問い合わせに対して、自分の管理する範囲内のIPアドレスとドメイン名の対応表(レコード)を用いて、IPアドレスまたはドメイン名を返信するサーバ(機能)のこと。

要するに、**DNS機能における案内人**的な立ち位置です。

【詳

Lamdaレイヤーを作成する(python3.8)

## Lambdaにレイヤーを追加する
Lamdbaでサードパーティライブラリを使用する場合には「レイヤー」を作成して、関数に追加する必要があります。
今回はレイヤーの作成方法をメモ

## Amazon Linux2環境の起動(作成)

LambdaはAmazonLinux環境なので、同一の環境で作成します

“`bash
docker run -it –rm amazonlinux:2 bash
“`

## Python3.8をインストール
“`
yum update -y
yum install -y amazon-linux-extras
amazon-linux-extras enable python3.8
yum install -y python3.8 zip
“`

※Python3.8にしている理由はAmazonLinux2(amazon-linux-extras)でインストール可能なバージョンが3.8だからです。
これ以上のバージョンにするには別な方法でインストールする必要がありますが、今回は割愛(一番簡単な方法のため)

インストール可能なバージョン