AWS関連のことを調べてみた2022年03月29日

AWS関連のことを調べてみた2022年03月29日
目次

AWS Lambda /tmp領域が10GBまで拡張できるようになったのでディスク読書速度を測定してみた。

いままでLambdaの/tmp領域は512MBまでだったが、2022年3月24日から10GBまで拡張できるようになった。

https://aws.amazon.com/jp/blogs/aws/aws-lambda-now-supports-up-to-10-gb-ephemeral-storage/

そこで512MBと10GBでディスクの読み書きスペックに違いがあるかを確認してみた。

# 結論
/tmpサイズによるディスク読書速度は変化は見られない。
Lambdaメモリを増やすとディスク読書速度は大幅に向上する。
/tmp領域が10GBが必要ならばLambdaメモリは10GBは必須。

# 計測方式
ddコマンドによる簡易的な計測
Amazon linux2からddコマンドコピーおよびzipファイルにしてLambda Layerに登録。

tmp領域のサイズによって書き込みサイズを変化させる。
`512MB bs=64K” count=7k`
`10240MB bs=64K” count=150k`

“` lambda_handler.py
import subproc

元記事を表示

【CDK】セキュリティ関連サービスのSlack通知を検証

## はじめに
今回はセキュリティ周りのSlack通知をCDKで試してみました。Chatbotと直接統合されていないサービス群はEventBridgeによるイベントをトリガーとしてSNS->Chatbotの流れで通知させます。
※今回少し長くなってしまったので幾つかの項目を折りたたんでます。

・関連記事
[【CDK】Cost Anomaly DetectionがChatbotと統合されたのでCDKで実装してみた【アップデート】](https://qiita.com/hedgehog051/items/5e22846d6b8b7b895073)
[【CDK】ECRイメージスキャンの結果をchatbot経由でslackに通知させる](https://qiita.com/hedgehog051/items/51653e0c61c5190ebb64)

## SecurityHub

>Q: AWS Security Hub とは何ですか?
>
>AWS Security Hub は、AWS 内のセキュリティの状態と、セキュリティ標準およびベストプラクティスに準拠しているかどうかを、包括的に

元記事を表示

AWS DBS(Database – Specialty) 受験記

# この記事について
AWS認定のDBS(Database – Specialty)に合格したので、そこに至るまでの対策等を紹介していきます。

# 前提
AWS認定で、既に所持している資格

– CLF
– SAA
– SOA
– DAV
– SAP([受験記](https://qiita.com/hirorinjp5/items/8e3723b7e8f60428de94))
– DAP([受験記](https://qiita.com/hirorinjp5/items/8289fbfabc5dc6c4ab7b))

# 受験までの流れ
2022/03前半: 勉強開始(おおよそ3週間)
2022/03後半: 受験

# 試験対策

## 1. AWS問題集
試験対策本もないので。いつもの通り使います。
ちょっとお値段は張りますが、回答の説明についても丁寧に記述されており、かなり有用です。
問題数がまだ少ないので、2周くらいしておくといいです。

[AWS WEB問題集で学習しよう](https://aws.koiwaclub.com)

金銭的に厳しいといったことがあれば、以下のUde

元記事を表示

LINE×Lambda×Notionで簡単なメモツール(追加・検索機能)

# 野望
DBにNotionを用いたLINE Bot的なサムシングを作りたいと思い続けています。

# 前回までのあらすじ
LINEオウム返しBotを作ったり、Notion APIの検証をしたり。

# 今回やったこと
LINEのリッチメニューを使って追加か検索を選択し、以下の操作ができるようになりました。
・NotionにKeyとValueの組を追加する
・Notionに登録されたKeyとValueを検索する

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/455207/8b146c9a-ba4a-5981-55df-eb6d4b8ca0b6.png)

また、今回はLINEでラリーを行いながら操作をするのでステータス管理も少しだけ行っています。
・追加時:「追加」選択→追加するデータを送信→追加完了
・検索時:「検索」選択→検索するキーワードを送信→検索結果返却

削除はまだできません。

過去の記事でLINEアカウント作成方法やAWSにおけるLambdaとAPI Gatewayの

元記事を表示

Beanstalkプラットフォームバージョンアップざっくり手順|新環境差し替え編

一人プロジェクトでレガシーな環境ですがBeanstalkでこんな運用していますという一例です。
予算と時間がいただければすぐにでも変えたいのが個人的には本音です。

# 前提
プラットフォームのバージョンアップ時にアプリ側もなんやかんや変えて少し不安があるなという状態の時
1-既存の環境を立ち上げたまま
2-新しい環境を立ち上げ
3-RDSのセキュリティグループに新しいEC2のセキュリティグループをアタッチ
4-Cloudfrontのオリジンを切り替える
という流れで作業していますがうまくいくとほぼダウンタイムなしで切り替えができ
ロールバックもCloudfrontの反映時間(最近5分くらい何年か前までは20分くらいかかった)で完了できます。
今回はCloudfrontで切り替えるのであまり関係ありませんが、Beanstalk自体にもアプリケーションのロールバックが簡単にできる機能が標準であるのでこちらも安心材料にはなっています。

# 環境
ローカル
vagrant+virtualbox(centos7内でebコマンドで管理、gitもローカルのみ)

本番
Route53 → Clo

元記事を表示

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版 のコマンドまとめ

# 目的
Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂3版で学習したコマンドを随時まとめていきます。

最終的には、Ruby on Rails を AWSで動かします。

## コマンドまとめ

### ネットワーク関連のコマンド
「ping」「traceroute」「telnet」「nslookup」「dig」

## 個人的に使用したツール
* AWS構成図作成
https://www.diagrams.net/

元記事を表示

EC2 Instance Connect を使用して接続ができない時の対処法

## 概要
EC2インスタンスにEC2 Instance Connect を使用してSSH接続

## 前提
EC2インスタンスを作成済

## 環境
– OS: Amazon Linux 2

## 手順
こんにちは。shun198です。
EC2インスタンスにSSH接続する際に以下の画像のように接続方法にEC2 Instance Connect(ブラウザベースのSSH接続)がない場合があります。

![スクリーンショット 2022-03-29 5.52.36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/625980/f56e0383-b824-dcd2-d976-73eb2a251f37.png)

理由がわからなくて調べたところ、AWSの公式ドキュメントに以下のように記載されていました。

[AWS公式ドキュメント](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-connect-methods.html

元記事を表示

DynamoDBのテーブル設計で事前に知っておくべきこと

## 本記事の内容

本記事は筆者がDynamoDBのテーブル設計をする上で学んだ、知っておくべき事や注意点をまとめたものです。
DynamoDBのテーブル設計に悩んでいる方にとって参考になればと思います。

## DynamoDBについて

### DynamoDBとは

Amazon DynamoDBはフルマネージドなサーバレスのkey-value NoSQLデータベースです。
NoSQLデータベースは非リレーショナルなデータベースを指す言葉です。
その中でもkey-valueデータベースは、キーと値をもつシンプルな方法をとっています。

> ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/215011/b0005f0b-c9e2-0bfe-17d0-0ab2ed5c0491.png)
[メモリ内キー値ストアとは? | AWS](https://aws.amazon.com/jp/nosql/key-value/)

### RDBとの比較

DynamoDBとRDBは特徴が異なるた

元記事を表示

【AWS環境構築メモ⑨】RDSを作成する

## 0.はじめに

データベースを利用するためのRDSを作成していきます。

– **RDS**
Relational Database Serviceの略。AWSのリレーショナル型データベース

![スクリーンショット 2022-03-29 1.25.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/57e7db35-b916-f2e8-f032-1ca922842902.png)

## 1.前回の記事

[【AWS環境構築メモ⑧】Route53でAレコードのエイリアスを作成する](https://qiita.com/yuuichimizuta/items/23ed28b7518cdd9a7801)

## 2.前提条件

– **AWSアカウント作成済み**
– **リージョンはアジアパシフィック(東京) ap-northeast-1**
– **VPC作成済み**
– **セキュリティーグループ作成済み**
– **EC2インスタンス作成済み**

## 3.作成手順(サマリー

元記事を表示

Cost Explorer API でアカウントおよびサービスプロバイダ毎に請求額を取得する

## モチベーション
2022 年 2 月 1 日以降、AWS Inc. に代わり AWS Japan が日本国内の AWS サービスの契約当事者となりました。(請求書払いアカウントは 2021 年 11 月 1 日 以降)

https://aws.amazon.com/jp/legal/awsjp/

そのためほとんどのサービス利用料については現在 AWS Japan が請求元になっているのですが、AWS Marketplace および、Amazon SES, SNS, Connect などの AMCS LLC が販売する一部のサービスについては引き続き請求元は AWS Inc. となっています。

Cost Explorer API を使用してアカウントおよび、請求元の法人 (サービスプロバイダ) 毎に請求額を取得し、以下のような CSV で出力する機会がありましたので紹介します。

“`
Account Id,Account Name,Legal Entity,Amount (USD)
000000000000,account-0000,Amazon Web Services

