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

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

CARTA HOLDINGS の秋季インターンシップ【Sunrise】に参加してきた話

CARTA HOLDINGS の秋季インターンシップ 【Sunrise】 に参加してきました!

![PXL_20230912_035503570.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3143089/3720eedb-4361-70f6-4fb7-afffc9ba1cf0.jpeg)
![PXL_20230912_004727084.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3143089/21f2a69c-b87c-c48c-a04f-98da7583b8c0.jpeg)

インターンを振り返りつつ行ったことや感想などをまとめます!

# インターン概要

5日間の対面インターンで、イベント計測サーバーを秒間30,000リクエスト捌けるように、インフラ・Golangアプリの両方からパフォーマンスチューニングを行うという内容でした。

4人1組でチームを組み、そこに技術メンターと人事メンターの2名(私たちの

元記事を表示

【備忘録】個人的に気になったネット記事、資料をまとめる~その3・IPv4,v6関連~

# はじめに

この記事では以下のようなことを記載しています

– 個人的に気になって読んでみたネット記事、資料のURL
– 概要と個人的な感想
– 参考情報
– 関連するページのURL
– 勉強会のアーカイブ動画
– その他もろもろ

上記はあくまで目安で、フォーマットは縛り過ぎずに書いていきます
また、まとめる頻度も週1回程度を目指しますが、あまり縛らずにゆる~く続けていこうと思っています

また、ストックしている中から適当に選んでいるので、最新記事とかではありません
ちょっと昔のネタでも、まとめておきたいなと思ったら躊躇なく記載するのでご了承ください

完全に個人的なまとめですが、もしどなたかの役に立てば光栄です

# AWSのPublic IPv4構成をIPv6に切り替える

https://blog.father.gedow.net/2023/09/04/aws-public-ipv4-to-ipv6/

– 概要
– タイトルの通り、AWSのVPCをIPv4からIPv6に切り替えるために必要なことがまとめられている
– 手順だけではな

元記事を表示

[備忘録] macOS で AWS Session Manager(SSM) を使ってLinuxサーバーに接続できるようになるまで

# はじめに
macOSのターミナルから下記コマンドでLinuxサーバーに接続しようとしたところ、Session Manager プラグイン がないと怒られた。
“`
% aws ssm start-session –target ${踏み台EC2のID}
SessionManagerPlugin is not found. Please refer to SessionManager Documentation here: http://docs.aws.amazon.com/console/systems-manager/session-manager-plugin-not-found
“`

そこで、Session Manager プラグインをインストールしたのだが、インストールできるまでいくつかのエラーに遭遇したのでここに記す。

# 実施したこと
### [エラー1] SessionManagerPlugin is not found.

まずは、[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/systems-manager/

元記事を表示

CloudFormation テンプレートの書き方と関連ツール

CloudFormationはプログラミング言語やテキストファイルを使用してAWSリソースを自動で構築するサービスです。
テンプレートのセクションや関連したツールをまとめました。

## テンプレートとスタック
テンプレートはAWSリソースを構築する設計図のようなものです。
スタックと呼ばれる単一のユニットとしてリソースを管理します。スタックを作成、更新、削除することでリソースのコレクションを作成、更新、削除します。
以下の例のように記述します。

“`yml
AWSTemplateFormatVersion: 2010-09-09
Description: A sample template
Resources:
MyEC2Instance:
Type: ‘AWS::EC2::Instance’
Properties:
ImageId: ami-0ff8a91507f77f867
InstanceType: t2.micro
KeyName: testkey
BlockDeviceMappings:

元記事を表示

【AWS】ERROR 2002 (HY000): Can’t connect to MySQL server on ‘xxx’ (115)の原因

# 概要
AWS BatchでRDSに接続するコマンドを実行したら`Can’t connect to MySQL server…`になりました。本記事ではその原因と解決方法を記載します。

# エラー内容と原因
エラーは以下の通りです。

“`
ERROR 2002 (HY000): Can’t connect to MySQL server on ‘xxxx.cluster-xxxxxx.ap-northeast-1.rds.amazonaws’ (115)
“`

MySQLクライアントがMySQLサーバーへの接続を試みる際に問題が発生しているよう。
調べてみると、以下の原因が考えられるとのこと。

### ①エンドポイントが正しくない
→ 実際のRDSインスタンスのエンドポイントと一致しているか確認しましたが正しかったです。ホスト名、ポート番号も確認。

### ②サブネットルーティング
→ サブネット周りの問題です。ジョブが実行されているサブネットが、RDSインスタンスがあるVPCと同じかどうか。ルートテーブルが正しく設定されているかどうか。確認しましたが、問題なかった

元記事を表示

AWS東京リージョンにある Local Zones の存在価値とは【2023年9月時点】

みなさん AWS の東京リージョンにある [Local Zones](https://aws.amazon.com/jp/about-aws/global-infrastructure/localzones/?nc=sn&loc=0) を知っているでしょうか?
この話をすると「東京リージョンに Local Zones は無いと思う……」という
回答を聞くことが何度かありました。

しかし、実際には東京リージョンに Local Zones はあるのです。
今回の記事では、そんな誤解の多い Local Zones について取り上げたいと思います。

# 1.Local Zones とは

そもそも Local Zones が何かですが、Local Zones はエンドユーザーの近くで、EC2などのコンピューティングなどのAWSサービスを提供するサービスです。エンドユーザーが超低レイテンシーを求めている場合に、リージョンのAZ内にあるデータセンターでは遠すぎて実現できない場合があります。そんな時に、更にユーザーに近い場所でAWSのサービスを提供して、超低レイテンシーを実現している訳です。

元記事を表示

【AWS Amplify】functionのリトライ回数を変更したい

## この記事の対象となる方

– AWS Amplifyを使用中
– S3のCreateObjectやSQS等に反応するLambda(function)を作成し、デプロイしている
– カスタムリソース(`amplify add custom`)を追加して、S3のCreateObjectのトリガやSQSを定義し、上記のLambdaと関連付けている
– デフォルトのリトライ回数は2だが、要件によって回数を変えたい (多分「0にする」を最も要求されそう)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/267110/97052a32-6a8c-b66c-c9cb-6fe00f434099.png)
– ↑↑ この「再試行」です

## どうすればリトライ回数を変更できるか

### 結論

CloudFormation(`[functionName]-cloudformation-template.json`)に加筆するしかありません。
– `Resources`に以下を追加し

元記事を表示

RDSマネージドローテーションキーでカスタムユーザーの値に変更できるのか

SecretsManagerを利用している際に、各サービスでマネージドなローテーションキーを提供していることを確認しました。
今回はこのシークレット情報を変更できるのか検証してみました。

## マネージドローテーションとは?
RDS作成/変更時にRDSのコンソール上で設定可能なSecretsManagerになります。
特徴としては、ローテーション用の間数が不要であり、SecretsManagerの値が以下画像のように「rds!」から始まるものになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/872532/2f2ebcf2-7a09-6863-aed8-f3833ba61f58.png)

ローテーション構成はいかのようになります。上記でも記載しましたがローテーション間数へのリンクもないので、**間数なしでローテーションできる**ことも大きな特徴になります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.ama

元記事を表示

AWS Terraform – Lambda と SNS の連携で トリガーができない

# 公式

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/lambda_permission

# 問題

TerraformでLambdaとSNSを連携させた

SNSのサブスクリプションにはLambdaが登録されているように見えるのに、
逆にLambdaのトリガーの画面にSNSが現れない

# 解決

aws_sns_topic_subscription に Lambda の ARN を設定するだけではなく
SNS に Lambda の実行パーミッションを付ける必要があるようだ

“`tf
resource “aws_sns_topic” “example” {
name = “example”
}

resource “aws_sns_topic_subscription” “example” {
topic_arn = aws_sns_topic.example.arn
protocol = “lambda”
endpoint = aws_lambd

元記事を表示

CDK と CloudFormation の 概念(Concept) の関係図

CDK で運用するならスナップショットテストはちゃんとやったほうがいいということを学びました。スナップショットテストが検出する 差分 のことはなんと呼べばいいんでしょうか?呼び名はない?ということを、全体を整理しながらぼんやり考えてたら怪文書(怪図?)が出来上がったのでここに放流します。

![CDK での開発プロセスにおけるリソースの相変化の呼び名.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/37466/076c8c80-efa2-ebc4-1334-571543640f27.png)

CloudFormation の範囲だけなら概念の整理のドキュメントが公式にしっかりあるけど CDK とあわせた一貫性のある(なくてもいいけど)やつはあまり見かけないですね。
※ 上記図は私が触れる慣用の範囲のメンタルモデルであって正確さや厳密さはないので目を細めて眺めるくらいにとどめてください。

– 参考: [AWS CloudFormation の概念 – AWS CloudFormation](htt

元記事を表示

AWS SSM PortforwardコマンドとIAMポリシー

# はじめに
AWSのVPC内にあるWindowsインスタンスにローカルPCからSSM PortforwardをしようとしたらコマンドとIAMポリシーにつまづいたので記録として残しておきます。

# 環境
接続先はVPC内Windowsサーバ(3389のRDPポートにつなぎたい)
接続元OSはWindows

Windowsサーバには適切なIAMロール(AmazonSSMManagedInstanceCore)とNetwork設定、SSMAgentがインストールされている前提です。

# AWS CLIのコマンド
ドキュメント等を参考にコマンドを用意したが以下はNG
“`
aws ssm start-session –target i-xxxxxxxxx –document-name AWS-StartPortForwardingSession –parameters ‘{“portNumber”:[“3389″],”localPortNumber”:[“50001”]}’ –region ap-northeast-1
“`

以下はOKのコマンド。
–paramete

元記事を表示

awsのインフラを構築して、Terraform化しようとしたときに調べたことをまとめてみた。

Terraformについて完全理解した。(ダニング=クルーガー効果)

# Terraformについて
– HashiCorp社がGo言語で開発したツールである。
– インフラを構造化言語で記述することができる。

# Terraformで、できること
– インフラをコード化できる。
– 何度もインフラを構築する時に、手作業で構築しなくて良い。
– 構築後のインフラを管理も可能。
– 変更やインフラの追加に対応することが可能。
– 既存のインフラの設定をtfstateファイルという設定を保存するファイルにimportすることができる。

# Terraformは何をしてくれるのか。
– 記述した構造化言語の記述を元に、AWSのAPIを叩いてインフラを作成する。
– APIでインスタンスを作成可能だが、Terraformを使うことで状態の管理もできるところが良い。

# Terraformでコードを書くときには、何のドキュメントを参考にするのか。
– まず参考にしたのは、下記の2点です。
– [Terraformのドキュメント](https://registr

元記事を表示

amazon prime videoがマイクロサービス構造からモノリス構造へ移行して費用90%節減

> この記事の内容にある意見は、個人の主観的意見を前提とします。
> 記事の内容は間違いがあり得ますので、ご了承いただけると幸いです。内容の間違い、認識の違い、違う意見などありましたら、コメント大歓迎です!

# 概要

少し過ぎた議事ではありますが、2023年3月にamazon prime video techblogにて面白い議事があり、世界から注目された事例がありました。

> Scaling up the Prime Video audio/video monitoring service and reducing costs by 90%

最近はモノリス構造は避けて、マイクロサービスやサーバーレス構造でのサービス検討が注目されている中、個人的に興味深い事例と考えたので、qiitaにて紹介しようと思います。

# 関連記事からわかる注目度

元の`amazon prime video tech`からの配信記事はこちらになります。

– [amazon prime video tech: Scaling up the Prime Video audio/video monito

元記事を表示

AWS + Terraform – ALBのエラーを CloudWatch メトリクスで検知して通知する

# 標準メトリクス

CloudWatch > メトリクス にいろんな標準メトリクスがある

ALBだけでも相当色々な数があるが「リージョン別のメトリクス」とか「ALB単位のメトリクス」とかに分かれているようだ

# アラームの作成

CloudWatch > アラーム から新しいアラームを作成できる

ここで好きなメトリクスを選んでしきい値などを設定すれば良い

# ALB (ELB) の500系エラーの説明

ALBの層で起こるエラーと、ターゲット内(アプリケーション層とか)で起こるエラーはメトリクスの種類が分かれているようだ

> HTTPCode_ELB_5XX_Count
>ロードバランサーから送信される HTTP 5XX サーバーエラーコードの数。この数には、ターゲットによって生成される応答コードは含まれません。

> HTTPCode_Target_5XX_Count
> ターゲットによって生成された HTTP 応答コードの数。これには、ロードバランサーによって生成される応答コードは含まれません。

https://docs.aws.amazon.com/ja_jp/

元記事を表示

AWS Certified Solutions Architect – Professional 試験 (SAP-C02) 合格体験記

# はじめに
本記事は、AWS Certified Solutions Architect – Professional 試験 (SAP-C02) の合格体験記です。
これから受験する方の参考になれば幸いです。

# 受験のきっかけ
アソシエイト3資格を全て取得したので、次のステップとしてプロフェッショナル資格に挑戦しました。

## AWS認定資格一覧
![aws_資格一覧.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2302749/e446aa12-502e-ea56-4c97-b9ff277f1222.jpeg)

※画像はこちらの記事を元に作成しました。

https://aws.amazon.com/jp/blogs/psa/cert-tips/

※アソシエイト3資格の合格体験記はこちらです。

https://zenn.dev/negocia/articles/46ec8a93c5a4f5

# AWS Certified Solutions Architect – Professio

元記事を表示

【初心者向け】EKSを用いてReactAppを公開してみた

# はじめに
### 「おぼろげながら浮かんできたんです。EKSという単語が。」

なんとなくですが、EKSを使ってみたくなったので使ってみました。EKSというのはAWSで使用できるkubernetesのサービスです。AWSにはEKSの他にもECSというAWSが独自に用意したコンテナのオーケストレーションツールも存在します。
学習コストの低さやメンテナンスの運用などを考えると、自分は試すならECSからかな、と今になっては思うんですがしょうがありません。なぜなら、おぼろげながら浮かんじゃったから。。。

# Kubernetesとは何?

この記事を読んでいる聡明な皆様なら既に知っていると思いますが、念のためKubernetesについても説明します。(「クバネティス」、「クーバネティス」と読みます。私はどや顔で「くー↑ばねいつ↓」と読んでいました)

> Kubernetes (K8s)は、デプロイやスケーリングを自動化したり、コンテナ化されたアプリケーションを管理したりするための、オープンソースのシステムです。
引用:[kubernetes公式ドキュメント](https://kuber

元記事を表示

kintone-rest-api-client を使ってkintoneアプリを自動更新する

## はじめに
以前書いた記事「[DynamoDB StreamをトリガーにLambdaを実行する処理をCDKで書いてみた](https://zenn.dev/collabostyle/articles/3ed9b3440c7d09 “DynamoDB StreamをトリガーにLambdaを実行する処理をCDKで書いてみた”)」の、Lambdaの処理でkintone-rest-api-clientを利用しています。

## kintone-rest-api-clientとは
kintone-rest-api-clientは、KintoneプラットフォームのためのREST APIクライアントライブラリです。このライブラリは、Pythonで書かれており、Kintone REST APIを呼び出すための簡単な方法を提供します。
kintone-rest-api-clientを使用すると、Kintoneアプリケーションを操作するPythonスクリプトを簡単に作成することができます。たとえば、kintone-rest-api-clientを使用して、データレコードの作成、更新、削除、検索などを行

元記事を表示

DynamoDB StreamをトリガーにLambdaを実行する処理をCDKで書いてみた

## はじめに
* DynamoDB StreamとLambdaを使ってDynamoDBのデータに変更があった場合(追加、編集、削除)に、その変更内容を別アプリに自動で反映する処理を実装しました。
* 自動化した処理をCDK化しました。

## DynamoDB Streamとは
DynamoDB Streamは、Amazon Web ServicesのDynamoDBサービスに含まれる機能の一つで、DynamoDBテーブルの変更をリアルタイムでキャプチャし、変更を処理するアプリケーションとの間でデータを配信するためのサービスです。DynamoDB Streamを使用することで、アプリケーション開発者は、DynamoDBテーブルの変更を非同期的に受信し、変更を処理することができます。この機能は、サーバーレスアーキテクチャを使用する場合に特に有用であり、システムの拡張性と柔軟性を高めるのに役立ちます。

## やりたいこと(イメージ図)
1.DynamoDBに対する項目の追加、編集、削除をDynamoDB StreamのイベントとしてLambdaに渡す
2.イベントを受け取ったLam

元記事を表示

【AWS】AWS SAPの勉強メモ

# 始めに
AWS SAPの勉強を始めましたが、必要な知識量が膨大で
絶望。。

そこで最近学んだ内容をメモしておくだけになりますが
SAP勉強中の方にほんの少し、参考になれば程度の記事です。
※SAAレベルの内容も含みます

# SAP学習中に学んだサービス
## ▪️AWS RAM
アカウント間でリソースを共有するためのサービス

## ▪️Direct Connect Gateway
複数のリージョンのVPCに接続できる

## ▪️パブリックVIF
オンプレのデータセンターがAWSパブリックサービスに
アクセスできる

## ▪️AWS Firewall Manager
複数アカウントやOUのWAFルールを一元管理できる
Organizationsのアカウント間でWAFルールを一元管理する。

## ▪️AWS DMS(database migration service)
DBをAWSへ迅速かつ安全に移行するのに役立つ
移行中もDBは完全に利用可能状態が保たれ、
アプリのダウンタイムは最小限になる。

異なるプラットフォームでも同じでも、移行可能で
低レイテンシーかつ継続的

元記事を表示

無料でAWS CodeWhispererを使ってみよう(個人アカウントのみ)

船井総研デジタルのYookです。

コーディング支援サービス「GitHub Copilot」はよく知られているが、個人アカウントでも有料なので、なかなか手が伸びないですよね。そこで、無料で使える「AWS CodeWhisperer」があることを見つけ、導入してみようと思います。

## AWS CodeWhispererとは
以下の公式ホームページに詳しい内容が載っています。

特徴
* コメントや書きかけのコードから予測して自動生成
* セキュリティースキャン
* オープンソースコードのリファレンストラッカー
* サポートされている言語: Python、Java、JavaScript、TypeScript、C#、Rust、Go、Ruby、Scala、Kotlin、PHP、C、C++、Shell Scripting、SQL

https://aws.amazon.com/jp/codewhisperer/

個人アカウントに限って無料で利用可能!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c

元記事を表示

OTHERカテゴリの最新記事