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

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

入門 AWS CloudFormation #1(EC2編)

インフラやクラウドの専門というわけではないのですがそろそろIaC周りもちゃんと勉強しておきたい・・・という感じなのでAWSのCloudFormationについて入門しつつ復習として記事にまとめておきます。

なお、会社としてはほぼAWSで統一されている点と社内のクラウドなどに詳しい方々もCloudFormationを使われていたので相談のしやすさなどを加味しTerraformではなくCloudFormationを選択しています。その辺りはユースケースに合っていれば特にこだわりはありません。

※とりあえず最初ということでEC2を絡めてごく基本的なところの記事を書いていきます。将来もしかしたら2記事目以降を執筆して追加のEC2関係や他の様々なサービスや機能などにも触れていくかもしれません。

# 注意事項

本記事の処理を動かすとEC2関係などで色々と追加になったり起動したりします。その辺はリソースの停止や削除などをしないとお金がかかったりしてくる可能性があるためご注意ください。

# 触れること

– CloudFormationの概要
– YAMLの復習
– CloudFormati

元記事を表示

8年振りに機種変したら、MFAデバイスの登録が出来なくなった件

## 結論
1. MFAデバイスの新規登録が出来ない?と思ったら、MFAデバイスの名前にユーザー名を登録してみよう。
1. 上手く登録出来たら管理者に教えてあげよう。

## 現象
昨日、8年振りに携帯電話を機種変し、意気揚々と新品のiPhone13miniをAWSのMFAデバイスとして登録しようとしたら、こんなエラー画面が出ました。
![image1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/656547/c4a9d990-52d7-ff96-c272-546195042017.png)

「あれ?アクセス許可って無かったっけ?」と思いながら、管理者に画面ショットを送り、連絡する。
年末の慌ただしい中、管理者も迷惑だろうなと思いながら返事を待つと、
「許可設定はされてます。(あらためて)確認いただきたく。」
との返事。
もう一度試してみたがダメだった。フム。。

## 原因 2022年11月16日以降のアップデートで、複数のMFAデバイスの登録が可能となったから。
エラーメッセージを読むと、「必要

元記事を表示

AWS TimestreamのtimeカラムをLambdaでJSTに変換する際のTips

# 問題
Timestreamにて“`time“`カラムが下記のように“`タイムゾーン無し&文字列“`として出力される場合があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/342722/d7f9fc4f-e0fa-2736-f51a-c3b3d9380dc2.png)

Lambdaで時間処理を行う場合、文字列では不便ですのでJSTに変換しなければなりません。
ですが、単純に“`str → date“`では変換できない事象が発生しましたので共有したいと思います。
できれば、レイヤーも追加せず簡単に行う方法かつ、python3.9に合うモダンな方法にしたい。

# 解決策
そのままの状態では、dateフォーマットに合わないことがわかりました。
最初に文字列として取得できるので、**末尾の桁数を調整**することでやや力技ですが解決できました。

“`python
from datetime import datetime
from zoneinfo impor

元記事を表示

S3: ファイルのアップロードやダウンロードと考慮事項

# 背景
S3 にファイルアップロードが必要になったので、調べた記録

# 利用例

## 前提
“`typescript: client
import { GetObjectCommand, PutObjectCommand, ListBucketsCommand, ListObjectsCommand, ListObjectsV2Command, S3Client } from “@aws-sdk/client-s3”;

const REGION = “ap-northeast-1”;
const clientConfig = {
region: REGION,
// for Proxy
// requestHandler: new NodeHttpHandler({
// httpAgent: httpsAgent,
// httpsAgent: httpsAgent
// })
}
const s3Client = new S3Client(clientConfig);
const BucketName = “

元記事を表示

【初心者向け】3分で読めるAWS

# はじめに
以下の読者を想定して作成しました。

– 駆け出しエンジニア
– AWS に興味がある
– さらっと AWS の概要が知りたい。