元記事を表示

AWS CLIで別アカウント追加

## 結論
`aws configure –profile プロファイル名`で追加できる。

## 例
“`zsh
$ aws configure –profile test
AWS Access Key ID [None]: XXXXXXXXXXXXXXXX
AWS Secret Access Key [None]: XXXXXXXXXXXXXXXX
Default region name [None]: ap-northeast-1
Default output format [None]: json
“`

## 切り替え
### 一時的
`–profile プロファイル名`をつけてawsコマンドを実行すれば、そのプロファイルで実行できる。
### デフォルトを切り替え
`export AWS_DEFAULT_PROFILE=プロファイル名`で切り替え。

## 参考文献
https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-profiles.html
> 名前付きプロファイルを使用する

元記事を表示

新しいメンバーがジョインしたときのAWSトレーニング/ハンズオン

# 概要

新しくジョインしたメンバー向けに独自でトレーニングメニューを作成し、最新の情報に追従してアップデートしていくのはコストがかかる面もあります。

AWSは公開されているトレーニングが豊富なので、私のチームではそれを活用しています。良さそうなハンズオンを適宜さがしてきて「作ったものを説明&デモ」「手順の存在しないオリジナル追加課題」という工程を加えています。

今のところ省力で効果的と感じているので、流れやハンズオンの探し方をまとめてみました。

