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

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

AWS認定 ソリューションアーキテクト プロフェッショナル 試験勉強メモ

# はじめに
– 私がAWSソリューションアーキテクトプロフェッショナル取得のために学習していた時のアウトプットとしてまとめていたメモです
– Udemyの模擬試験問題集を解きながら、正解・不正解と問わず自分が理解できていない・覚えていない箇所をサービス別に整理・まとめていきました
– 同じく試験勉強をされている方のお役に立てれば幸いです

https://www.udemy.com/course/aws-53225/

# — EC2 —
#### T3 インスタンス
– ベースラインレベルの CPU パフォーマンスを提供する次世代のバースト可能な汎用インスタンスタイプ
– いつでも必要な時間だけ CPU 使用率をバーストさせる機能を備える
– バランスの取れたコンピューティング、メモリ、およびネットワークのリソースを提供し、使用中に一時的なスパイクが生じる中程度の CPU 使用率を持つアプリケーション向けに設計されている

#### G2インスタンスの用途
– 低レイテンシネットワーキングを備えた高度なグラフィック処理サーバーについて言及する場合は、EC2イン

元記事を表示

[AWS / SAM] build / deploy失敗パターン

# 概要

AWSの`sam`を使っていると、結構わかりにくいエラーメッセージに悩まされることがある。
エラーメッセージが曖昧で、どこに何の問題があるのか特定できないからだ。

そんな場合の対処法のメモ。

# エラーパターン例

## 1. Given input did not match expected format

具体的には、 `sam deploy`した時に次のようなエラーが出る。

`Error: Failed to create changeset for the stack: {your-stack-name}, ex: Waiter ChangeSetCreateComplete failed: Waiter encountered a terminal failure state: For expression “Status” we matched expected path: “FAILED” Status: FAILED. Reason: Given input did not match expected format`

