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

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

Systems Managerでベストプラクティス構成のPlaybook運用する場合に注意すること

# はじめに
以前から気になっていた`Systems Manager`からの`Ansible Playbook`実行ですが、今回実際に自分で試してみた結論として、注意しないといけないことを書こうと思います。

– [AWS Systems Manager で複雑な Ansible のプレイブックを実行可能に](https://aws.amazon.com/jp/about-aws/whats-new/2019/09/now-use-aws-systems-manager-to-execute-complex-ansible-playbooks/)

今回の記事を読むにあたり、以下の記事の内容が前提となるため、一読して頂けると幸いです。

– 【参考1】[Amazon S3からのスクリプトの実行をやってみた。](https://qiita.com/sakai00kou/items/326a36fbdea10a6b2da8)
– 【参考2】[SSM Agentの実行スクリプトを削除する方法](https://qiita.com/sakai00kou/items/f6e04760783b80

元記事を表示

AWS Smart Territory FrameworkでFIWAREを試してみた(その1:ブローカー)

2022年の9/14〜15に行われた[FIWARE Global Summit](https://www.fiware.org/global-summit/)でも[触れられていました](https://mobile.twitter.com/HSundmaeker/status/1569975037762965505)が、[AWS](https://aws.amazon.com/)がFIWARE Foundationにjoinし、smartな都市の開発で協力していくとの方針が2022/7/12に[発表](https://www.fiware.org/news/fiware-foundation-and-aws-join-forces-to-develop-digital-cities/)されています。

その一環として、AWSから[aws-stf](https://github.com/aws-samples/aws-stf)が公開されました。このSTF(Smart Territory Framework)はAWS上にFIWAREのエコシステムを構築するためのツールキットであり、[AWS

元記事を表示

AWS LambdaにリクエストしたらNo ‘Access-Control-Allow-Origin’ header is present on the requested resourceのエラーがでた.

LambdaにAPI Gatewayを通して,リクエストしたところ
Access to XMLHttpRequest at ‘<リクエストURL>‘ from origin ‘<オリジン名>‘ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource.
のエラーが出ました.

CORSの設定をしていたのに,このようなエラーが出ました.
また,通信が成功するときもありました.

## 原因
Lambdaの実行時間制限が少ないことが原因でした.
以下,Lambdaのコンソール画面にあるtimeoutが実行時間制限です.
![Screenshot 2022-09-19 082333.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2599663/74753c9e-c781-40b7-8b7b-360e424f2f61.png)

デフォルト値の3se

元記事を表示

【2022年版】Amazon EC2 ベストプラクティス

# はじめに
以下の記事で紹介したように、**EC2**は**AWS上にOS付きの仮想マシン(VM)を作成**できるサービスであり、**多種多様なサーバー用途に**広く用いられています。

https://qiita.com/c60evaporator/items/06aa523c470d52782c7b

**EC2の利点**としては、オンプレサーバと比べて「環境構築、管理の手間が減らせること」、FargateやLambdaのようなサーバーレスサービスと比べて「**自由度が高い**」等が挙げられますが、自由度が高いゆえに**自己流の活用法でも何とかなって**しまい、

「**適切に活用できているか自信がない…**」

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/610167/07fc3a48-302f-cd25-6003-3bac4270f81c.png)

といった方も多いかと思います。
そのような方のために、以下の**公式ベストプラクティス**が準備されています。

https:

元記事を表示

【AWS】Lambdaコンテナイメージ利用に対する覚え書き

## はじめに

機械学習用のライブラリを利用したAPIをLambdaで構築しようとした場合など、
デプロイパッケージサイズ制限(250MB)により利用できないケースがあります。

その場合の対応方法としてコンテナイメージをLambdaで利用できるようになっていますが、
実際にLambdaコンテナイメージを使って構築/動作確認するまでに結構ハマったところがあるのでdockerfile作成からAmazon ECRへのプッシュまでを本記事にまとめます。同じくハマっているひとの参考になればと。

※リポジトリの作成等の操作はSKIPしています

***

## 環境

Windows 10 Pro (WSL2を利用)
Docker v20.10.17

## 目次

1. dockerfileを用意する(例としてPythonが動作するコンテナを作成)
2. dockerでコンテナを作成する
3. 作成したコンテナをAmazon ECRにプッシュする
4. ハマったところ

### 1. dockerfileを用意する

“`dockerfile:dockerfile
#

元記事を表示

ソリューションアーキテクト対策_ElactiCache篇

## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:

## ElastiCacheのMemchashedとRedisの違い
### Memchached
・マルチスレッドで動作する
・CPUのコア数を上げるとパフォーマンスも上がる
・キーとバリューをシンプルな1:1で組み合わせて保存する

シンプルでメモリの使用効率というパフォーマンスの観点で優れている。

### Redis
・シングルスレッドで動作する
・snapshotベースでのバックアップ、リストアに対応
・マスターと複数のスレーブのクラスター構成により、負荷分散が可能
・クラスターモードについては、有効/無効を選ぶことができる

メモリ上のデータをディスクに保存することで、データを消失せずに済む。
Memchashedに比べて、pub/sub機能があったり、自動的なフェイルオーバーができたり、キーストアの永続性が必要であったりと、バックアップと復元性に優れている。

## おわりに
Elastic系使ったことが無いので難しい…!
引き続き

元記事を表示

EC2のインスタンスタイプに応じてpostgresql.confを変更する

# インスタンスタイプを変更したときにPostgreSQLのDB設定も変更したい
PostgreSQLをAWS RDSではなくAWS EC2上で動かすとき、インスタンスタイプに応じてDB設定(postgresql.conf)を変えたいことがある。
例えば低スペックで良いときはt3.mediumで、高スペックが必要なときはr5a.xlargeで、というようなときである。
このときDB側もshared_buffersやwork_memといったメモリ関連のパラメータをインスタンスのメモリ容量に合わせて変更したいときどうすれば良いか。

インスタンスタイプ(メモリ容量)に応じてpostgresql.confを用意しておき、サービス起動時にインスタンスタイプを確認して読み込むpostgresql.confを選択する、という方法がある。
下記にその方法について書いておく。

# インスタンスタイプを確認し、DB起動時にpostgresql.confを指定する
手順としてDBはEC2インスタンス起動時にsystemdのサービスファイルによって自動起動されることを想定している。

## DB起動用のシ

元記事を表示

【S3Select】列名がないCSVファイルの調べ方【Tips】

# S3 SelectでRawデータを調べる
AWSのストレージサービスS3(Simple Storage Service)https://aws.amazon.com/jp/s3/
コスト面から利用企業の多いサービスであるS3。蓄積されたCSVファイルに対して調査を行えるのが、S3Selectである。
本記事は業務でS3Selectを利用する上でのRawデータ調査のTipsを紹介する。
早急に解決したい方は[解決](#解決)へ

*目次*
|No|ページ内リンク|
|:-:|:-:|
|1|[背景](#背景)|
|2|[課題](#課題)|
|3|[解決](#解決)|
|4|[注意](#注意)|

## 背景
S3にあるファイルはテーブルではなくCSVファイルである。データの中身の確認をするにはダウンロードするしか無いように思われる。
(あるいはRedshiftやAthenaなど別サービスにデータをロードし、確認)
しかし、大きなファイルをダウンロードして確認するのは非効率であるし、ローカルにデータを持つのはセキュリティ上制限される場合もある。
そこでS3Selectを利用して、SQL

元記事を表示

ソリューションアーキテクト対策_RDS篇

## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:

## RDS
### RDSのセキュリティ保護について
データベースの暗号化は、データベースの作成時に行うことができる。

・暗号化の対象
DBインスタンス、自動バックアップ、リードレプリカ、スナップショット

・暗号化方式
AES-256、AWS KMSによる鍵管理
インスタンス作成時にのみ暗号化が可能
スナップショットのコピーの暗号化/リストアが可能

ちなみにDBのリストアとはバックアップしていたスナップショットを突っ込んだり、複製したりの意味。

### RDSのリードレプリカについて
RDSは最大5個のリードレプリカを作成して、読み取り処理の負荷を分散させることができる。
それにより、RDSインスタンスのスケールアップを実施することなくコスト最適な対応が可能。

・ちなみにRDSのレプリケーションとは
複製(レプリカ)を作ること。
マスターのデータベースと同じ内容のデータベースを作成するため、負荷分散やホットスタンバイとしての利用が

元記事を表示

ソリューションアーキテクト対策_SGとNWACL篇

## はじめに
試験勉強した際のメモを自分用に記事化。
内容は公式やBlack Beltの写経ですので目新しいことはありません:pray:

## セキュリティグループとネットワークACLsの相違点
### セキュリティグループ
・サーバー単位で適用
・ステートフル(インバウンドのみ設定すればアウトバウンドも許可される)
・許可のみをIn/Outで指定
・デフォルトでは同じセキュリティグループ内通信のみ許可
・全てのルールを適用

### ネットワークACLs
・VPC/サブネット単位で適用
・ステートレス:インバウンド設定だけではアウトバウンドは許可されない
・許可と拒否をIn/Outで指定
・デフォルトでは全ての通信を許可する設定
・番号の順序通りに適用

## デフォルトのセキュリティグループの特徴
・セキュリティグループ外からのインバウンドの通信は全て拒否
・同一セキュリティグループ内からのアウトバウンドの通信は全て拒否
・同一セキュリティグループ内での双方向の通信は全て許可

## おわりに
引き続き追記します!

簡単ですが以上です。

元記事を表示

初学者向けに AWS CLI のタブ補完の有効化手順を、かみ砕いて書いてみる(WindowsとLinuxどっちも)

AWS CLIのタブ補完を有効化する手順はドキュメントに記載されていますが、初学者にはちょっと難しそうだなあと思いました
自分の勉強のためにも、コマンドの意味も補足しながらかみ砕いた手順を記載します

※AWS公式ドキュメントでは「コマンド補完」と記載されていますが、個人的には「タブ補完」のほうがなじみあるため、この記事では「タブ補完」と記載します

https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-configure-completion.html

# Linuxの場合の手順

## パスにAWSコンプリータがあることを確認(なければ追加)

AWS公式ドキュメントに記載されている以下のコマンドによって、AWSコンプリータがパスにあるかどうかを確認できます
“`
$ which aws_completer
/usr/local/bin/aws_completer
“`

:::note
– `which`コマンドを使うことで、コマンドの実体がどこにあるのかを調べることができます。要するに、`which

元記事を表示

AWSを用いて構築したスケーラブルウェブサイトのパフォーマンス測定

## 詳細
WebPageTest(https://www.webpagetest.org/) というツールを用いて,AWSを用いて構築したスケーラブルウェブサイト(http://aws-wordpress.tk/) のパフォーマンスを測定を行う.Advanced ConfigurationからTest LocationやBrowserを選択できる.今回は,BrowserをChromeで固定し,日本(Tokyo),イギリス(ロンドン),カナダ(トロント)の3か国で行う.なお,他の詳細設定はデフォルトで行う.

## 日本(東京)
最初の1バイトが到着するまでの時間(First Byte) : **0.741s**
空白ページからコンテンツが初めて表示されるまでの時間(Start Render) : **1.400s**
ブラウザーが DOM からコンテンツの最初のビットをレンダリングし、ページが実際読み込み中というユーザーへの最初のフィードバックがなされる時間(FCP):**1.434s**
ファーストビューが見えるまでにかかった時間(Speed Index) : **1.498s**

元記事を表示

【深層学習】TabBERTモデルによるクレジットカードの不正利用検知 ~環境構築・事前学習編~

# はじめに
※こちらは、8月に投稿した記事にコード解説の項目を加筆して再投稿したものとなります。以前の記事よりマシになっているはずなので、もう一度読んでいただけると幸いです。

今まで主にスマホアプリ開発をしていたのですが、2022年8月からAI関連の案件に携わっており、BERTという自然言語処理モデルについて勉強しています。

最近は、多変量の時系列表データの学習に使用する、TabBERT(Hierarchical Tabular BERT)というBERTの応用モデルに関する論文を読みました(Qiitaにも紹介記事を書きました)。

https://arxiv.org/abs/2011.01843

https://qiita.com/suzuki0430/items/90fa6e2776afc24b2e77

この論文、なんとありがたいことに、著者が事前学習のコードとデータをGitHubにあげています。

https://github.com/IBM/TabFormer

環境構築やモデル学習の経験を積むことで理解をさらに深められると思い、こちらのコードをいろいろ触ってみることに

元記事を表示

AWS実務未経験からSAAに3週間で合格するまで

## はじめに
2022年5月、AWS認定ソリューションアーキテクト―アソシエイト(SAA-C02)に3週間で合格することができました。
その時の学習方法を記録として残します。

:::note warn
2022年8月30日からは新試験(SAA-C03)となっています。
:::

## 事前知識
・2021年10月にAWS認定クラウドプラクティショナー合格済
・AWS実務経験なし

## 結果
767点という結果でした。
720点以上が合格なので余裕というわけではありませんでした。

## 使用した教材
・参考書
 [AWS認定資格試験テキスト AWS認定ソリューションアーキテクト – アソシエイト 改訂第2版](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%BD%E3%83%AA%E3%83%A5%E3%83%BC%E3%82%B7%E3

元記事を表示

Aurora Serverless v2のスケールアップ・スケールダウンをスケジューリングする

## Aurora Serverless v2
Aurora Serverless v2は、AWSマネージドな新しいDBインスタンスです。
Aurora Serverless v2ではインスタンスタイプではなくACU(Aurora Capacity Unit)と呼ばれる値を設定し、性能を決定します。その際、ACUの最小値と最大値を設定することができ、DBの負荷に応じてこの範囲内で自動的にスケールアップ/ダウンすることが特徴です。
詳しくは[公式リファレンス](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2.how-it-works.html?#aurora-serverless-v2.how-it-works.capacity)をご確認ください。

このようにAurora Serverless v2は負荷に応じてスケールする機能がありますが、スケールアップする速度はその時点でのACUによって決まります。したがって、スパイクが予測できる場合、あらかじめACUをあ

元記事を表示

AWS SAM Pipelineで、二つのアカウントを横断してデプロイ

# はじめに
「テストのアカウントで一度デプロイしてから、本番アカウントにデプロイ」というCI/CDパイプラインの構築を、SAM Pipelineのテンプレートでやってみましたので記事にしました。

# 参考

https://aws.amazon.com/jp/builders-flash/202110/new-lambda-container-development-6/?awsf.filter-name=*all

# イメージ図
1. CodeCommitにPUSH
1. それをトリガーに、パイプラインが実行
1. Test側アカウントでCodeBuildによってデプロイ等が実行
1. AWS SAMによってLambdaを生成
1. Test側アカウントのデプロイが成功すれば、Prod側アカウントにもデプロイ

大まか以下のような構成と思われます(厳密には違うかもしれません)。

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

元記事を表示

Amazon Polly とは

## 勉強前イメージ

polly、slackで見たことある
あれ一緒?

## 調査

### Amazon Polly とは

テキストを音声スピーチに変えてくれるAWSのサービスになります。
現在では、英語や日本語など33種類提供されていて、アメリカ英語やイギリス英語など細分化されているのが特徴です。
またこのAIもすでに事前トレーニング済みのものになります。

また、読み上げのエンジンが以下の2つ用意されています。

– スタンダード
– ニューラル

ニューラルはニューラルTTS(NTTS)とも呼ばれ、スタンダードより高音質で音声を生成でき人間のような自然な読み上げ音声になります。

現在日本語は女性はMizukiで、男性はTakumiという音声が再生でき
男性はニューラルも存在します。

費用としては従量課金制で、
最初の12ヶ月は500万字/月まで無料、それ移行は100万字あたり4.00USD/月になります。

## 勉強後イメージ

slackのpolly全く関係なかったw
音声にしてくれるサービスらしい。

## 参考

– [入力したテキストを音声に変換するAWS「

元記事を表示

【AWS】RDSの可用性設定をAWS CLIで変更してみた

# ・概要

RDSの可用性設定は以下2種類があります。
 シングルAZ構成
 マルチAZ構成

可用性設定はRDSマネジメントコンソール上で変更することができます。
https://zenn.dev/mn87/articles/668d1df1c2f9d2

また、AWS CLIの「modify-db-instance」で可用性設定を変更することも可能です。
https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html

マネジメントコンソールから可用性設定を変更する方法が記載された記事はいくつかありますが、AWS CLIを使った可用性設定変更の記事はあまりないので、そっちのナレッジを増やすべく、実際に検証・記事にしました。
以下では、AWS CLIによる可用性設定変更方法を記載しますが、本記事では以下2パターンの方法を記載します。
 ・シングルAZ→マルチAZに変更
 ・マルチAZ→シングルAZに変更

# AWS CLIによるRDS可用性設定変更方法

## ・使用するコマンド

modi

元記事を表示

KotlinでSQS(ElasticMQ)を使ってみた

# 経緯
業務でSQSを使う必要が出てきて、調査・検証した結果意外とややこしいことがわかったので備忘録として残そうと思います。

[確認用のリポジトリ](確認用のリポジトリ)

## ElasticMQ

とりあえず、ローカルで検証をおこなうためにSQSと互換のあるElastcMQを使います。
[ElasticMQ](https://github.com/softwaremill/elasticmq)
docker-composeはこんな感じ。

“` yml:docker-compose.yml
version: “3”
services:
elasticmq:
container_name: elasticmq
image: softwaremill/elasticmq-native
volumes:
# 設定ファイル
– ./elasticmq/custom.conf://opt/elasticmq.conf:ro
ports:
– “9324:9324”
– “9325:9325”
“`

元記事を表示

【AWS】 EC2にSSHで接続できたときのおはなし

![Uploading-amico.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1051129/21b3848a-f058-ffb4-3e05-151517b8195f.png)

### はじめに
今回の記事をかいたきっかけ
– 個人開発で触れたときからEC2接続がうまくいかないときが多かった。
– 案件で必要になり試行錯誤してようやく流れるようにできるようになったのでメモです。

※個人情報は***などで消してあります。

※今回はアカウント作成者から送ってもらった情報をもとに接続するため、アカウントの作成やキーペアの取得を知りたい方は[公式サイト](https://aws.amazon.com/jp/ec2/getting-started/)のチュートリアルまたは検索することをおすすめします(本当は公式が良いですが所見だとわかりにくい部分もあるかと思います)。

https://aws.amazon.com/jp/ec2/getting-started/

### 今回接続するために共有した必要

元記事を表示

OTHERカテゴリの最新記事