AWS関連のことを調べてみた2023年04月06日

AWS関連のことを調べてみた2023年04月06日
目次

【ドラゴンボール風解説】CIDRブロックについて

# はじめに
この記事はAWSの説明は今ひとつよくわからないのでドラゴンボールに例えて説明してほしい。
というAWS初学者向けの記事です。
※投稿記事作成にはchatGPTを使用しております

# CIDRブロック 
オッス、オラ悟空!
CIDRブロックってのは、天下一武道会の予選会場みたいなもんだ!予選では、格闘家たちがそれぞれのブロックで戦って、勝ち残った者だけが本選に進むだろ?CIDRブロックも同じで**IPアドレスを範囲ごとに分けて各ブロックに割り当てるん**だ!

例えば、192.168.0.0/16の範囲をCIDRブロックに分割する場合、192.168.0.0/24、192.168.1.0/24、192.168.2.0/24などのCIDRブロックができるわけだ!そして、それぞれのCIDRブロックには、対応するIPアドレス範囲が割り当てられて、**ブロック内のデバイスたちが通信を行う**んだ!

天下一武道会と同じように、CIDRブロックでも各ブロック内で戦う格闘家たちが勝ち残り、本選に進むように、CIDRブロック内のデバイスたちも各ブロック内で通信を行って、必要な情報をやり

元記事を表示

Amazon VPC Lattice が GA したので Lattice 経由で Lambda を呼んでみた