– 原因
`paramet

元記事を表示

【AWS】S3まとめ

# はじめに
こんにちは。rattsl(@rattsl)です。
今回はAWS S3についてハンズオンで色々いじったのでメモとして残します。
間違えて認識している部分があったらご指摘ください。

# S3とは
マネージド型で提供されるの***オブジェクト型ストレージサービス***。
S3はシンプルストレージサービスの略。

– 1GBあたり約2.5円/月
– スケーラブルでデフォルトで冗長化されている
– 転送中、保存時は暗号化が可能

***バケット***という名の保存場所に保存され、バケット名はグローバルで一意である必要がある。

## S3アクセスポイント
S3をアプリケーション上にセットアップした際、どのレイヤーのデータまでアクセスしていいかを管理する。

アプリケーションサーバーのIPアドレスを設定したり、VPCに対して特定のS3バケットへのアクセス制限を設定することでアクセス管理をコントロールすることが可能。

## S3アクセスアナライザー
アクセスポリシーに沿ってアクセスされているかを確認し、不正なアクセスがないか監視する機能。

## ライフサイクル管理
バケット内のオ

元記事を表示

cdkでtypescriptのlambdaをデプロイしてみた

# AWS lambda

## サービスの概要

– サーバレスでイベント駆動型のコンピューティングサービス
– サーバーの管理をする必要がない
– 従量課金

## 料金

まずは利用料金の確認です。
コード実行時間(1ミリ秒単位)で課金されます。
料金は関数に割り当てたメモリ量によって異なります。
メモリ量を増やすとCPUパワーも増加し、結果として処理時間が短くなるので料金が安くなる場合もあります。
割り当てるメモリ量はチューニングが必要となりますね。

詳細な料金は更新ページを参照。

https://aws.amazon.com/jp/lambda/pricing/

### 無料枠

100万件/月リクエストの無料枠があります。また、40万GB-sのコンピューティングタイムが含まれます。
少しさわってみるのには十分すぎますね。

他のリージョンにデータを転送したり、S3と連携させると別途費用がかかるようです。微々たるものですが。

## まずはリソースを作ってみよう

無料枠の確認ができたところで、簡単な関数を作ってみます。

ディレクトリの構成はこんな感じです。
.
├─

元記事を表示

AWS S3の大量削除方法

## AWS S3とは

S3とはデータを格納・管理できるオブジェクトストレージサービスです。 主にウェブサイトやアプリケーションなどのデータバックアップおよび復元、アーカイブなど、さまざまなことに利用します。
また、ファイルのバックアップ、ファイル処理の加工前、あるいは加工後のファイルの保存、動画・画像ファイルやCSSなどWebで使う静的なファイルをS3に置いて配信するなど、非常に広範囲な使い方ができます。

## 削除?

大きプロジェクトが終わると色々がいらなくになります、サーバーもそうですし、ELBなどもいらないです。S3も同じです!

料金を見ると:

最初の 50 TB/月 0.023USD/GB
次の 450 TB/月 0.022USD/GB
500 TB/月以上 0.021USD/GB

これを見ると安いってイメージですが、100TBあったら月で2000ドル超えてます!なので「いらないファイルとバケットを調査して、削除!」の気持ちになります。

## マネジメントコンソール
あるバケットが使われてない古いファイルを見つかって削除した!マネジメントコンソール入って、フォル

元記事を表示

米国向けサービスで多要素認証しようとしたら、申請作業が大変だった

# はじめに

米国向けサービスを構築中に多要素認証を設定しようとしたら、想像もしていなかった手続きがいくつかあったので、それらの手続の概要とざっくりかかる日数をまとめました。

この記事を見ることで、これから新規で海外向けにサービス展開するぜ、多要素認証は必須だよね!って方が少しでも助かればいいなと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/19911/047b8eb5-1882-f1c1-78a1-3b9c15e8dbe0.png)

# 対象読者
– 米国向けに多要素認証を行うサービスを展開しようとしており、AWSでリソースを構築しようとしている方
– Cognitoという認証・認可機能を提供するサービスを知っている方
– 検証していない技術に対して、見積もりの甘さに対する教訓を知りたい方

## 前提

– 新規サービス
– 利用者の属する国:米国
– 利用するPaaS:AWS
– 利用する認証・認可機能を提供するサービス:Cognito
– 利用するR

元記事を表示

ディスクが足りないサーバーやPCでOneDriveを活用した無料または安価なTBサイズのドライブを追加する

# はじめに
サーバーやPCで追加のストレージが必要になった際に通常のディスクをマウントすると高額になることがある。例としてAzure Managed Diskの場合、1TBで月額2万円弱になってしまう。安価に回避する方法としてOneDriveやSharePointドライブマッピングがある。(ブラウザだけでは不便なんですよね・・・)

# 制約条件
■共有フォルダのように排他制御の厳密さは期待できない
■読み取りに時間がかかる、Web通信が発生するので読み書き速度は遅い(一部のツールではキャッシュ対応しているが、キャッシュにも限界があるのでサーバー自体のディスクと比較すれば断然遅い)
 
# メリット
■バージョン履歴管理、ランサムウェア対策として期待できる
■ドライブをマッピングするかブラウザ経由でどこのPC、サーバー、スマホからも同じデータを閲覧できる
■ドライブマッピングをしてデータの保存をしてもPCやサーバー自体のディスクスペースを取らない(直接Microsoftのサイトに書き込みにいきますからね・・・)

# ドライブ容量や必要ライセンス(すでにO365使っていれば追加ライセ

元記事を表示

AWSアカウントを作成後にやっておいた方がいいこと

# AWSアカウント作成

これまで業務用アカウントしか持っていなかったので、個人用アカウントを作成しました。
個人用アカウントは自分のクレジットカードが登録されているので、アカウントが乗っ取られるとマズイ。
セキュアな初期設定を調べて、設定することにしました。

# 設定したこと

## ルートアカウントにMFAを設定

ルートアカウントとは、AWSアカウント作成時に生成されるアカウントです。
メールアドレスでログインできるやつです。
ルートアカウントは管理者権限を持ち、なんでもできてしまうのでMFAを設定することが推奨されます。

MFAとは多要素認証のことで、ワンタイムパスワードの入力を必須にします。
私のスマホにはAuthenticator(マイクロソフト)がインストールされていたので、こちらを利用しました。
QRコードをスマホで読むと、アプリ上にワンタイムパスワードが表示されました。
2回連続で表示されるワンタイムパスワードを入力すると、設定が完了します。簡単ですね。

## IAMユーザー作成

開発用のユーザーを作成しました。
個人利用なので、グループは作らずにユーザーに

元記事を表示

DynamoDBのデータをPartiQLでお手軽にCSVエクスポートする

DynamoDBのデータをちょっとCSVで引き抜きたいってとき、色々方法はありますがマネジメントコンソールから一番手っ取り早くやる方法を紹介します。

# 項目を探索してエクスポート

DynamoDBのマネジメントコンソールからテーブルをスキャンorクエリすることで得られた結果をCSV形式でダウンロードできます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/96507/a702fb35-d9d0-452c-963f-c3dfefec306a.png)

ただし、このやり方には注意点があり**今ページ上で読み込まれた分のデータ**しか出力してくれません。

「次のページを取得」が表示されなくなるまでポチポチ押していかないとすべての結果が得られず、少ないデータならこれでもいいのですが量が多いと難儀します。

# PartiQLエディタを使ってエクスポート

こっちが本題です。

PartiQLエディタではSQLに似た構文を使ってDynamoDBをクエリすることができます。

https

元記事を表示

lambda-uploaderでResourceConflictExceptionが発生する時の対処

## 事象
lambda-uploaderを実行した際に以下のエラーが発生していた。

“`
ResourceConflictException: An error occurred (ResourceConflictException) when calling the UpdateFunctionConfiguration operation: The operation cannot be performed at this time. An update is in progress for resource
“`

## 原因

2019/11/27 lambdaの仕様が変更された。

https://aws.amazon.com/jp/blogs/compute/tracking-the-state-of-lambda-functions/

おそらく、これが原因で、lambda-uploaderコマンドにて実行時ResourceConflictExceptionが発生するようになった。
以下のPRで問題解消されており、v1.3.1(2022/4/16)としてリリース

元記事を表示

AWS CDK構築備忘録②(ALB+ECS+Aurora)

# 内容
下記の構成をCDKで構築します。

![ecs01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2523652/a025ef11-b1d5-bee0-d970-39d86994c993.png)

* VPC
VPC、サブネットを作成します。作成した情報を他のスタックからクロススタック参照出来るようにします。

* Route53
ECSスタックの中で既存ホストゾーンにALBのAレコード(Alias)を追加しています。

* ALB,ECS
aws-ecs-patternsというモジュールがあります。こちらは一般的な構成パラメータがデフォルト値となっており、少ないパラメータでECSを構築することが可能となります。こちらをベースにコードをカスタマイズしていきます。ALBもこの中で作成されます。nginxのイメージを使用します。

https://docs.aws.amazon.com/ja_jp/AmazonECS/latest/developerguide/tutorial-ecs-web-

元記事を表示

【AWS EC2】【RHEL8.6】Zabbix6.0構築(MySQL/Apache)

# 前口上
 世の中に落ちてるZabbix6.0の記事がなんか微妙に使いにくいので作成。
 コンセプト的には、黙ってコマンドを打ちまくれば構築完成する手順にした。

# 1 環境
・AWS EC2
・RHEL/8.6
・MySQL/8.0.26
・Apache/2.4.37

# 2 構築
“`:基礎情報確認
uname -a ; id -un
cat /etc/redhat-release
cat /etc/os-release
“`
 XXXXXXXXは好きなホスト名を記述。
“`:ホスト名変更
hostnamectl set-hostname XXXXXXXX
もしくはnmtui
“`
“`:タイムゾーン設定
timedatectl
timedatectl set-timezone Asia/Tokyo
timedatectl
“`
 SELinuxは黙って無効化。
“`:SELinux無効化
getenforce
cat /etc/selinux/config
sed -i -e ‘s/SELINUX=enforcing/SELINUX=disabled/g’ /

