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

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

[AWS #1]AWS認定試験とは?

## はじめに
こんにちは
初めてのQiitaに触れてみて最初の投稿は何にしようか考えていましたが
現在資格学習中であるAWS認定試験についてご紹介させていただきます!

## AWS認定試験とは?
AWS(Amazon Web Service)では、認定資格体系としてAWSエンジニアのキャリアパスを提示しています。体系的に学習することで、それぞれが目標とするキャリアに**必要な知識やスキルが習得できる**ようになります。

そんなAWS認定資格には**4つ**のカテゴリーがあります。

**・FOUNDATIONAL(基礎レベル)**
 AWSクラウドの全体的な理解を証明します。
 事前の経験は必要ありません。

「AWS認定クラウドプラクティショナー(通称:AWS CLF)」

**・ASSOCIATE(アソシエイトレベル)**
 技術的役割別認定です(受験にあたり前提条件はありません)。
 クラウドの経験、または豊富なオンプレミスでのIT経験があるのが望ましいです。

「AWS認定デベロッパーーアソシエイト」
「AWS認定システムオペレーション(SysOps)アドミニ

元記事を表示

個人的によく使うTerraformコマンドとAWS CLI認証

よく使うTerraformコマンドとAWS CLI認証コマンドをメモります。

# 環境
terraform v1.5.0

# Terraformコマンド
## terraform init -backend-config=”profile=app_administrator”
リソース定義するときのprofileを設定できる。
個人で持つawsアカウントと組織で使うawsアカウントをそれぞれ使い分けたい時などに使える。(defaultを参照して欲しくない時も同様)

“`bash
$ terraform init -backend-config=”profile=private_app_administrator”
“`

とはいえ、profileだけでなく`backend-config`に指定する値を切り替えることで、複数の展開先にプロビジョニングすることができる。
例えば、一部のattributeはbackendブロックに書いて、書いていないものだけ`backend-config`で設定することもできる。

“`terraform:backend.tf
terrafo

元記事を表示

The MySQL server is running with the –read-only option so it cannot execute this statement (SQL: insert into…

# はじめに
AWS RDSのMySQL5.6 -> 8.0への移行をするために、お勉強がてらBlueGreenDeploymentを利用してみました。
Blue:MySQL 5.7
Green:MySQL 8.0
で構築し、テスト用に構築したEC2からMySQL8.0へ接続して動作確認したところ
データの取得はできるがデータの更新でエラーが発生
Greenは読み取り専用になっているらしい

# 解決
Green用にRDSのパラメータグループを作成し
**read_only**の項目を
**{TrueIfReplica} -> 0**
に変更することでエラー解消

## 手順
作成したパラメータグループを選択
![スクリーンショット 2024-06-05 9.57.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/535832/70407c73-9ec5-6e3f-31c7-96a7bcb6cbe3.png)

read_onlyの項目を確認するとレプリカの場合はTrueとなっている
![スクリーンシ

元記事を表示

RubyKaigi 2024で発表されたRSpecテストコード生成ツール Omochi についてまとめてみた

# はじめに
私は[株式会社エル・ティー・エス リンク](https://lts-link.com/)でRailsエンジニアをしているysk_ymdyと申します。
担当サービスは、IT人材と案件のマッチングプラットフォーム [アサインナビ](https://assign-navi.jp/)です。

先日「RubyKaigi 2024」に参加し、たくさんの学びや気づきを得ることができました。
その中でも@mikiko_bridgeさんさんが発表された Omochi というgemが、私含めRailsで開発するエンジニアにとって大変役立つものなのではと思い、共有させていただきます。

https://github.com/mikik0/omochi

# Omochiってどんなgem?
ひとことで言うと、RSpecを導入しているRailsアプリケーションに対して、LLMを使ってテストコードを自動生成してくれるgemです。

Railsで開発する際、テストコードの作成は手間がかかったり抜け漏れが気になっ

元記事を表示

Amazon Bedrock API (Claude 3 Haiku)のはじめの第一歩

[link-1]: https://docs.aws.amazon.com/bedrock/latest/userguide/model-parameters-anthropic-claude-messages.html “Claude Messages API”
[link-2]: https://docs.anthropic.com/en/api/claude-on-amazon-bedrock “Anthropic API reference”

## はじめに
生成AIサービスを作るのには欠かせない、APIを使ったチャットに関する記事です。
Amazon BedrockはGUI上で動作させることもできますが、様々な機能を追加していくためにはAPI呼び出しが必要なので実装してみました。

## モデルアクセス
AWSの生成AIモデルを使うためには、最初にアクセス申請をしなければなりません。
コンソールから`Amazon Bedrock`にアクセスし、使いたいモデルをリクエストします。
私は`Claude 3 Haiku`を選び、リクエストはすぐに承認されました。
![image.

元記事を表示

Getting Started Guide for AWS IoT Greengrass

# Introduction
今回は横河電機のエッジコントローラe-RT3 Plus F3RP70-2LでAWS IoT Greengrass V2を使用する手順をご紹介します。
In this article, we describe how to start using AWS IoT Greengrass V2 on e-RT3 Plus F3RP70-2L.

# Table of Contents
1. [Document information](#1-document-information)
1. [Overview](#2-overview)
1. [Hardware description](#3-hardware-description)
1. [Set up your development environment](#4-set-up-your-development-environment)
1. [Set up device hardware](#5-set-up-device-hardware)
1. [About AWS IoT Greengrass]

元記事を表示

【AWS】Boto3で攻略! IAMユーザのすべて

### はじめに

Boto3を使ってAWSコンソールのIAMユーザ一覧に表示されている情報取得をやっていく。
IAMユーザの情報がほしい時の参考に。

Boto3とは、PythonでAWSの各種サービスを簡単に扱えるようにするライブラリ。
今回はこちら:point_down:のBoto3 IAMを参照します。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/iam.html

### 構成
構成はこちら。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3288944/7a6fe10e-4c27-f2e3-d2e2-57a93ae61228.png)

API Gatewayを使ったのは、Lambdaを実行する際にアクセス制限をしたかったからです。
下図は、API GatewayのリソースポリシーでIPアドレス制限を入れた例です。

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

元記事を表示

【アウトプットほぼ10割】AWS CLF学習について

皆様 こんにちは!

AWS CLFにハンズオン無し・1ヶ月で合格した方法をご紹介いたします。
ご参考程度にみていただければ幸いです。

# 目次
[1.はじめに](#1-はじめに)
[2.使用教材](#2-使用教材)
[3.普段の学習時間](#3-普段の学習時間)
[4.学習方法](#4-学習方法)
[5.後悔していること](#5-後悔していること)
[6.おわりに](#6-おわりに)

# はじめに
学習期間は1ヶ月。ハンズオンは無しで勉強しました。
AWSのアカウントを持ってはいましたが、ほぼ触れたことがない状態での合格でした。
スコアは739点。合格ボーダーは700点なのでややぎりぎりでした。

# 使用教材

僕が使用した教材は基本無料で利用できる「AWS認定資格 WEB問題集&徹底解説」に1点集中しました。賛否あるかと思いますが解説がシンプルで情報量少なめです。解説を読み込まずに、わからない部分だけググってました。

基本無料で利用可能ですが、無料だと「間違えた問題ピックアップ機能」が使えなかったり、問題演習が100問しかできなかったりするので、利用いただく場合は課金必須で

元記事を表示

【AWS】プレイスメントグループのまとめ:種類と(私なりの)覚え方のコツ

# 1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏(にいくら)と申します♪
(/・ω・)/

更新期限が近いので、最近SAAの勉強をしています。

その中でプレイスメントグループが出てきたので、
**プレイスメントグループの種類(クラスタ・パーティション・スプレッド)
と私なりの覚え方について**まとめてみました。

資格勉強中の方、AWSに興味がある方の参考になれば幸いです。
(*^^)v

# 2.プレイスメントグループとは
では早速、プレイスメントグループは一言で言うと
**「複数のEC2をグループ化して、低遅延で通信させたり、ラックレベルの耐障害性を高めたりすることができる機能」**
となります。

:::note info
「プレイス → place → 場所」なので、
**複数のEC2を置く場所を決めているグループ**と覚えています。
:::

料金は無料なため、私がプレイスメントグループを知った当初は、
「無料で低遅延の通信ができるから、どんどん使おう!」
と考えていました。

**しかし、プレイスメントグループは基本的に同一AZでしか作成でき

元記事を表示

【AWS x Git】CloudformationのGit同期機能で気をつけるべき注意点2点

# 概要
AWS CloudformationのGit同期機能を実施しました。
差分確認や履歴保持にはとても良いですが、いくつか注意点もあるなと感じたので紹介します。

# 注意点
設定手順などは公式ドキュメントや他の方の記事をご参照ください。

https://docs.aws.amazon.com/ja_jp/AWSCloudFormation/latest/UserGuide/git-sync.html

個人的に感じた注意点は以下の2点。

①手入力のパラメータを持つテンプレートが管理できない
②CloudformationのIAMロール権限が大きくなりがち

## ①手入力のパラメータを持つテンプレートが管理できない

例えば、以下のようなYAMLをGit同期してみます。

“`sample-template.yaml
AWSTemplateFormatVersion: 2010-09-09
Parameters:
RoleName:
Type: String
NoEcho: true

Resources:
CloudWatchEventsRol

元記事を表示

AWS ドキュメントを探す方法(API Reference)

# AWSドキュメントを探す方法
仕事をしていく上でドキュメントを読み込んで説明することはよくあることだと思います。
この記事はAWS各サービスのAPI Referenceドキュメントの探し方を解説します。

# AWS Documentation
以下のページのAll productsにサービス名を入力し検索しサービスのドキュメントページに遷移します。
https://docs.aws.amazon.com/en_us/
![screencapture-docs-aws-amazon-en-us-2024-06-04-23_10_03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3473825/c477ab55-592e-6e60-184c-d5fbd5126290.png)

今回はCloudTrailのページに飛びましたがCloudTrail API ReferenceをクリックすればReferenceにたどり着けます。
![screencapture-docs-aws-amazon-cloud

元記事を表示

Cognito実装してみた―自分用サンプル付き

## Cognitoの準備

下記参考サイトを参考に設定を行った。

https://qiita.com/rihib/items/e5bbd522c96925102dba

## ユーザープールの作成

:::note info
基本的に赤枠を設定していきます
:::

まずは、ユーザープールを作成していきます。
ユーザープールの詳細などについては、ほかのサイトが詳しく説明しているので、省略します。

![スクリーンショット 2024-06-04 205258.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3125890/8497288e-b906-c60d-9aed-a4f6150a8bd2.png)

今回は、Emailで設定を行いますが、ユーザー名や電話番号でも認証が可能なようです。
ユーザーに自由にサインアップさせない場合は、ユーザー名で設定するのが良いかもしれません。

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

元記事を表示

MAP型のカラムを持つGlueテーブルに対して、Athenaでインサートしようとしたら詰まった話

# はじめに
最近、Athenaを使った集計基盤の構築を担当しています。
その集計処理の中で、MAP型を使う際にハマったので記録として残しておきます。

# MAP型とは
[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/athena/latest/ug/data-types.html)より、
>キーを使用して値を検索できるマップです。すべてのキーに同じ値が必要であり、すべての値に同じ値が必要です。

とのことです。
具体的には `{ hoge=1, huga=2 }` みたいな形式です。

# はまった事象
`INSERT INTO…SELECT` 構文を使用し、glueテーブル1のデータを基に集計処理を行い、glueテーブル2にinsertするという処理を実装していました。
glueテーブル2にはmap型のカラムが存在しています。具体的には以下のような感じです。

![スクリーンショット 2024-06-04 17.14.13.png](https://qiita-image-store.s3.ap-northeast-1.amazona

元記事を表示

AWS責任共有モデルについての学習記録

# AWSの責任共有モデルとは
#### AWSとユーザーの責任が明確に分かれていること

それぞれのセキュリティ担当範囲について下記の図をご覧ください。

![Qiita用.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3806884/dcb7a210-a406-d9b6-645f-469e67603003.jpeg)

### クラウド本体のセキュリティ
##### AWS側はクラウド本体のセキュリティ部分を担当します。
ハードウェアやマネージドサービスのソフトウェアおよびそれに含まれる各種サービスの管理(アップデート、セキュリティパッチのインストール)は**AWSの担当**になります。

### クラウド内のセキュリティ
##### ユーザーはクラウド内のセキュリティを担当します。
ゲストオペレーティングシステムの管理、関連アプリケーションソフトウェアの管理、セキュリティグループファイアウォールの設定やデータなどが**ユーザーの担当**になります。使用するAWSサービスによっても変わりま

元記事を表示

Unable to access configuration file (delegates.mgk) 発生

# はじめに
謎が残ったままですが解決したのでメモです。

エラーが発生したソースは以下です。
“`php
use Gmagick;
:
$file = $request->file(‘data’);
if (0 == strcmp($mime_type, ‘application/pdf’)) {
// pdf -> jpg変換
$gmagick = new Gmagick();
$gmagick->setResolution(150, 150);
$gmagick->readimage($file->getRealPath()); <= ここ! ``` # 動作環境 + Laravel Framework 5.8.22 + AWS EC2 (Amazon Linux) + PHP 7.2.17 # 前提 AWS EC2のコピーを作成し、作成された新しいEC2上で上記の処理を実行 **EC2のコピーを作成する手順の違いでエラーが発生するパターンと発生し

元記事を表示

AWS IAM Policy のステートメントに条件キーを利用する場合は対応するアクションとリソースタイプのみを定義する

IAM Policy の JSON 定義で少しハマったのでメモ。

# 要約
– 各アクションとリソースタイプの組み合わせでどの条件キーが対応しているかは全てドキュメントに記載されている
– https://docs.aws.amazon.com/service-authorization/latest/reference/reference.html
– ステートメントを分割して各アクションとリソースタイプに対応する条件キーを定義しよう

# 各アクションとリソースタイプの組み合わせでどの条件キーを利用できるかは決まっている
IAM Policy のステートメントには `Condition` 要素を含めることができ、これにより policy を実行するタイミングの条件を指定することができます。その指定する条件として条件キーを利用できます。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_elements_condition.html

この条件キーですが、各アクションとリソースタ

元記事を表示

ALBの設定一覧を出力するスクリプト

# はじめに
ALBの設定一覧を取得して保存したいケースがありました。

基本情報、属性情報、リスナールール設定の情報が必要ですが
取得できるコマンドが異なります。

取得漏れなどを防ぐためにALBの設定一覧を取得するスクリプトを用意してみました。

# スクリプト

“`shell
#!/bin/bash

# 環境変数にALBのARNを設定
ALB_ARN=”your-alb-arn”

# ALBの基本情報を保存
aws elbv2 describe-load-balancers –load-balancer-arns $ALB_ARN > alb-info.json

# ALBの属性を保存
aws elbv2 describe-load-balancer-attributes –load-balancer-arn $ALB_ARN > alb-attributes.json

# リスナーの情報を保存
aws elbv2 describe-listeners –load-balancer-arn $ALB_ARN > listeners.json

# liste

元記事を表示

【SAA-C03】スキマ時間で取れるAWS SAA合格体験記

最近AWSの認定資格であるAWS Solutions Architect – Associateに合格できたので、記録として体験記を書いていきます。

今後SAA受ける人の参考になれば嬉しいです。
![Screenshot_20240525-195542.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3807740/a9722568-ff6d-a4f8-540a-7197ebf5d385.png)

## **AWS SAAとは**

AWS Solutions Architect Associate (AWS SAA)はAWSの認定資格の一つで、クラウドアーキテクチャの設計に関する知識を証明できます。

難易度的には基礎から中級レベルの

元記事を表示

AWS CodeDeploy EC2にデプロイするときにhooksで実行するshellの出力先

## 概要

CodeDeployでEC2にデプロイするときのhooksで呼ばれているshellの出力先をメモ的にまとめる。

## 前提

当該のEC2へは当該のCodeDeployを使ってデプロイが行えており、当該EC2にssh接続ができること。

## 内容

デプロイ先EC2の`/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log`の中に出力されている。

例えば下記のようなshellを記載してデプロイ時に呼び出していたとする。

“`bash
#!/bin/bash
echo “This is an output from the AfterInstall hook.”
“`

EC2の`/opt/codedeploy-agent/deployment-root/deployment-logs/codedeploy-agent-deployments.log`に下記のように出力される。

“`
[stdout]This is an output fro

元記事を表示

AWS Cloudwatch Logsの内容をWindows11にCSVでダウンロードする

## 環境
Windows11(23H2)
aws-cli/2.15.58 Python/3.11.8 Windows/10 exe/AMD64

## 準備
– jqのインストール

以下を参考にインストール実施

– jq動作確認
参考サイトでバージョン確認しているが物足りないと思った(というかバージョン確認できたのにそのあといろいろエラー出て全然動いてくれなかった)ので以下を実施

CloudWatchLogsのロググループ一覧取得
また自身の環境に合わせて以下は置換してください
${profilename}:プロファイル名
“`
aws logs describe-log-groups –profile ${profilename} –query “logGroups[].{logGroupName:logGroupName,storedBytes:storedBytes,creationTime:creationTime}”| jq -r “.[]|[.logGroup

元記事を表示

OTHERカテゴリの最新記事