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

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

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

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

## Route53
### エイリアスレコードとは
エイリアスレコードはAWS内(Zone)でのみ使えるAレコード。
CNAMEとほぼ同等の動きをするが、エイリアスの方がAWSのサービスと親和性が高かったりするのでメリットが多い。
以下が詳しいので読むべし。
https://dev.classmethod.jp/articles/amazon-route-53-alias-records/

エイリアスレコードを使うと、AWSサービス(CloudFrontやELB、S3バケットやElastic Beanstalk環境)との紐付けができるようになる。
よってDNSクエリにAWSサービスのエンドポイントのIPアドレスを返答することで、AWSリソースにドメインを設定できる

### Route53のルーティングポリシーあれこれ
#### 1.シンプルルーティング
1つのレコードに対し、1つのIPアドレスを返すようにルーティングするポリシー。一般的な

元記事を表示

ソリューションアーキテクト対策_あまり馴染みの無いサービス篇

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

## Amazon Polly
文章をリアルな音声に変換するサービス。
発話できるアプリケーションを作成できる。

## Amazon SageMaker
すべての開発者とデータサイエンティストに機械学習モデルを迅速に構築・トレーニング・デプロイできる手段を提供する。
また、フルマネージドサービスであり、機械学習ワークフロー全体に対応している。

## Amazon Lex
音声やテキストを使用して、任意のアプリケーションに対話型インターフェイスを構築するサービス。
音声のテキスト変換には自動音声認識(ASR)、テキストの意図認識には自然言語理解(NLU)という高度な深層学習機能が使用できるため、リアルな会話を実現するアプリケーションを開発できる。

## Amazon Rekognition
画像分析と動画分析をアプリケーションに簡単に追加できるサービス。
Rekognition APIに画像または動画を与えるだけで、このサービスが対象物・人・

元記事を表示

LambdaでSecretsManagerからシークレット情報を取得してみた

# はじめに
Githubから流出したソースコードに認証情報が含まれていて
問題になったというセキュリティーインシデントを見かけることがあります。
ソースコード内には認証情報をベタ書きせずに扱う事が大切です。

Lambdaで認証情報を参照したい時のベストプラクティスとして
SecretsManagerから値を取得する方法があります。
ハンズオンとして行ってみたので記事に残したいと思います。

# 環境
Lambdaのランタイム:Python3.9

# SecretsManagerでシークレット情報を作成する

SecretsManagerでは目的に応じたシークレット情報の作成が可能です。
今回は汎用的に使用できるように「その他のシークレットタイプ」でユーザー名とパスワードを作成しました。

![スクリーンショット 2022-09-15 20.31.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2242298/799c0ed3-2f56-be8c-a09d-8462878114e9.png)

元記事を表示

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

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

## EBS
### EBSとは
ネットワークで接続されたブロックレベルのストレージで、EC2とは独立無縁。
EC2をTerminatedしてもデータは保持される。スナップショットも取れる。S3に保存もできる。有料。
→DeleteOnTermination属性ていうのがある。デフォルトだとONで、EC2インスタンス削除とともにEBSも削除される。★

### EBSについて知らなかったこと
同じAZ内のEC2にしかアタッチできない。AZをまたがるのは不可能。
また、EBSボリュームを作成すると同じAZ内でのみ自動的に複製される。別のリージョンには複製されない。

他サービスのインスタンス同様、ボリュームサイズやボリュームタイプの変更が可能である。

### インスタンスストアとEBSの違い
・インスタンスストア
一時的にアタッチされるストレージのこと。
インスタンスの停止・終了・ハードウェア障害によって永続化されないため、データは消える。
ただ

元記事を表示

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

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

## 2.Redshift
### Redshiftとは
リレーショナルデータベース型のデータウェアハウス。
並列処理ができるのでパフォーマンスが高い。

### Redshiftの概要
Redshiftデータウェアハウスは、ノードと呼ばれるコンピューティングリソースの集合で、クラスターと呼ばれるグループに編成されている。
で、各クラスターはAmazon Redshiftエンジンを実行し、1つ以上のデータベースを含む。

### Redshiftクラスターの費用対効果について
Redshiftはスナップショット用に無料ストレージを提供しているが、上限を超えると課金が発生する。
なので不要なスナップショットを消したりするサイクルが必要。

### RedshiftのWLM(Work Load Management)
Redshiftのクエリ処理に対して、割り当てるRedshiftのリソースを指定する機能。
クエリ処理をキューとして実行順

元記事を表示

Node.jsランタイムのLambdaでNodeモジュールを使いたいときにやったこと

