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

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

研究用のAWSインスタンス

– CPUのコア数は欲しい
– 安いのが良い
– GPUはいらない

という条件で探してみた。

## インスタンスタイプに関して

そもそもインスタンスのインスタンスタイプの意味が良く分からなかったので命名規則を調べてみた。

– a
– CPUがArmのAWS Gravitonプロセッサを使ったやつ
– AWSのaと覚えよう
– c
– CPU処理に特化している
– CPUのcと覚えよう
– d
– Dense-storage搭載
– Dataのdと覚えよう
– f
– FPGA (Xilinx UltraScale+ VU9P FPGA)搭載
– g
– NVIDIAのGPUを搭載
– GPUのgと覚えよう
– h
– dと同様のストレージ系
– 最大ローカルストレージはdの方が多いらしい
– i
– NVMe SSDローカルストレージが提供されるファミリー
– inf
– AWS Inferentia搭載
– 機械学習の推論用途
– m
– 汎用インスタンス

元記事を表示

url3pokes(仮)作ってみたい

大学のサーバ構築演習科目があったので、そこで作ろうと思ったシステム案について書きます

(無事完成したら、作ってみた記事も書きたい…)

## 今回作ろうとしているシステム

__[PokeApi](https://pokeapi.co/)を利用しつつ、[what3words](https://what3words.com/ja/about)に習ってURLをポケモンの名前3体に変換するサービス__

これだけじゃ「うーんわからん」だと思うので、詳しく下で説明していきます。

### そもそもwhat3wordsってなんぞや?

今回のアイデアの大元は[what3words](https://what3words.com/ja/about)というサービスです。
簡単にいうと、これは世界中のどんな3m×3mの場所でも、3つの単語で一意に示すことができるものです。

うん、これだけじゃよくわからん。

ちょっとwhat3wordsが便利だよって例を出してみます。

例えば、うちの大学がある千歳市の千歳駅には駅のすぐ近くにセブンイレブンが2個あります。
![image.png](http

元記事を表示

Amazon Cognito User Poolsに登録するユーザーの住所情報を、StripeのAddress Elementで収集する [React編]

この記事は、[AWS Advent Calendar 2022](https://qiita.com/advent-calendar/2022/aws) 8日目の記事です。

Webサービスやアプリケーションをリリースする際、ユーザー管理機能としてCognito User Poolsは欠かすことができません。

AWS Amplifyでも、Auth機能を利用するとこのサービスがセットアップされるなど、さまざまな場面で登場します。

この記事では、Cognito User Poolsで管理しているユーザー情報のうち、住所情報を入力するフォームを、Stripeが用意するAddress Elementsで実装する方法を紹介します。

![スクリーンショット 2022-11-19 10.06.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2366300/1f035708-20aa-6c5b-d97c-0b614def2579.png)

## Address Elementsで住所入力フォームを作成する

元記事を表示

[AWS]プライベートネットワークのEC2からタダでyum install/updateを行う

インフラ構築していくうえで、外界に触れられたくないサーバ群はNWから切り離した環境に置くのが一般的かと思います(例えばDBサーバなど)。
その際にNATを利用することになるかと思いますが、NATGWはまあまあいい値段がするので何とか削れないかと考えました。。

# 結論

いきなり結論から入ります。
**VPCEndpoint S3のGatewayType**を使いましょう!

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

> Note: To avoid the NAT Gateway Data Processing charge in this example, you could set up a gateway Type VPC endpoint and route the traffic to/from S3 through the VPC endpoint instead of going through the NAT Gateway. There are no data processing or hourly charges for

元記事を表示

terraform-provider-awsにContributeした話

## TL;DR
TerraformでAWS環境のプロビジョニングをしていた時に遭遇したちょっとした不具合を改善してContributeした話です!

## 〜序章〜
ある日いつものようにAWS IAMのリソースをterraformでプロビジョニングしていたところ変更していないはずのIAM Groupのリソースが毎回変更されてしまうことに気付きました。毎回変更していないはずのリソースが変更されてしまうというもどかしさを抱えながら悶々とした毎日を過ごしていました。
ある日同僚のエンジニアとOSSへのコントリビュートを目標とした会を結成し何かいい題材はないかと考えていたところ前述のことがパッと思い浮かびすぐさま修正に取り掛かりました。

## Issueの発見
まずは自分と同じような悩みを抱えている人はいないかIssueを眺めていると…見つけました!
https://github.com/hashicorp/terraform-provider-aws/issues/22274
しかし長い間そのIssueは放置されたまま…どこを修正して行けば良いか実際にコードを見ていくことにしまし

元記事を表示

Redshift Streaming Ingestion の使い方まとめ

これは AWS Analytics Advent Calendar 2022 の 8 日目の記事です。

# 1.はじめに
AWS re:Invent 2022 で Redshift の Streaming Ingestion 機能が GA 発表されました。Streaming Ingestion とは Amazon Kinesis Data Streams と Amazon Managed Streaming for Apache Kafka (MSK) からストリーミングデータを **直接** Redshift に **リアルタイム** で投入することができる機能です。
この機能が出るまで Redshift 上でリアルタイムにデータを入れるには、Amazon Kinesis Data Firehose を使って一旦データを S3 に保存し、そのデータを逐次的に Redshift の COPY 文を使って投入する必要がありました。逐次的に COPY 文を叩く仕組み、すでにロードした S3 上のファイルを除外する仕組みなど、様々な仕組みを実装・運用する手間がありました。
この機能によっ

元記事を表示

SAM Local実行時にタイムアウトしてしまう問題への対策

# はじめに
みなさま,こんにちは.
[株式会社オプティマインド](http://www.optimind.tech)にて,GISエンジニアをしている@tkmbnです.

この記事は,株式会社オプティマインドの[2022アドベントカレンダー](https://qiita.com/advent-calendar/2022/optimind-locationtech)へのエントリー記事8日目として書いております.

# 概要
SAMを用いたLambdaアプリケーション構築時に,template.yamlからタイムアウト値設定をしていますが,
その秒数ではローカルテスト時(pytest)ではタイムアウトになってしまう問題がありました.
クラウド上での実行時のタイムアウト値とローカル実行時でのタイムアウト値を変化させたいと思い,
対処法をいろいろと探っていたところ,良さそうな対処法を見つけたので,ご紹介いたします.

# 本題
## 現状の環境
– SAM テンプレートの内容
– API Gateway
– Lambda (複数)
– 複数Lambda内

元記事を表示

AWS RDS Aurora MySQL v1(5.6互換)→v2(5.7互換) へのインプレースアップグレードに向けての注意とアドバイス

本記事は [Craft Egg Advent Calendar 2022](https://qiita.com/advent-calendar/2022/craftegg)の8日目の記事です。

## はじめに
株式会社Craft Eggでバックエンドエンジニアをしております高川です!

今年は何を書こうかなとずっと考えていたのですが、直近の業務で大変だったAurora MySQLのインプレースアップグレードについて書きます。Aurora MySQL v1 (5.6互換)は2023年2月末にEOLを迎えるため、今が旬(ちょっと遅い?)かなと思っています。

記事執筆時には、まだサービスの本番環境でアップグレードは実施してないのですが、開発環境やステージング環境でアップグレードして得た知見とこうしたらやりやすいかもというアドバイス(主観)をお伝えしますので、アップグレードに悩み苦しんでいる同志たちの助力になれば良いなと思います!

これだけは先に伝えたいのですが、**Terraformでアップグレードするのはやめた方がいいかもしれません。**

Slackに追加された絵文字を自動通知するBotを復旧させた話

この記事は [ハンズラボ AdventCalendar2022](https://qiita.com/advent-calendar/2022/handslab) 8日目の記事です。

# はじめに
私がハンズラボに入社した当時、Slackの #random チャンネルには多種多様のおもしろbotが動いていました。その中の一つが **EmojiBot** です。
![スクリーンショット 2022-12-05 10.39.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/501670/8680bb91-30bf-308f-620b-80cd84a9d0f9.png)

このbotはGASで作成されており、その日に新規に登録された絵文字を自動的に検知して通知してくれるというものでした。Slackでのコミュニケーションの活性化に一役買っており私も大好きなbotでした。しかし、SlackのAPIの仕様が変更されたためか、またはGASの管理者の退職の影響か、ある日動かなくなってしまいました。

とてもとても寂し

TerraformでAuth0のログをAWS S3に出力するようにしてみる

この記事は [IDaaS Advent Calendar 2022](https://qiita.com/advent-calendar/2022/idaas) 8日目の投稿です。

## はじめに

Auth0のログはEnterpriseプランでも30日しか保管されません。(2022/12現在)

https://auth0.com/docs/deploy-monitor/logs/log-data-retention

いざ分析などの要件が出てきた際にログが何も残っていないと困っちゃいますよね。
そのため、別の場所にログを避難させる必要がありますが、新しいテナントを作る度に設定するのは結構めんどくさい・・。
そんなあなたはTerraformを使ってサクっと設定を行いましょう。

## 設定してみた

以下の構成を考えます。S3に保管した後はAthenaやQuickSightを使って分析・可視化が可能です。
今回はS3に保管するまでを目標にします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.c

AWS認定クラウドプラクティショナー合格に向けて Day7

# 前回の内容
[AWS認定クラウドプラクティショナー合格に向けて Day6](https://qiita.com/Ayako_0224/private/e3c14f922625cf54b4d3)

# サポート系のサービス
## AWSサポートセンター
AWSのアカウント登録すると何かしらのサポートプランに自動で登録される
無料アカウントの場合はベーシックのサポートプランに登録される
ベーシックのサポートプランでは電話やチャットでの問い合わせができないため、サポートケースというものを作成して質問を作成する
AWS知識リソースという場所で自力で解決することもできる

### AWS知識リソース
– ナレッジセンター
頻繁に寄せられる質問や要望が乗せられている
– AWSドキュメント
ユーザーガイドやAPIなどのドキュメントが載っている
– 開発者フォーラム
質問をして回答してもらえるStack overflowのようなもの
現在はre:Postという代替サービスに移動するよう勧められる
– トレーニングと認定
AWSの公式で提供しているトレーニン

Amazon FSx for NetApp ONTAP – Snapshotからのリストア試してみた(FSxからの操作編)

# はじめに
こんにちは。ネットアップ合同会社 Specialist SEの月岡です。

先日、Amazon FSx for NetApp ONTAPのSnapshotを利用したクライアント操作からのリストアについて、まとめました。

https://qiita.com/Yoshinori_Tsukioka/items/75b02532e51e32a0803f

ファイルサーバは、複数人で使うものですよね。(もちろん、個人でお持ちの方もいらっしゃるかと思います。)

– 誰かの誤操作で複数のファイルやフォルダを削除してしまったり…
– 誰かの上書きコピーでファイルやフォルダが先祖返りしてしまったり…
– ランサムウェアに感染して大量のファイルを暗号化されてしまったり…

ファイルやフォルダを復旧したいケースは様々あるかと思います。
急を要する時、クライアント操作ではなくシステム側から一気にファイルやフォルダを復旧したくはないですか?

今回は、そんな方向けにAmazon FSx for NetApp ONTAPから実行するSnapshotリストア方法を記事にしました。

#

AWS Application Composer を使ってみた

# AWS Application Composer とは

AWS Application Composer はサーバレスアプリケーションの構築をサポートするツールです。
AWSサービスをドラッグ&ドロップで配置・接続することができ、それをCloudFormationのテンプレートとして自動生成することが出来ます。

アーキテクチャ図の作成とCloudFormationのテンプレート作成が同時に進行するので非常に便利なツールだと思います。

2022/12/08 時点ではまだプレビューとなっており、対応しているサービスは以下の通りです。

– API Gateway
– Cognito UserPool
– Cognito UserPoolClient
– DynamoDB Table
– EventBridge Event Rule
– EventBridge Schedule
– Kinesis Stream
– Lambda Function
– Lambda Layer
– S3 Bucket
– SNS Topic
– SQS Queue
– Step Functions

Cisco SD-WAN AWS連携 Cloud OnRamp for Multi-Cloud機能

#はじめに
本記事はCiscoの有志による Cisco Systems Japan Advent Calendar 2021 (一枚目) の 8日目として投稿しています。
非常に興味深い内容で様々なトピックが投稿されていますのでぜひご覧下さい!

この記事はシスコの有志による Cisco Systems Japan Advent Calendar 2022 の1つとして投稿しています。昨年の記事や関連する投稿記事は以下リンクよりご覧いただけます。

– 2017年版: https://qiita.com/advent-calendar/2017/cisco
– 2018年版: https://qiita.com/advent-calendar/2018/cisco
– 2019年版: https://qiita.com/advent-calendar/2019/cisco
– 2020年版: https://qiita.com/advent-calendar/2020/cisco
– 2020年版(2枚目): https://qiita.com/advent-calendar/2020

AppSyncのリゾルバーでUUIDの発行

# 概要
この記事では、AppSyncのリゾルバーでUUIDを発行しDynamoDBに登録する方法を紹介します。

# 前提条件
– AppSyncのスキーマができていること
– DynamoDBが用意されていること

## リゾルバー

### リクエストマッピングテンプレート
“`
{
“version”: “2017-02-28”,
“operation”: “PutItem”,
“key”: {
“id”: $util.dynamodb.toDynamoDBJson($util.autoId())
},
“attributeValues”: $util.dynamodb.toMapValuesJson($ctx.args.input),
“condition”: {
“expression”: “attribute_not_exists(#id)”,
“expressionNames”: {
“#id”: “id”
}
}
}

【AWS CDK v2】APIGatewayでお手軽にモックAPIを作成する

## はじめに

この記事は、[ミロゴス Advent Calendar 2022](https://qiita.com/advent-calendar/2022/milogos) 8日目の記事です。

外部のAPIを実行する処理が含まれた開発において、開発環境用にモックAPIが欲しい場面に出くわしたことはないでしょうか。
この記事では上記のような場合に、AWS CDKを使ってAPIGatewayにモックAPIを手軽に作成する方法を紹介します。

## 構成

APIGatewayのみを使用するシンプルな構成です。
AWS CDKには[apigateway.MockIntegration](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MockIntegration.html)というクラスがあり、簡単にモックAPIを作成することができます。
今回はGETとPOSTの2つのAPIを作成します。

![archtecture.drawio.png](https://image.docbase.

AWS CloudFront障害時にRoute 53のフェイルオーバーが効かない設定を見直した話

# はじめに
久しぶりの投稿です。
毎週記事を書くといいながら2ヶ月も記事の投稿がストップしていました。
あ、サボっていたわけではありません。
実はこの2ヶ月間は資格の勉強をしていてAWS認定資格もちゃんと2つ取りました。
その後ワールドカップというイベントに参加して、世界のサッカートレンドを学習したり、なんやかんやで投稿を先送りにしていました。
言い訳はこのあたりにしまして、本題に参りたいと思います。

今回担当案件でインフラ構成にまずい部分がありました。
改善しましたので備忘録として残したいと思います。
説明下手でわかりにくい箇所等あるかと思います。ご了承ください。
また、ご指摘ご意見ありましたら教えてください!お待ちしています。

# 前提
構成は下の図のようになっています。
実際の構成はもっと複雑で冗長化もしているのですが、今回は必要な箇所だけ。
[![Image from Gyazo](https://i.gyazo.com/864baf2d4713c2c3657fc5d15b6e7dd8.png)](https://gyazo.com/864baf2d4713c2c3657

3大クラウドのDatadog Integrations アーキテクチャ

# はじめに
こんにちは、AoTo(@AoTo0330)です。現在は Datadog Japan で Sales Engineer をしています。
この記事は [Datadog Advent Calendar 2022](https://qiita.com/advent-calendar/2022/datadog “Datadog Advent Calendar 2022”) の8日目の記事です。

今回は、Datadog が提供している様々な Integrations のうち、Amazon Web Services(AWS)、Microsoft Azure、Google Cloud のいわゆる「3大クラウド」の Integrations がどのように実現されているかまとめてみました?

ここではインテグレーションの設定方法については詳しく言及しません。
設定方法をご覧になりたい方は、Datadog の公式ドキュメントをご参照ください。
+ [AWS](https://docs.datadoghq.com/ja/integrations/amazon_web_services/)

[AWS]Glueでpandasを用いてzipファイルのETLしてみた

# 背景
S3に格納されたzipファイル(中身はcsv)をETLしたいが、どうやらsparkではzipファイルを取得することができなさそうなので、
いろいろ模索した結果、pandasを用いることとした。
~~まあ、zipを解凍さえすればその限りではないはずやが。。。~~
# コード
“`python:testWriteZip.py
import sys
from awsglue.transforms import *
from awsglue.utils import getResolvedOptions
from pyspark.context import SparkContext
from awsglue.context import GlueContext
from awsglue.job import Job
import pandas as pd #1)追加モジュール

# ジョブ初期化
args = getResolvedOptions(sys.argv, [‘JOB_NAME’])
sc = SparkContext()
glueContext = GlueConte

フルスタックエンジニアがAWS Certified Solutions Architect – Associateを取得した

# フルスタックエンジニアがAWS Certified Solutions Architect – Associateを取得した

スタートアップで働くエンジニアの誰もが複数のポジションを兼任することが多いかと思います。
Webサービス系の場合、大体の場合、大きく分けると3つに分けられているかとは思います。
・バックエンド
・フロントエンド
・インフラ

## なぜ、資格を取得しようと思ったのか?
自分はもともとバックエンドエンジニアでサーバ構築とかも片手間でやっていたので、サーバの構築などはこれまでやってきましたが、クラウド設計については、ほぼやってきませんでした。

インフラの場合は、昨今はおおよそはAWSかGCP、あとはAzureなどのクラウドを使うことがほとんどだと思います。
AWSには200個以上のサービスがあり、どのサービスを使えばいいのかは、直感ではわからないし、やりたいことに対してどのサービスを組み合わせれば、ベストプラクティスなのか?ということも調べないとわかりません。
というところから、体系的に学ぶということでAWSの公式資格を学ぶのが正しいと思います。

[AWS