元記事を表示

Aurora Serverlessを使ってみた

# 初めまして
初めまして、都内でクラウドエンジニアをやっている平野です。
今回は初投稿として、AuroraServerlessV2を利用してみました。

# 構成
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2193969/91c70f1c-5802-3fae-3819-47fadaf2a9a1.png)
この構成を
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2193969/036ce44c-2cfe-bc60-cdf2-f1ee9b525d1c.png)
こんな感じにします。

# やること
## 1. Zabbixサーバーを停止する
“`
sudo systemctl stop zabbix-server
“`
## 2. Webサーバーも停止する
“`
sudo systemctl stop httpd
sudo systemctl stop php-fpm
“`
#

元記事を表示

EC2からmysqlでRDSに接続する

本記事ではEC2からRDSへPythonを通してアクセスしてみようと思います。
https://dev.mysql.com/doc/connector-python/en/connector-python-installation.html
こちらの記事を参考に進めていきます。
## 前提条件
* Amazon linux
* python3 version=3.7
* MySQLがインストールされている。
## コネクタ/Pythonのインストール
まず次のライブラリをインストールします。
“`
$ pip install mysql-connector-python
“`
次にRDSコンソール上でまずIAMロールを作成します。
https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/UsingWithRDS.IAMDBAuth.Connecting.Python.html
上記サイトを参考にします。
まずIAMデータベース認証の有効化を行います。これはRDSの「変更」から変更できます。
次にデータベースアクセス用

元記事を表示

【備忘録】AWS実装の要点まとめ

# はじめに
この記事はアプリのデプロイの下地となるインフラ構築の`要点`をまとめたものとなります。
実装手順には触れていないのでご了承ください。

# 実装環境
作業環境
 ・macOS Catalina 10.17.5

AWS上環境
 ・`マシンイメージ Amazon Linux 2`
 ・`インスタンスタイプ t2.micro`

# 実装概要図
![AWS アーキテクチャ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/790862/9226d173-372c-d82b-02d5-40d5beeff13a.png)