# 流れ

1. 経験や勉強していることを改めてヒアリング。担当予定のシステムのアーキテクチャを説明し、理解度をお互いに確認。

2. レベルと補完しておきたいサービスに応じたハンズオンを探す

3. トレーニングの実施
– ゴールの設定 フェーズ①
– ハンズオンを一通り完了させる
– **作ったものをデモを交えて説明&QA。**
– ゴールの設定 フェーズ②
– フェーズ①で作ったものに対して**オリジナルの課題(機能拡張や応用)** を追加
– *

元記事を表示

ロール切り替え(スイッチロール)した時のアクセス許可は累積されない(ドキュメントを読むことの重要性も)

## 最初に

こんな勘違いをする人はあまりいないかもしれませんが、ロール切り替え(スイッチロール)した時のアクセス許可について、自分に対してのメモも兼ねて記しておきます。

## ロール切り替え(スイッチロール)した時のアクセス許可は累積せず、ロールに設定されているアクセス許可だけが有効になる

ロールの切り替えをユーザーに許可して、実際にロールの切り替えを行った際、有効になるアクセス許可の内容は「ロールに記載されたアクセス許可のみ」となります。

私は当初、ユーザー及びユーザーが属しているグループのアクセス許可との累積になると思い込んでしまっていました。実運用に入る前にその認識が間違っていることに気がつけたので良かったのですが、ドキュメントにはしっかりと書かれていました。

https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_roles_use_switch-role-console.html

> 重要
>IAM ユーザーと切り替え後のロールのアクセス許可は、累積されません。同時に有効になるアクセス権限のセットは 1

元記事を表示

GitHubからCodeCommitへ移行

# はじめに
GitHubからCodeCommitへリポジトリを移行してみました。