## はじめに
こんにちは。フリューでサーバサイド開発をしています、kitajimaです。最近CDKに入門しました。
弊チームでは先日、API Gateway + Lambdaの構成をCDKで構築し、APIを実装する機会がありました。その際Node.jsで書いたLambdaスクリプト単体をアップロードしたところ、`”Unable to import module”`が発生しました。
この記事ではその際対応したことを紹介させていただこうと思います。
同じようにNode.jsランタイムのLambdaを初めて構築してみたい方の参考になれば幸いです。

※本記事と同様の内容を弊社テックブログでも掲載しております。
https://tech.furyu.jp/lambda-node-modules/

## 環境
– AWS CDK v2
– CDK実装 TypeScript
– Lambdaランタイム Node.js 16.x
– Lambdaスクリプト実装 TypeScript

## 状況再現
そのときのインフラ構成の一部を再現したものはこちらです。Constructは`aws_lam

元記事を表示

【AWS】【DMS】AWS CLIで DMS のテーブル統計をCSVで出力する方法

# TL;DR

* パイプで`jq -r ‘(.TableStatistics[0]|to_entries|map(.key)),(.TableStatistics[]|[.[]])|@csv’`とすればOK

“`bash
aws dms describe-table-statistics –replication-task-arn arn:aws:dms:hogehoge –output json | jq -r ‘(.TableStatistics[0]|to_entries|map(.key)),(.TableStatistics[]|[.[]])|@csv’
“SchemaName”,”TableName”,”Inserts”,”Deletes”,”Updates”,”Ddls”,”FullLoadRows”,”FullLoadCondtnlChkFailedRows”,”FullLoadErrorRows”,”FullLoadStartTime”,”FullLoadEndTime”,”FullLoadReloaded”,”LastUpdateTime”,”Table

元記事を表示

S3のファイルをcatみたいに標準出力する方法

# やりたいこと
S3にあるファイルをダウンロードしないでちょっと見たいです。
`cat`コマンドでローカルのファイルを見る感じで、気軽に見たいです。

# cp + 「-」で標準出力にファイルの内容を出力できた

“`zsh:S3のファイルをcatみたいに標準出力する方法
$ aws s3 cp s3://{バケット}/{ファイルパス} –
“`

標準出力する方法が、ちゃんとAWSのサイトに書いてありました。