# 1.VPC
VPCとはVirtual Private Cloudの略であり、その名の通りプライベートなネットワーク空間である。
これを用いることで物理的な世界でいうルーターや機器配線を準備をすることと同等の事が実現できる。
### サブネットの作成
プレフィックス値を`/24`としVPC領域のネットワークを256分割して運用していく
サブネットは2つ作成しそれぞれ`インターネッ

元記事を表示

いろんなことに引っかかりながらAPI Gateway⇔Lambdaを試す

# はじめに
[前回](https://qiita.com/kiii142/items/b25e83d505ca049f3df5)Lambdaを使ってみたので
つぎはAPI Gateway との連携できたらいいよね!と思ってチュートリアルやってみようとしたら
初心者すぎていろんなことに引っかかったという記事です。
丁寧な公式チュートリアルはこちら
+ [API Gateway の開始方法](https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/getting-started.html)

Lambda関数はどうしてもpythonで書きたかったので
公式チュートリアルからはちょっと外れてそこの処理だけpythonで書くこととします。
最初に手順を一通りなぞった後に、私が引っかかったポイントについてまとめていこうと思います。

# 公式のステップに則った手順
## ステップ 1: Lambda 関数を作成する
+ Lambdaのページに行き、「関数の作成」ボタンを押す
+ 「一から作成」を選択。「関数名」に適

元記事を表示

AWS Lambdaのトリガーについて

## Lambdaについて

AWS Lambda(以下Lambda)はサーバレスコンピューティングサービスです。 オペレーティングシステム(以下OS)などのインフラストラクチャの管理が不要で、利用者はプログラムコードを準備し、Lambdaにアップロードするだけで実行できます。

## トリガーとは

トリガーはLambdaを実行するきっかけです、もちろん手動で実行できますが自動で実行も出来ます、それは色々の方法あります。

![Screen Shot 2022-06-16 at 12.26.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878226/9fac04c4-5e90-90b1-d1cd-5dfd0b8826aa.png)

これは普通の作成したlambdaです、画面で左側は「トリガーを追加」オプションがあります、それをクリックすると色々選べます。選べるオプションの中にちょっと説明します。

## s3

S3にファイルが置かれた時に自動でLambdaを実行できます。

設定画面はこちら

元記事を表示

AmazonのURLをひたすらDynamoDBに登録するだけのAPIをLambda Function URLsでつくった

# はじめに
この記事はLambda(Function URLs)とDynamoDBと連携させる内容となっています。
前回の記事の続きとなっているため同様の手順は省略しています。

GoでLambda Function URLs ハンズオン
https://qiita.com/tkhs1121/items/b1e332acdbc50fad8c45

# 環境
MacBook Air M1
開発言語 Go

# 追加で必要なパッケージのインストール
“`
go get -u github.com/aws/aws-sdk-go
“`

# ソースコード
“`main.go
func HandleRequest(ctx context.Context, payload Payload) error {
url, err := parseRequest(payload)
if err != nil {
return err
}
isAmazonURL, err := checkAmazonURL(url)
if err != nil {
return err
}
i

元記事を表示

【AWSのセキュリティ対策】導入しやすい対策をまとめました。

– AWSのセキュリティ対策で簡単に導入できて効果が大きいものをまとめました。
– 完璧ではないけど、一通りのリスクに対応することを目指しています。
– 管理者用のweb(管理画面)の対策は、awsに関係がない対策も書いています。

# awsアカウント, iamユーザーの権限、アクセス制限

### awsアカウントの2段階認証を有効化する。
– [AWS での多要素認証 (MFA) の使用](https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/id_credentials_mfa.html)
– [【AWS】 MFA(2段階認証)の有効化](https://qiita.com/s_Pure/items/76011e67e9a10c7c195c)

### 各awsアカウントには最小限の権限を付与する。
– [最小権限実現への4ステップアプローチ 前編](https://aws.amazon.com/jp/blogs/news/systematic-approach-for-least-privileges-jp/)

###

元記事を表示

Neptune MLのQuickStartを動かすために必要な事前準備

Neptune MLをちょっと試してみたいなと思ってドキュメントを見ているとQuickStartのページにCloudFormationが置かれています。
https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/machine-learning-quick-start.html

ここを一通り触ってみたら概要掴めるかなと試してみたのですが、色々なところで躓いたのでその時の作業メモです。
ML系を試すにはQuickStartでもそれなりにリソースを要求されるのですが、自分の勉強用に新しく立ち上げたAWSアカウントだとサービスクォータがかなり小さく設定されている場合があり、上限緩和申請を出さないと先に進めない場面が何度かありました。
“`
CFnスタックを作成してインスタンスを起動する
→ 少し試す
→ 上限エラー
→ 上限緩和申請を出して適用されるまで一旦スタックを削除
→ 再トライ
“`
というフローを何度か繰り返したので結構心が折れそうでしたね。。

NeptuneのDBインスタンスもSageMakerのNot

元記事を表示

OTHERカテゴリの最新記事