また、AWSの[こちらのページ](https://docs.aws.amazon.com/ja_jp/codecommit/latest/userguide/how-to-migrate-repository-existing.html)に移行用のドキュメントがありましたので
こちらを参考に進めて行きます。

# 必要な作業
作業内容と行っても複雑なものは特になく

1.移行したいリモートリポジトリをローカルPCにクローン
2.CodeCommitに移行先のリポジトリを作成
3.クローンしたリモートリポジトリをCodeCommitにプッシュ

以上の流れになります。

# リモートリポジトリをローカルPCにクローン
## リモートリポジトリをクローン
今回はリポジトリの移行が目的のため、履歴も持ったベアリポジトリをクローンする必要があります。
※ベアリポジトリとは作業ディレクトリを持たないリポジトリでリモートリポジトリに使用されています。

そのため、–mirrorオプションを付加してクローンします

元記事を表示

【AWS環境構築メモ⑧】Route53でAレコードのエイリアスを作成する

## 0.はじめに

**HTTPS通信するための最後のタスクとして、Route53でELBのDNSレコード(Aレコード)のエイリアスを作成します。**

![スクリーンショット 2022-03-28 19.55.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/891391/54e7063e-b73d-3a04-2067-8ecbdd61a2af.png)

## 1.前回の記事

**[【AWS環境構築メモ⑦】ELBを作成する](https://qiita.com/yuuichimizuta/items/d7dabc1b4b21de0e7e60)**

## 2.前提条件

– **AWSアカウント作成済み**
– **リージョンはアジアパシフィック(東京) ap-northeast-1**
– **VPC作成済み**
– **セキュリティーグループ作成済み**
– **EC2インスタンス作成済み**
– **SSL証明書発行済み**

## 3.作成手順(サマリー)

|順番|手順|
|—|

元記事を表示

AWSユーザのためのAzure入門②(権限関連)

# 内容
Azure環境で下記の様な権限設定を行います。
* ①AWSでいうIAMユーザ関連設定 ⇒ Azure Actve Directory関連設定
* ②AWSでいうIAMロール関連設定 ⇒ マネージドID関連設定

AWSの下記設定をAzureで行います。

![a2-azure-00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/3cf1eb1b-7cfc-bbc1-3eec-5ab29dd6e88e.png)

* ①IAMユーザ関連設定
IAMグループを作成します。EC2読み取り専用のIAMポリシーをIAMグループに紐づけます。
AWSコンソールアクセス可能なIAMユーザを作成しIAMグループに所属させます。
IAMユーザはAWSコンソールからEC2に読み取りアクセスします。

* ②IAMロール関連設定
IAMロールにS3読み取りIAMポリシーを紐づけます。EC2にIAMロールを割り当てます。
IAMロールの情報がインスタンスプロファイルに渡されてS3にアクセス出来る様に

元記事を表示

ECS Fargateを自動停止・自動起動する設定をTerraformで作成してみた。

※注意

自分用のメモです。
ECSの自動停止・自動起動の設定を入れたので記載します。
コンソールでポチポチするんも面倒なので、terraformで作成できるようにしました。

## 用途

コスト削減等で夜間のECSタスク数を0にして停止、早朝にタスク起動する場合に使う。

## 構成イメージ

terraform
├── ecs-start
│ └── lambda_function.py ← ECS起動用の関数コードを記載
└── ecs-start
│ └── lambda_function.py ← ECS停止用の関数コードを記載
└── lambda.tf ← lambda,IAM,CWlog,EventBridge(cloudwatch_event)設定を記載

## 各ファイルの設定内容

### ECS起動用の関数コード(lambda_function.py)

“`lambda_function.py
import boto3
from botocore.exc

元記事を表示

AWS EKSでLocust負荷試験をやってみた。

AWSEKSでLocustを動かし、API Gatewayに対して簡単な負荷試験をやってみる。

# Locustとは

Python製の負荷試験ツール
負荷試験のシナリオをPythonを用いて柔軟に作りこむことができる。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520895/c181b31a-b3ec-cb69-d8b1-cb2ae71d4871.png)

https://locust.io/

Locustにはmaster/workerモードがあり、これを利用することで複数インスタンス(コンテナ)を利用してスケールさせながらLocustによる負荷試験を行うことが可能です。

https://docs.locust.io/en/v0.8/running-locust-distributed.html

## EKSとは
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/520895/

元記事を表示

make(旧integromat)を使ってLambdaを実行する〜EC2の起動・停止篇

## 1.はじめに
makeからLambdaを呼び出し、EC2の起動・停止を行う手順です。

前回の記事はこちら。この記事で作ったリソースをそのまま流用します。

https://qiita.com/okome-chan/items/f0359139b2e72daf686c

## 2.今回やること
こんな感じのパイプラインを作ってLambdaを実行します。
Slackのチャンネルに投げたメッセージをトリガーにして、OutgoingWebhooksからmakeのWebhooksを呼び出す。
メッセージは`{ key:value }`でLambdaに渡して、EC2の起動・停止の判定に利用します。

![スクリーンショット 2022-03-28 14.36.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278897/19d01da8-bc67-1165-56d9-2299b8efc6b8.png)

## 3.アプリの設定
### 3-1.Slack
今回は`Start`と`Stop`をトリガーにする

元記事を表示

AWS Certified Solutions Architect – Associate 試験 (SAA-C02) 合格体験記

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

## negocia株式会社について
negocia株式会社では3つのValueを行動指針とし、「うれしい広告」の実現を目指しています。

### Values
– Professional Pride プロであり続ける
– Praise the Challenge 挑戦を楽しむ
– Ownership for All 全てにオーナシップをもつ

興味を持たれた方は[採用情報](https://negocia.jp/recruit/)をご覧ください。

## AWS Certified Solutions Architect – Associate
AWSの[公式ページ](https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/)では、このように説明されています。

> この資

元記事を表示

OTHERカテゴリの最新記事