# この記事でわかること
– AWS の概要
– AWS の特徴
– AWS を使うメリット

# AWS とは

AWS (Amazon Web Services) は、Amazon.comが提供するクラウドコンピューティングサービスです。
クラウドコンピューティングとは、インターネットを介して、
– コンピューター
– サーバー
– ストレージ
– データベース
– ネットワーク
– アプリケーション
などのサービスを利用することを指します。

# 特徴
AWSを利用することで
企業または個人が
– インフラやサービスの構築
– アプリケーションを実行するための必要なハードウェアやソフトウェアの用意
が簡単または必要なくなります。

また、必要なリソースを必要なときに必要なだけ利用できます。**(従量課金制)**

そして、AWSでは異なるニーズに対応したサービスが用意されています。

例えば
– EC2 (Elastic Comp

元記事を表示

AWS Lambdaを使おうとした時の初期設定をメモ書き

自分のメモ書きとして投稿します。

## 経緯

スクレイピングをサーバーサイドで実施したいと思い調べたところ、AWS Lambdaを使うことで、特にサーバーを用意することなく実現できるのではという考えに至った為です。(実際に実現できるかは不明)

## 環境

* Windows10
* Docker Desktop
(未熟者過ぎて他何書けば良いか分かりません)

## 参考サイト

* 全般の流れ
https://zenn.dev/445/articles/29aff4c8ce2e01

* AWSをPowershellから使うための初期導入
https://yoshinorin.net/articles/2018/08/19/aws-tools-for-windows/

* AWSをPowershellから使うための導入後~接続
https://blog.shibata.tech/entry/2018/09/20/185257

* 上記接続時のアクセスキー等の取得
https://docs.aws.amazon.com/ja_jp/powershell/latest/use

元記事を表示

AWS SDK V3 のDynamoDBで、いくつか動作確認した話(AWS SDK V2 → V3 移行Tips)

# はじめに

https://qiita.com/Syoji_Yonemoto/items/e619d8199b7c8354248f

V3移行の動作確認の初手に、Firehoseを選んだせいかもしれないですが、V2で使ってたメソッドの互換があるか保証がないことが分かったので、普段、Lambdaで利用するAPIについては一通り、動作確認をしていっています。

今回は、DynamoDB編です。

# 結論

DynamoDBに関しては、私が普段使うメソッド群については、問題ありませんでした。

# V2 と同じ使い方で問題なく動作確認できたメソッド

+ putItem
+ batchGetItem
+ query
+ updateItem
+ updateTable

# 余談
性能試験や、TTL未実装の時などには、createTableやdeleteTableも実行していた時もありましたが、日常的に使う物でもなく、その時がきたら追試をします。

# まとめ
DynamoDBくらい主要どころになると、しっかり下位互換もされているようです。
引き続き、小ネタシリーズとして、

元記事を表示

VPCピアリングとNATゲートウェイが混在する環境でハマった件

AWSを触っていてめちゃくちゃハマったところをまとめました。
エンジニア初心者だからこそ、気づきにくい部分多かったです。
何かしらの参考になれば!!!

# 結論:VPCピアリングとNATゲートウェイがある環境で、パブリックサブネットのルートテーブルにインターネットゲートウェイとピアリングのルート、プライベートサブネットのルートテーブルにNATゲートウェイのルートしかない場合、プライベートサブネットから他VPCへ行く通信はNATゲートウェイを通る

まず下記のような構成は珍しくないと思います。
![スクリーンショット 2022-12-26 18.10.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/878032/d5043af0-7b5b-83b6-3788-2278f85390ba.png)
全てのルートテーブルにピアリングのルートがあるパターンです。
ピアリングにルートがある場合、直接的にVPC間の通信が行われます。

しかし、下記のような構成ならどのように通信するのでしょうか?
![スクリー

元記事を表示

【形態素解析】AWS ComprehendやGoogle Natural Language APIで「進撃の巨人」を固有名詞に判定できるか?

# 概要
## やりたいこと
この記事は、AWSとGoogleの自然言語処理サービスにおける、
固有名詞(新語)の判定能力を確かめた記録です。

具体的には、
`私の好きなアニメはドラゴンボールと幽遊白書と進撃の巨人とハウルの動く城と千と千尋の神隠しです。好きなタレントは平野紫耀です。`
といったような文章から、
– ドラゴンボール
– 幽遊白書
– 進撃の巨人
– ハウルの動く城
– 千と千尋の神隠し
– 平野紫耀

といった固有名詞を抽出できるか?を確認しました。
検証したサービスは、
– AWS Comprehend
– Google Natural Language API
– (比較用)Mecab+Neologd辞書
になります。

## 結果
AWS Comprehend も、Google Natural Language APIでも、上記の一部の固有名詞を抽出できませんでした。
Mecab+Neologdはほぼ完璧な判定結果を得られましたが、Neologdの更新が止まっているため、
今後は判定精度は低下していくと思われます。

# AWS Comprehendの様子
A

元記事を表示

AWS Amazon RDSのバージョンアップにBlue/Greenデプロイ機能を使ってみた

## 内容

RDS AuroraのMySQLのバージョンをAurora2(MySQL5.7) ⇒ Aurora3(MySQL8.0)にアップデートする際、先日のre:Invent 2022で発表された「RDSのBlue/Greenデプロイ」という新しい機能を使用してみました。
今回その手順と、詰まったポイントをまとめていきたいと思います。
添付画像の網掛けが多い点はご容赦ください。

## 目次
– [Blue/Greenデプロイの概要](#bluegreenデプロイの概要)
– [手順](#手順)
– [スナップショットを取得](#スナップショットを取得)
– [Blue/Greenデプロイの作成](#bluegreenデプロイの作成)
– [GreenのDBに変更を加える](#greenのdbに変更を加える)
– [変更を加えたgreenのdbをテスト](#変更を加えたgreenのdbをテスト)
– [GreenをBlueに切り替え](#greenをblueに切り替え)
– [完了](#完了)
– [後始末](#後始末)

元記事を表示

使ってないセキュリティグループを削除したいときに役立つTips

# はじめに
AWSで開発をしていると、いつの間にか大量のセキュリティグループが出来てしまっていることってありませんか?
新規でリソースを作る際に「一旦検証だからいいや」とかの理由で既存のセキュリティグループを選択せず、同じような設定のものが増殖していくアレです。

開発が落ち着いたタイミングでいざリソース整理をする際にどれを使っていて、どれを使っていないのかがコンソールからはパッと見てわからないのでawsコマンドとシェルスクリプトを使った抽出方法を紹介します。

# 環境
* macOS Monterey
* MacBook Pro
* チップ Apple M1 Pro
* メモリ 32GB

# 前提
* aws コマンドインストールされていること

# 抽出方法についての考え方
冒頭にも書きましたがセキュリティグループはどのリソースにアタッチしているのかがコンソールからはわかりません。
しかし、***使用しているセキュリティグループ***は基本的に1つ以上のENI(ネットワークインターフェース)と関連付きます。
つまり、セキュリティグループの一覧とENIの一覧を照らし合わせること

元記事を表示

AWSのAIサービスを整理してみた

# 背景・目的
AWSの機械学習サービスに、どのようなものがあるかわかっていないので全体像を整理したいと思います。

# まとめ
| AIサービス | 概要 | ユースケース/利点 |
|:— |:— |:— |
| [Amazon Augmented AI(Amazon A2I)](https://aws.amazon.com/jp/augmented-ai/) | 人によるレビューに必要なワークフローを簡単に構築できる機械学習サービス |**ヘルスケア**
医療保険請求書、問診票、処方箋、その他多くの医療関係書類には、大切な情報が記載され、その情報を迅速かつ正確に抽出する必要がある。

Amazon A2I と Amazon Textract を使用すると、そういった文書を処理し、データを抽出し、重要なデータを人がレビューできる。これにより、文書処理の時間とコストを節約し、機微なデータや機密データまたは監査予測を人が継続的にレビューすることが可能。|
| [Amazon CodeGuru](https://aws.amazon.com/jp/cod

元記事を表示

DynamoDBのデータ一括変更が難しい件

# はじめに
今回の見出しに至った経緯として、業務内でDynamoDBに存在するテーブルに対して、
ある値を持ったデータのみにカラムを追加する必要があった。
# 本題
大量実行する際、BatchWriteItemという処理を用いることで多少早くなる模様。
しかし、最大25個まで、サイズ制限は全体で1MB。
処理としては削除と登録のみになる。

調べた限りDynamoDBには大量実行する方法として、BatchWriteItemしか存在しなかった。
更新処理がないとすると、
地道に対象のデータ件数分、主キーで条件指定し、更新していくしかないと思われる。

元記事を表示

AWS SSM RunCommandを利用してlambdaからEC2インスタンスを操作する

# 目標
オートスケールで動かしているEC2インスタンス全てに対してLambda関数を実行することで、SSM RunCommand経由でコマンドを実行する

# ドキュメント
https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/ssm.html

# lambda関数の作成
ランタイム: Python3.9
アーキテクチャ: x86_64

# コード
“`
import boto3
def lambda_handler(event, context):
boto3.client(‘ssm’).send_command(
Targets=[{‘Key’:’tag:Name’, ‘Values’: [‘ssm-test’]}],
Parameters={
‘commands’:[
‘touch test.txt’
],
},
Documen

元記事を表示

クリスマスイブにAWS SAPを受けたんですよね。

# 初めに
クリスマスイブに`AWS Certified Solutions Architect – Professionalonal` を受験してきました。
2年半前にSAAを取得、その後はAWSにかかわる業務は全くなく、転職を機にAWSに触れることが多くなったので、自己研鑽のためにSAP受験を決めました。

会社でSAP取ります宣言をしたのに、準備が遅くなりすぎてこんな日に試験を受けることになったのです。

この記事は、受けると決めてから試験までの記録です。

## 2022年内に受験することを決意
今年の8月末ごろでしたか、SAPの受験を決めました。
背景としてはこんな感じ
– SAAの期限が2023年の春先で切れるやん
– AWSを業務で使うようになったし、がっつりキャッチアップしないとやばい
– ずっとprofessional資格は欲しいと思っていた

こんな感じで受験を決めたわけですが、
**AWSの進化+SAA取ってからAWSにあまり触れていなかった期間+危機感のなさ**
により、かなりしんどい道のりを歩むことになりました。。。

## 8月~11月前半
このころはまだ状

元記事を表示

Stripe WebhookイベントのデータをKinesisのCosumer(Lambda)で受け取り、何らかのデータ更新をする

## はじめに

本記事では、以下の図のようにStripeのWebhookをAPI Gateway→Lambda→Kinesisという構成で、API GatewayでWebhookを受け取り、それをKinesis Data Streamに流す、というイベント駆動の処理で、Kinesisに流れたデータを受け取り、何らかのデータ更新を行うサーバレスアプリケーション、具体的にはStripeのデータを更新するConsumer(Lambda)を開発してみたいと思う。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1372684/5ea06a37-dc64-3948-3eeb-e989848c1e6b.png)

※上記の構成のメリットとして、KinesisのConsumer(データを受け取る側)を複数配置する事ができるので、マイクロサービスが複数あればそれぞれのマイクロサービスに関連する処理を別のサーバーレスアプリケーションを開発可能である、というのがあるだろう(図中の`Lambda→RDS Pr

元記事を表示

Amazon Redshift のパフォーマンスチューニング 十ヶ条

Amazon Redshift は Serverless版もGAされ、さらにATO:Automatic Table Optimization(自動テーブル最適化)など従来からある Provisioned版含めてパフォーマンスチューニングがどんどん自動化されてきている。

一方で、実運用では高負荷など使い方によって問題が全く起こらないことは考えにくく、困った時にチューニングの余地があることはメリットでもある。

以下の公式ブログの Tips をもとに困った時のチューニング対処ポイントをまとめる
※ 記事は 2020年 のものなので、その後新機能でカバーできる点や、主観的な考えについて適宜補足しています。

https://aws.amazon.com/jp/blogs/big-data/top-10-performance-tuning-techniques-for-amazon-redshift/

# [1] マテリアライズドビューを使う
– 予測可能で何度も繰り返されるクエリに特に効果を発揮する
– 内部テーブルだけでなく、外部テーブル(Spectrumやフェデレーション)にも使え

元記事を表示

CJ Moses’ Security Predictions for 2023 and Beyondを斜め読みしながら、来年のAWSセキュリティを考えてみた

# はじめに
面白そうなe-Bookが公開されていたので、朝の英語の勉強がてらに流し読みしつつ、簡単な感想文を書いてみました。
https://aws.amazon.com/jp/blogs/security/new-ebook-cj-moses-security-predictions-in-2023-and-beyond/

メモ書き感覚で書いたため、齟齬などあるかもですが、何かあればコメントいただければ!

# 各章ごとの考察
## PREDICTION 1 – Security Will Be Integral to Everything Organizations Do
ここでは、文字どおり組織という意味でOrganizationsを使われていますが、組織単位でのガバナンスを効かせる機能を包含したAWS Organizationsの利活用が2023年は加速しそうです。
2022年は、弊社アイレットを含む、日本のクラウドインテグレーター各社からAWS Organizationsをお客様にてご利用いただけるサービスが提供されました。これにより、今後、より複数のアカウントを統合

元記事を表示

Cloud9でAWS Amplifyの公式チュートリアルGetting startedをやってみる

# 概要

タイトルの通りですが、AWSのCloud9でAmplifyのチュートリアルをやってみたので、その内容・手順を投稿します。
Amplifyとは何者か?わかっていなかったのですが、このチュートリアルを通して概要が理解できたため、公式のチュートリアルは**さすが良質な教材**でした。

具体的には以下を実施します。

https://docs.amplify.aws/start/q/integration/react/

このチュートリアルでは「**Todoアプリ**」を作成します。
Todoアプリを通して、Amplifyでの**ユーザー認証**、バックエンドにある**DynamoDB**に**GraphQL API**を使用し、アイテムを保存および取得することが出来るようになります。

チュートリアルでの使用するプログラミング言語はいくつか用意させれているようですが、本投稿では**React**を選択してします。

作業時間**1時間**ほどで実施できます。最終的には以下の「Todoアプリ」が出来上がります。

【Todoアプリ】
![image.png](https://qi

元記事を表示

【AWS認定】最短で合格するための勉強法

# はじめに
以下に紹介するサイトを~~丸暗記~~学習することで、最短の学習時間でAWS認定試験に合格することができるでしょう。

※得た知識が業務で役立つ保証はありません。
※筆者は以下何れのサイトとの関連もありません。
※以下サイトを使用したことで如何なる不利益が生じた場合でも筆者は責任を負いかねます。

# 学習サイト
## [Tech Stock](https://techstock.jp/)(旧 AWS WEB問題集で学習しよう(koiwaclub))

日本でのAWS認定学習における非公式問題集の中ではおそらく一番有名なサイトです。
2022年12月現在、プランは2つです。レベルに応じて購入しましょう。

#### ベーシックプラン(4,480円/月)
– CLF, SAA, DVA, SOAの学習が可能
– SAAであれば、現在1,162問(7問 × 166セクション)あります
おそらくこれだけやれば合格できるでしょうが、これだけだと不合格だったという声も稀にあるため不安な方は他のサイトでも学習しましょう

#### プロフェッショナルプラン(5,480円/月)
– 上

元記事を表示

OTHERカテゴリの最新記事