> s3 cp コマンドは、次の構文を使用して stdout 用の Amazon S3 ファイルストリームをダウンロードします。
> [Syntax] (構文)
> `$ aws s3 cp [–options] -`
> [AWS CLI での高レベル (S3) コマンドの使用 – AWS Command Line Interface](https://docs.aws.amazon.com/ja_jp/cli/latest/userguide/cli-services-s3-commands.html#using-s3-commands-mana

元記事を表示

CloudWatch Logs のログ調査がはかどる便利な方法

CloudWatch Logs でログデータの調査を行う際に**特定の文言を検索**したくて、ついつい、ブラウザの検索機能(Ctrl + Fキー)を使ってしまう事って割とやってしまうのですが、
**CloudWatch Logs Insights** を使えば、もっと便利に特定の文言を検索することができるので、ここにまとめておきたいと思います。

## CloudWatch Logs Insights とは何か?

CloudWatch Logs のログデータを検索や分析できるようになります。
[CloudWatch Logs Insights を使用したログデータの分析 – Amazon CloudWatch Logs](https://docs.aws.amazon.com/ja_jp/AmazonCloudWatch/latest/logs/AnalyzingLogData.html)

## 使い方

使い方はとてもシンプルです。
CloudWatch のメニューにある「ログ」→「ログのインサイト」をクリックします。
![image.png](https://qiita-ima

元記事を表示

ソリューションアーキテクト対策_グローバルNW篇

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

## グローバルNWを利用したサービス
### CloudFront
ボリュームがあるので別記事に分けてます。

### AWS Global Accelerator
アプリケーションの可用性とパフォーマンスを改善するネットワークサービス。
AWS上のアプリケーションに対して固定エントリポイントとなる静的なIPアドレスを提供することで、様々なAWSリージョンやAZの特定のIPアドレスの管理における複雑さを排除しつつ、アプリケーションアクセスを効率化する。
→最適なエンドポイントにトラフィックをルーティングする

ユーザーとアプリケーション間のネットワークレイテンシーの改善、アプリケーションの保護の役割も兼ねる。

CloudFrontはエッジにキャッシュを蓄積する方式なので、最適なエンドポイントへのトラフィックのルーティングは行わない。
Route53はルーティングを行うが、Global Acceleratorのような機能はない。

## おわり

元記事を表示

EventBridgeとLambdaを使用したバッチ処理

## 概要

EC2インスタンス1台構成で動かしていたWebアプリを、AutoScalingを用いてEC2複数台で運用にするようにしました。
今までEC2インスタンス内にcronを仕込んで、日次や月次の定時処理を行わせていましたが、インスタンスが複数台になることで、バッチ処理が重複して行われるようになりました。

#### 構成図
[![Image from Gyazo](https://i.gyazo.com/bbd624f944a3e49a0fb81971c28fc4fa.png)](https://gyazo.com/bbd624f944a3e49a0fb81971c28fc4fa)

### 対応案

対応案として、ざっくり以下の二つがありました。

#### 案1
AutoScalingしないタスクサーバーを1台用意して、バッチ処理はその子に任せる。

#### 案2
インスタンス内のcron契機でのバッチ処理はやめて、EventBridgeを利用したLambda契機でアプリにリクエストを送りバッチ処理を行う。
リクエストはELBによりインスタンス1台に振り分けられるので、

元記事を表示

ソリューションアーキテクト対策_オンプレからの移行篇

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

## オンプレからのデータ移行
### AWS Application Migration Service(MGN)
オンプレ・仮想インフラ・Azureなどの移行元環境からネットワークを経由してサーバーイメージを転送し、AWS環境へのサーバーの移行を実現するサービス。
ワークロードの転送を行うことができる。
また、以前はAWS Server Migration Service(SMS)が利用されていたが、現在は廃止。

### AWS Database Migration Service(DMS)
広く使用されている商用およびオープンソースのほとんどのデータベースをAWSにデータ移行するサービス。

### AWS Application Discovery Service(ADS)
オンプレミスサーバーのインベントリと動作を検出するために使用される。
このサービスは、AWSへの移行計画を作成するときに使う。

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

元記事を表示

AWS EC2上のアプリのhttpリクエストをhttpsにした【初学者】

# はじめに
プログラミングスクール卒業時にオリジナルアプリケーションを作成しましたが、発表時にはまだまだ多くの課題が残っていました。その中でも、AWSにデプロイした際にhttpのままで、安全ではない通信、いわゆるSSL化対応が出来ていないということになりhttps対応をしたいと思い調べて対応した備忘録になります。
下記のさまざまなサイトを参考にさせていただきました。ありがとうございました。
各項目の詳細は今後勉強していきますので今回は手順のみ簡単に記載したいと思います。

# 参考記事
– [EC2上のwebサーバをSSL化対応](https://qiita.com/miyuki_samitani/items/1734dc13c6b7af601bd9)
– [[初心者向け]AWS Certificate Managerを使用してインターネットからELBへの通信をHTTPS化してみた](https://dev.classmethod.jp/articles/for-begginer-ssl-communication-by-aws-certificate-manager/)
– [【A

元記事を表示

【CloudFormation】CloudFront の OAI を OAC に移行する

## はじめに
2022/8/25 に Amazon CloudFront で Origin Access Control (OAC) が使用可能になりました。OAC は CloudFront で S3 バケットをオリジンとする際の新たなアクセス制御方法です。

https://aws.amazon.com/jp/blogs/news/amazon-cloudfront-introduces-origin-access-control-oac/

これまでオリジンの S3 バケットへのアクセスを CloudFront のみに限定するために Origin Access Identity (OAI) という機能が提供されていました。OAC は OAI と比較し、以下の点が強化されています。

* セキュリティ
より短期間のクレデンシャルおよびローテーション、リソースベースポリシーなどのベストプラクティスが実装されています。

* SSE-KMS を使用したサーバー側の暗号化のサポート
SSE-KMS で暗号化された S3 オブジェクトのダウンロードとアップロードをサポートします。これにより

元記事を表示

[AWS Lambda Powertools Python]API GatewayレスポンスのJSONシリアライズエラーに対応する

# 概要

[AWS Lambda Powertools Python](https://awslabs.github.io/aws-lambda-powertools-python/latest/) を使うとAPI Gatewayのリソースマッピングが直感的に記述できます。
また、dictなりlistなりをreturnしておけば良い感じのJSONテキストにしてくれる等、とても便利です。

このレスポンスをJSONに変換してくれる部分で少し困ったので、対応した内容を記録します。

# 準備

AWS Lambda Powertools をインストールします

“`
$ pip install aws-lambda-powertools
“`

# サンプルハンドラーコード

リクエスト `GET /info` に対して、`name` と `created` 要素を返すシンプルな内容です。
問題点に特化したサンプルですが、リクエストと処理が一目でわかる仕組みになっています。

“`handler.py
from datetime import datetime
from aws

元記事を表示

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

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

## EC2
### AutoScallingのプロセスについて
閾値を超えてAutoScallingが起動すると、24hはスケーリングプロセスが動作する。
24hを超えるとプロセスは停止する。

### EC2のAutoScallingの種類
#### 動的スケーリング
・簡易スケーリングポリシー
通常の設定。アラーム設定に基づいて1段階のスケーリングを行う

・ステップスケーリングポリシー
アラーム超過のサイズに基づいてインスタンス数を動的にスケーリングする。
1つ以上のステップ調整値を指定して、複数回の段階的なスケーリングを実施。

・手動スケーリング
希望する容量を調整して、手動でスケーリングを実施する

・スケジュールされたスケーリング
スケーリングをする日時を指定して、スケーリングを実行する。そのままの意味

### スケーリングアクティビティ(抽象的なのでもっと調べる)
スケーリングアクティビティは、グループのサイズを変えるな

元記事を表示

tsm (Session ManagerでEC2インスタンスに同時接続して同時操作するツール)を作った

# 概要
掲題の通りです。
tsmというSession Managerで複数台のEC2インスタンスへ同時接続して同時操作するツールを作りました。
(Tmux Session Managerの略)

https://github.com/kotatsu360/tsm

MITライセンスです。

# デモ
![demo.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/62601/c2772d3b-0089-b01a-1197-b4ca59168589.gif)

# モチベーション
* Session Managerでの接続をもっと簡単にしたい(インスタンスIDを何度も調べたくない)
* 「SSHで複数台に同時接続」という体験をSession Managerでも再現したい

# 仕組み
* awscliで対象のインスタンスを絞り込む
* tmuxのウィンドウを複製しつつ、ssm start-sessionを繰り返す

# 使い方
迷ったら`tsm -h`もしくは`tsm –help`をご覧ください。以下、機

元記事を表示

AWS Certified Machine Learning – Specialty 合格体験記 【文系・IT未経験】

北海道をこよなく愛するピーターです。
AWS Certified Machine Learning – Specialtyを取得しましたので体験記です。

# 学習期間
またもやってしまいました。勉強したのに試験を受けず忘れてしまうやつです。
遠い昔に1度勉強をして、忘れた頃である今回にもう一度勉強し直しました。
2回目の勉強期間は1週間程度だと思われます。
しかし、今回の合格は、**辻先生による勉強会によって機械学習分野の定着が早かったことが合格につながった**と感じました。

# Who is 辻先生
辻先生は東京大学特任准教授の辻真吾先生のことです。Pythonの第一人者で数々のPython入門書を執筆している方です。
(最近の著書[『ゼロからはじめるデータサイエンス入門 R・Python一挙両得』](https://www.amazon.co.jp/%E5%AE%9F%E8%B7%B5Data-Science%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AF%E3%

元記事を表示

【AZ-900 Microsoft Azure Fundamentals】合格体験記

## はじめに
2022年8月に、Microsoft Azure Fundamentals(AZ-900) 試験を受験しました。
AZ-900という試験に合格すると、Azure Fundamentalsに認定されます。Azureにはいくつか試験がありまして、これが一番初級の試験です。

Azureの案件に入ることが決まり、なにもわからなかったので受験しました。(AWSもGCPもほぼ未経験)そういうレベルの人の勉強方法とのことを念頭に参考にして頂けると良いかと思います。

Azure試験の中では一番簡単なレベルではあるものの、広く浅くAzureサービスについて問われる形になっているので、クラウド自体が初心者の場合はそれなりに勉強しておく必要があります。

## この記事の対象者
・Azure初心者

## 筆者のレベル
AWSの学習をしていた時期があるので、クラウドの基礎的なところは理解しています。
実務でのクラウド使用経験はほとんどなく、Azureに関しては全くの初心者です。

## 試験の概要
試験の概要を記載します。

【試験】AZ-900:Microsoft Azure Fund

元記事を表示

AWSの「IDプロバイダーとフェデレーション」の仕組みを利用して、GoogleアカウントでAWSを利用・操作してみた

## 以下の記事を参照して頂ければと思います

https://note.com/shift_tech/n/nf5eb16948de1

**※Qiitaの記事は全て個人的な記載であり、所属する組織団体とは無関係です。**

## 補足
ソースコード全体は以下。

https://github.com/yuta-katayama-23/openid-connect-client-demo/commit/e8c0556bb6df449dafabfdecc9bb258bd2397e29

元記事を表示

OTHERカテゴリの最新記事