# はじめに
Amazon VPC Lattice が GA しました。
[Announcing the general availability of Amazon VPC Lattice](https://aws.amazon.com/jp/about-aws/whats-new/2023/03/general-availability-amazon-vpc-lattice/)
Lattice は、VPC上のインフラを抽象化してサービス間通信をシンプルにするためのサービスで、re:Invent にて発表されて以来 Preview の状態となっていました。
この記事は、早速触ってみたといういわゆる「やってみた」系記事です。

# 構成
普通の構成の VPC の Private Subnet にいる EC2 Instance から、VPC Lattice サービスとして登録された Lambda に対して HTTPS でリクエストして、レスポンスが返ってくるかを確認します。
![lattice.png](https://qiita-image-store.s3.ap-northeast-

元記事を表示

【Git】”fatal: detected dubious ownership in repository at…”というエラーが出た場合に考えられる原因と解決策

# 概要
* `git branch`を実行したら、`fatal: detected dubious ownership in repository at…`というエラーメッセージが出てきました。本記事ではその原因と解決方法を記します。

# エラーメッセージと意味
* EC2インスタンスで`git branch`を実行したら、、

“`terminal
$ git branch
fatal: detected dubious ownership in repository at ‘/var/www/html/sample_homepage’
To add an exception for this directory, call:

git config –global –add safe.directory /var/www/html/sample_homepage
“`

* 上記のエラーメッセージが返ってきました。初めてみるメッセージでした。
* 調べてみると、gitが指定されたリポジトリのディレクトリ所有者に疑念を抱いていることを示しているとのこと。

## 原

元記事を表示

Athenバージョンアップ

“IGNORE NULLS”を使用してNULLを無視することができなくなりました。BOOL_OR関数を使用する際には、BOOL_OR(col1, col2)のように省略せずに使用する必要があります。
sql
Copy code
— Before
SELECT COUNT(*) FROM table WHERE BOOL_OR(col1, col2) IGNORE NULLS;
— After
SELECT COUNT(*) FROM table WHERE BOOL_OR(col1, col2);
CONCAT関数には、二つ以上の引数が必要になりました。以前は、一つの引数でも使用することができましたが、今後は使用できません。
sql
Copy code
— Before
SELECT CONCAT(col1) FROM table;
— After
SELECT CONCAT(col1, ”) FROM table;
GROUP BY句で、ネストされた列名を使用する場合には、ダブルクォーテーションで囲む必要があります。
sql
Copy code
— Before
SELE

元記事を表示

[AWS Glue]開発エンドポイントをCLIで削除する

# はじめに

開発エンドポイントがマネジメントコンソールから削除できない場合があることと、CLIで削除する手順を記載しています。

## 発端

マネジメントコンソールからAWS Glueの開発エンドポイントを削除しようとしましたが、
メニューから「開発エンドポイント」を見つけることができず、CLIで削除しました。
シドニーリージョンでは「Legacy pages」に「開発エンドポイント」メニューがあり、ここから生成や削除が可能でした。

![sydney.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/545707/3121c8ae-d83a-e34c-f759-9bcc27ac8dd7.png)

一方、東京リージョンでは「開発エンドポイント」メニューが見当たりませんでした。
シドニーリージョンの「開発エンドポイント」画面のURLを東京リージョン用に変換しても、別のメニューに遷移しました。

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

元記事を表示

CloudFront Functionsで一つの関数に複数サイトのBASIC認証情報をまとめて設定する方法

以下の内容を全文コピペして貼り付けると良いのだ
トリガーは `ViewerRequest` にするのだ
`getAuthMaps` 関数内に、設定したいサイトのホスト名と、BASIC認証のID/PWを適宜入力するのだ

特定のディレクトリ配下にだけBASIC認証をかけたい?知らね

“`javascript
/**
* Get basic auth informations
*
* @return {Array-object} maps
*/
function getAuthMaps()
{
var maps = [
{ “hostname”: “test.example.com”, “username”: “onamae”, “password”: “pasuwaado” },
{ “hostname”: “test.example2.com”, “username”: “onamae2”, “password”: “pasuwaado2” }
];
return maps;
}

/**
* Get spec

元記事を表示

AWS ECS へのデプロイでコンテナのヘルスチェック ( curl ) が失敗し続ける

# 問題

Terraformでいうとこんなタスク定義
単純に curl しているだけなのだが何故か失敗し続ける

“`
“healthCheck”: {
“command”: [
“CMD-SHELL”,
“curl -f http://127.0.0.1:80/ || exit 1”
],
}
“`

# 解決

docker container に curl がインストールされていないのが原因だった
Dockerfile で インストールするようにしたら成功するようになった

コンテナのヘルスチェックはコンテナ本体から実行されるようだ

あとから分かってみれば自明の理なのだがしばらく気づかなかった

まずはlocalでdocker containerに接続して、ヘルスチェックそのままのコマンドを実行して試すと良いようだ

`curl -f http://127.0.0.1:80/ || exit 1`

# 参考

>解決方法
>Amazon ECS のコンテナヘルスチェックの失敗をトラブルシューティングするには、以下のヒントを

元記事を表示

【S3】レプリケーションによる既存オブジェクト上書き動作

# はじめに
今回は下記をいじることでレプリケーションの挙動を理解しようとしています
– 設定変更(レプリケーションルール 有効 OR 無効)
– レプリケーション(バッチ OR 通常)
– 更新(オブジェクトの削除やアップロード)

設定変更およびオブジェクト更新をおこない、必要に応じて通常のレプリケーションとバッチレプリケーションを使い分けるというイメージです
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/969819/634267a0-bcee-e894-6e3f-20128c04d7f6.png)

# 前提
– ターゲットのバケットにはソースにアップロードする予定のオブジェクトをすでに格納しています(しかも同じキー)
– IAMロールやバケットの作成および必要な設定は済ませておいてください
– IAMロールはバッチレプリケーションと通常のレプリケーションで必要な権限が異なります

※IAMロール参考(バッチの方はコンソール作成時にIAMポリシーのJSON作ってくれるの

元記事を表示

[AWS Q&A 365][AppSync]AWSのよくある問題の毎日5選 #24

# 1. AWS AppSyncとは何ですか?
答え:AWS AppSyncは、Amazon Web Servicesが提供するサービスで、さまざまなデータソースに接続してスケーラブルなGraphQL APIを構築することができるものです。

# 2. AWS AppSyncの特徴は何ですか?
答え:AWS AppSyncの特徴には、リアルタイムデータ同期、オフラインデータアクセス、自動スキーマ生成、複数のデータソースのサポートが含まれます。

# 3. AWS AppSyncの価格はいくらですか?
答え:AWS AppSyncの価格は、リクエスト数と転送されたデータ量に依存します。また、新規ユーザー向けに無料のティアがあります。

# 4. AWS AppSyncを使用して最初のGraphQL APIを起動するにはどうすればよいですか?
答え:AWS AppSyncを使用して最初のGraphQL APIを起動するには、開発者ガイドで提供されるクイックスタートガイドに従うことができます。これには、スキーマの作成、データソースの設定、クエリとミューテーションの実行が含まれます。

# 5

元記事を表示

【ドラゴンボール風解説】WS Auto Scalingについて

# はじめに
この記事はAWSの説明は今ひとつよくわからないのでドラゴンボールに例えて説明してほしい。
というAWS初学者向けの記事です。
※投稿記事作成にはchatGPTを使用しております

# AWS Auto Scaling
オッス、オラ悟空!オートスケーリングってのは、魔人ブウのように**自己修復能力を持っているんだぞ**。例えば、戦闘中に攻撃を受けて怪我をしても、すぐに自己修復してまた元気に戦える。それと同じように、オートスケーリングも**自動的にシステムの負荷状況を監視し、必要に応じて自己修復する**んだ。

魔人ブウが体を自由自在に変化させて戦闘に適した形に変えるように、オートスケーリングも**システムの負荷に合わせて自動的に必要なリソースを増減させるんだ**。それによって、システムが滑らかに動き続け、ユーザーに快適な体験を提供することができるんだ。

いいか、オートスケーリングは魔人ブウのように常に最適な状態を保つための秘密兵器だ!
オートスケーリングってすっげー奴だな!ワクワクしてきたぞ!

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

元記事を表示

[AWS Q&A 365][AppSync]Daily Five Common Questions #24

# 1. What is AWS AppSync?
answer: AWS AppSync is a service provided by Amazon Web Services that allows developers to build scalable GraphQL APIs by connecting to various data sources.

# 2. What are the features of AWS AppSync?
answer: The features of AWS AppSync include real-time data synchronization, offline data access, automatic schema generation, and support for multiple data sources.

# 3. How much does AWS AppSync cost?
answer: The pricing for AWS AppSync depends on the number of req

元記事を表示

AWS SES v2 の SendBulkEmail を呼び出すと SUCCESS を返すにも関わらず、メールが送信されない

# はじめに

掲題通り。 SendBulkEmail は Python / boto3 であれば以下のドキュメントで示す通りに利用できる。 ドキュメントを読むと、成功時にはレスポンスとして `”Status”: “SUCCESS”` を返すことがわかる。

https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sesv2/client/send_bulk_email.html

今回はここで `SUCCESS` を返しているにも関わらず、正常にメールが送信されない状況に遭遇した。 その調査のため、SES の検証済IDに設定可能な通知の「送信」「バウンス」「苦情」にそれぞれ通知用の SNS トピックを設定した後に同様の内容のメールを送信したが、これらの SNS に対して通知は発生しなかった。

この問題の原因と対応方法を以下に示す。

# 原因と対処

原因は「メール送信時に利用したテンプレートのレンダリングに失敗しているため」であった。

SendBulkEmail でメールを送信する

元記事を表示

【データ可視化/Redash】EC2でRedashを立ち上げて、Snowflakeのデータを可視化する

# 今回の課題
EC2にRedashを建てて、Snowflakeのデータを参照するまでにつまずいたりしたので、流れを記録する。

ちなみに、これまで下記の記事のようにRDSからスナップショットをparquet形式のファイルでS3にエクスポートし、S3にエクスポートしたファイルをSnowflakeにロードする。ということを行ってきた。
今回はそれらをRedashで可視化してみる。

https://qiita.com/Ayumu-y/items/523f700960129c57e3b3

https://qiita.com/Ayumu-y/items/d6713e09b0a409d1bd25

## 進めた手順
### 1)EC2にRedashを立ち上げる
下記の手順でEC2にRedashを立ち上げた
##### 1)-1. リージョン毎に用意されているAMIからインスタンスを立ち上げる
└`ca-central-1`のAMIを使用した。
└また、インスタンスタイプは`t2.small`が推奨されていたので、そちらを使った。
※インスタンスタイプを無料

【AWS】ALB(Application Load Balancer)による負荷分散作成の備忘録

## 事前準備

– EC2に簡単にWebサーバーアプリを立てて、アクセスするとデフォルトページが表示されるようにしておく

## 1. ターゲットグループの作成

1.Amazon EC2 コンソール (https://console.aws.amazon.com/ec2/) を開きます。
1. ナビゲーションペインの [ロードバランシング] で [ターゲットグループ] を選択します。
1. [Create target group] を選択します。
1. [基本的な設定] で、[ターゲットタイプ] をインスタンスのままにします。
![ALB.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/483556/e75a7673-a6b5-6bd8-48ab-83374327bcc2.png)
1. [ターゲットグループ名] に、新しいターゲットグループの名前を入力します。
1. デフォルトのプロトコル(HTTP) とポート (80) のままにします。
1. インスタンスを含んでいる VPC を選択します。プロ

AWS Certified Cloud Practitioner (CLF)合格した話

# はじめに
AWS Certified Cloud Practitioner (CLF)に合格したので、偉そうに感想だったり勉強法を述べます。

# 受験者情報
・未経験22卒
・資格は基本情報技術者のみ(2021年4月に取得)
・AWSの実務経験無し
・EC2とRDSは個人的に触ってみたことあり

# 受験日・学習期間
受験日:2023年4月1日
学習期間:2023年2‐3月

# 学習教材等

## 参考書

### [AWS認定資格試験テキスト AWS認定 クラウドプラクティショナー (SBクリエイティブ)](https://www.amazon.co.jp/AWS%E8%AA%8D%E5%AE%9A%E8%B3%87%E6%A0%BC%E8%A9%A6%E9%A8%93%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88-AWS%E8%AA%8D%E5%AE%9A-%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%97%E3%83%A9%E3%82%AF%E3%83%86%E3%82%A3%E3%82%B7%E3%83%

Amazon Linux2 に負荷ツールtsungをインストールして負荷をかける

Amazon Web Services負荷試験入門 ――クラウドの性能の引き出し方がわかる Software Design plus

以前、月間そこそこアクセスのあるWebアプリケーションをAWSに移行した際、必要に迫

AWS Skill Builder チームサブスクリプションとは – AWS Jamイベントを体験してみた

こんにちは。

今回はAWS Skill Builder チームサブスクリプション内のコンテンツであるAWS Jamイベントを体験する機会がありましたので、
AWS Skill Builder チームサブスクリプション・AWS Jamイベントの内容とAWS Jamイベントを体験してみた感想を紹介します。

# 1. AWS Skill Builder チームサブスクリプションとは
AWS Skill Builderは、AWSが公式で提供している学習コンテンツです。
500 を超えるデジタルコースやAWS 認定公式練習問題集等が無料で用意されています。

以上のように基本的には無料で利用できるAWS Skill Builderですが、
「個人サブスクリプション」と「チームサブスクリプション」の2つの有償サブスクリプションがあり、
月または年単位で契約することで以下のような学習コンテンツを利用できるようになります。

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

ポリシーのattach起因でリソース作成できない場合のTips

(覚書的な内容になります)

# 経緯
小さいシステムを構築してまして、IaC部分にTerraformを使用しています。
ある時、ロール作成とポリシーのアタッチ、リソース作成を一気にやろうとすると、以下のようなエラーが発生しました。
“`
InvalidInputException: Service is unable to assume provided role. Please verify role’s TrustPolicy
(以下エラー箇所のリソース情報が続く)
“`

その時に記載していたTerraformが以下のような形です。
(中身は割とボカしてます)
“`
# ロール作成
resource “aws_iam_role” “test-role” {
name = “test-role”
assume_role_policy = file(“./assume_role_policy.json”) # 何らかのassumeロール設定が記載されているjson
}
resource “aws_iam_policy” “test-poli

[AWS Q&A 365][WAF]AWSのよくある問題の毎日5選 #23

# 1. AWS WAFとは何ですか?
AWS WAF(Web Application Firewall)は、アプリケーションの可用性に影響を与える可能性がある一般的なWeb攻撃からWebアプリケーションを保護するWebアプリケーションファイアウォールです。

# 2. AWS WAFはどのように動作しますか?
AWS WAFは、カスタマイズして特定のニーズに合わせることができる事前定義されたルールセットに対してWebリクエストを検査します。 Webリクエストがルールに一致する場合、AWS WAFは構成に基づいてブロックするか、通過を許可します。

# 3. AWS Firewall Managerとは何ですか?
AWS Firewall Managerは、AWSアカウントとアプリケーション全体でファイアウォールルールを中央的に構成および管理できるセキュリティ管理サービスです。

# 4. AWS Shield Advancedとは何ですか?
AWS Shield Advancedは、AWSで実行されているアプリケーションのDDoS(分散型サービス妨害)攻撃の高度な検出と軽減を

[AWS Q&A 365][WAF]Daily Five Common Questions #23

# 1. What is AWS WAF?
AWS WAF (Web Application Firewall) is a web application firewall that helps protect web applications from common web exploits that could affect application availability, compromise security, or consume excessive resources.

# 2. How does AWS WAF work?
AWS WAF inspects web requests against a set of predefined rules that you can customize to meet your specific needs. If a web request matches a rule, AWS WAF can block it or allow it to pass through based on your configurati