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

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

AmplifyでWAFも使いたい

# 概要

Githubと連携させたAmplifyを使用したいが、**WAFによるアクセス制限**もしたい。
しかし、WAFがAmplifyをサポートしておらず苦戦したので、メモしておきます。

# TL;DR

Amplify Consoleで構築したものに対してWAF適用しました。

構築内容
– CloudFrontを前段に配置してWAFを適用する

– OriginにAmplifyのEndpointを設定する

– Amplify側への直アクセスも制御

– ループ防止の設定をする

# Amplifyに関して

### Amplifyのメリット

SPA、静的コンテンツなどを新規サービスとして配信時、スピード感を持って構築できます。

– 例えば、S3に配置したい静的ファイルをGithubのコミットから直接更新出来る

– 複数の開発環境をブランチベースで用意することが出来て管理しやすい

– 認証機能がコンソールで実装できる

– Amplify側のエラー処理やルーティング設定などをコンソールから開発者ができる

などのメリットがあります。

### Amplify自

元記事を表示

[AWS] Lamda SnapStartを試してみた!

## はじめに

こんにちは![フューチャー Advent Calendar 2022](https://qiita.com/advent-calendar/2022/future)の6日目を担当します、佐藤と申します!
今回はつい1週間前にAWS re:Inventで発表された新機能「Lambda SnapStart」について機能のお試し+効果の検証を行ってみたので、お伝えして行きたいと思います。
ちょうど気になってたんだよな〜という人も、aws…?lambda…?という人も読めるように書いていますので、どうぞお茶でも飲みながら読んでいただけたらと思います。よろしくお願いします!

## Lambda SnapStartとは?

まずLambdaとは?というところですが、一言で言ってしまえば
`自分で作った関数を置いといて、何かのトリガーで実行してくれる君`
です。
例えば、利用者がログインを試行した時トークンを発行する関数を実行してくれる、あるメールが来た時ストレージにメールを保存する関数を実行してくれる、そんな感じのサービスです。

で、今回追加された`SnapStart

元記事を表示

【完全に】統合型DevOpsサービス「Amazon CodeCatalyst」【理解した】

この記事は、「[Relic Advent Calendar 2022](https://qiita.com/advent-calendar/2022/relic)」の6日目の記事です!

# はじめに
re:Inventでリリースされたサービスを試してみる第2弾は「**Amazon CodeCatalyst**」。
チュートリアルを活用しサーバーレスWeb3層アプリケーションのデプロイして「**CodeCatalyst、完全に理解した**」って状態を目指しました。また、ドキュメントを読んでいった過程で追加で実施してみた内容を+αで書いていきます。

第1弾はこちら→[【re:Invent】Amazon EventBridge Pipesの検証と今後について](https://qiita.com/hedgehog051/items/3479d4fec43d01fd30f1)

# Amazon CodeCatalystとは
**ソフトウェア開発に必要な環境一式を迅速に構築**できる新しいAWSのサービスで、以下の機能を提供しています。

– クラウドベースの開発環境
– ブループリント(

元記事を表示

Amazon RDSインスタンス作成時に既存EC2との紐付けができるようになっていた

# この記事は?
最近AWSについて色々と勉強しているんですが、RDSインスタンスを作成する際に『**EC2コンピューティングリソースに接続**』という選択肢が増えていることに気づきました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/278872/85c4f745-e507-0fc7-fce9-e72ef6b38efc.png)
調べてみると今年の8月に追加された機能とのこと。([AWSニュースリリース](https://aws.amazon.com/jp/about-aws/whats-new/2022/08/amazon-rds-setting-up-connectivity-rds-database-ec2-compute-instance-1-click/))
この機能を使うと具体的に何をしてくれるのかが気になったので調べてみました。

# そもそもAmazon RDSとは
AWS上に建てられるリレーショナルデータベースです。
詳細な説明は省きますが、ブラウザでポチポチ操作す

元記事を表示

画像サーバーをLambda移管した時のお話

# 0.はじめに

無尽蔵にアクセスが考えられる画像に対して、まずnginxへアクセスを行い、キャッシュを挟んだ上でリバースプロキシでApacheへアクセスし、S3から画像を取得し、指定サイズにリサイズを行った上で返すアプリケーションを運用していました。

サーバーへのアクセス数は月間で数億あったため、水平スケールを拡大して数年間動いていました。

ただ、ある日突然のアクセススパイクが発生し、サーバーが応答しない事態が発生しました。

応急的にサーバーの水平スケールを拡大して対応しましたが、そもそもこれアプリケーション挟む必要あるのか…と考えてサーバーレスサービスへの移管を検討しました。

旧環境はオンプレ環境だったため、S3へのアクセスも物理的コストが高かったため、Lambdaを採用して環境を移管する事にしました。

# 1.Lambda環境の構築

以前はPHPでAWS SDKでS3から画像を取得⇒imagemagickでリサイズを行っていましたが、Python3.9を採用したため、PILとbotoで画像処理とS3からの画像取得を行いました。

**※パスはお使いのS3に最適化

元記事を表示

[AWS]SAMでTypeScriptがサポートされたので5分でAPIを作成する

1年前にはTypeScriptサポートされていなかったので無理矢理使っていました。
Template.yamlのCodeUriをTypeScriptのビルド先のJavaScriptを指定するって感じでね。。他いろいろ工夫していました。

久々にSAMを触ってみるとネイティブサポートされていたのでサクッと立ち上げてみます。

以下参考です(てかまんまかも)。(最後にVSCode DevContainer含めたGit公開するので許してね)

https://dev.classmethod.jp/articles/typescript-native-support-in-the-aws-sam-cli/

https://aws.amazon.com/jp/about-aws/whats-new/2022/02/typescript-native-support-aws-serverless-application-model-cli-esbuild-public-preview/

# 環境

* Ubuntu-22.04 (WSL2)
* Docker(20.10.21)
* nodej

元記事を表示

リザーブドインスタンス無しで、AWSコスト前月比10%(年間50万円)削減を達成した話

# はじめに
AWSリソースを運用していてよくある状況として、

**「これもう使ってないのに課金されたままやん!」** **「このリソース誰か使用しているの?」** **「このインスタンスの使用ルールどうなっているの?」**

という状況があるかと思います。

チーム内で業務の棚卸しをした際に、これら状況を見直すべき、これまでほとんどやってこなかったAWSリソースの見直しを行うことになりました。

AWSリソースの使用状況を可視化し、チーム内の暗黙の共通認識で決まっていたルールを明文化して、運用・保守体系を整備することが目的です。

合わせて、**「せっかくならコスト最適化と絡めて実現していこう」** と思い、進めていくことになりました。

# 3行自己紹介
– 自社開発SaaS企業でアプリケーション開発 / インフラ基盤の構築・最適化・運用・保守(俗に言う**SRE**)
– AWS認定資格9個保持(AWS CLF, SAA, SOA, DOA, SAP, DOP, SCS, DBS, DAS)
– 好きな言葉 : **「全ての人に可能性がある」**

# ひとことで結論

A

元記事を表示

コストと使用状況レポートのUseTypeをまとめてみた

この記事は [Cocone Advent Calendar 2022](https://qiita.com/advent-calendar/2022/cocone) の6日目の記事になります!

# はじめに
ココネ株式会社でサービスインフラを担当している kaibeam です。

今年は円安がすごいですね。
1月の時点では1ドル**115円**だったのに、めきめき上がって10月には**150円**に…
今は落ち着いて134円くらいですが、それでもまだまだお高くAWSの料金なんかは特にダメージが大きいです。

そういったこともあり、**最近はAWSのコスト調査をすることが多くなりました**。

通常、AWSのコスト調査というとCost Explorerなどを活用することが多いと思うのですが、弊社ではリセラー契約をしておりそういった機能が使えません。
その代わりAWSの「コストと使用状況レポート」を少しアレンジした明細情報をリセラー側から提供されており、それを利用して細かいコスト調査を行っています。
その**レポート内の項目「UseType」について今回まとめてみました。**

元記事を表示

AmplifyでAWS Serverless Expressを使用してCRUD処理を行う

[ACCESS Advent Calendar 2022](https://qiita.com/advent-calendar/2022/access) の6日目になります。

この記事は、幅広いAWSサービスを活用できるプラットフォームのAWS Amplifyで、LambdaをExpressで構築できる`AWS Serverless Express` を使用して、DynamoDBと接続してCRUD処理を行う書き方についてとなります。
参考となった記事は「[Create a REST API integrated with Amazon DynamoDB using AWS Amplify and Vue](https://gerard-sans.medium.com/create-a-rest-api-integrated-with-amazon-dynamodb-using-aws-amplify-and-vue-5be746e43c22)」となります。ほぼその記事通りの実装となります。

## 環境構築

LambdaでCRUD処理を書く前に環境を構築します。

### 各pac

元記事を表示

AWS SQS sendMessageBatchとdeleteMessageBatchの処理の仕様について

### はじめに
先日AWSのSQSを使ってSQS内にあるメッセージを別のキューに送信した後に元のキューの処理済みメッセージを削除するシステムを構築した際に、そこで使用されていた2つのメソッドを検証したところ、要注意な仕様があったのでここにまとめておく。

# 目次
**1. そもそもsendMessageBatch・deleteMessageBatchとは?**
* sendMessageBatchとは?
* deleteMessageBatchとは?

**2. 気をつけなければいけない仕様とは?**
* 一部処理に失敗しても、ステータスコード200が返ってくる場合がある
* 特にこのケースには要注意

**3. 一部処理に失敗したときに処理を分けるには?**
* Failedを活用する

## そもそもsendMessageBatch・deleteMessageBatchとは?

### sendMessageBatchとは?
* 数多く存在するAWSのSQSに存在するメソッドの中の一つ。(参照:[JavaScript API リファレンス](https://docs

元記事を表示

アイスタイル通知基盤のクラウド移行で学んだ教訓たち

この記事は[アイスタイル Advent Calendar 2022](https://qiita.com/advent-calendar/2022/istyle) 6日目の記事です

アイスタイルにて主にバックエンドのサービスを担当しているusuitです。
今年は私が担当している通知基盤というサービスのクラウド移行を行いました。
この記事ではその経験から学んだ教訓たちを紹介していきたいと思います。

# 通知基盤って何?
通知基盤は[@cosme](https://www.cosme.net/)のスマホアプリに表示されるお知らせやPush通知の配信を行っているサービスです。
今回のクラウド移行では外部MAツールにそれらのデータを連携するよう作り変えを行いました。
その作り変えの中感じたことを以下にまとめました。

# 急がば回れ
クラウド移行開始時、それまで私はAWSはチュートリアル程度しか触ったことがありませんでした。
ネットで調べながらなんとかサービスをリリースしましたが、その中で感じたことが以下になります。

### AWSの公式ドキュメントはいきなり読んでも知らない単語ばかりで

元記事を表示

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

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

# AWSの意義
そもそもなぜAWSを選ぶのか?
1. シェア32%で世界一
2. 研究・開発への投資額が圧倒的
3. クラウドの最先端を進んでいる
re:Inventなどで最新の機能やサービスがクラウドの流行を作っておりMicrosoftやGoogleがそれに続いている状況が続いている

# AWSの活用メリット
## IaaSから見るAWS
AWSの基本サービスがIaaSであり、様々なインフラをオンデマンドで利用することができるのがメリット

## PaaSから見るAWS
AWSのIaaSに加えて、アプリケーション開発ツールPaaSを利用して、アプリケーションを構築することができるのがメリット
コーディングツールやコード管理などの支援ツール・インフラなども豊富に用意されている

## SaaSから見るAWS
AI翻訳や文章解析AIなど既にAWSで提供されているサービスを利用できるの

元記事を表示

AWS認定 DevOps Engineer – Professional (DOP) 合格記

# この記事について
2022年11月22日にAWS認定DOP試験(AWS Certified DevOps Engineer – Professional)に合格しました。
AWS実務経験なしでも合格できたのでご紹介します。

# スコア
839点でした。
![スクリーンショット 2022-11-25 16.24.42.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1042715/266d2619-45af-43e9-c3f3-a397f6a527aa.png)

コンピテンシーは全部満たしていました。
![スクリーンショット 2022-11-25 16.02.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1042715/8d56407c-5297-1f4b-f986-c762716c1d86.png)

# 私について
– 22年新卒(開発1年目)
– スマホアプリ開発エンジニア
– AWS実務経験なし
– 2

元記事を表示

MWAAとは何か? AWS公式リファレンスの原文にあたってみた

しばらくぶりに[Apache Airflow](https://airflow.apache.org/)についての調べ物です。
今回は[Amazon Managed Workflows for Apache Airflow](https://aws.amazon.com/jp/managed-workflows-for-apache-airflow/)、略してMWAAの公式リファレンス[原文](https://docs.aws.amazon.com/mwaa/latest/userguide/what-is-mwaa.html)にあたりました。
かなり端折ったかたちですが抄訳を載せておきます(末尾に「そもそもなんで原文にあたるんだ」の説明アリ)。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/50571/b5be0755-4cac-d5cc-ead3-1d9609a839e2.png)

# MWAAとは?

* Apache Airflowを自動で構築・運用するマネージド・サービス。

元記事を表示

[AWS CDK]API GatewayにIAM認証をかけてみた

[以前投稿した記事](https://qiita.com/lism/items/ebb20b402644a91d6eb9)で作成したAPI GatewayにIAM認証の設定を追加してみました。

## IAM認証とは
>HTTP API ルートに対して IAM 認証を有効にできます。IAM 認証が有効な場合、クライアントは署名バージョン 4 を使用して、AWS 認証情報でリクエストに署名する必要があります。API Gateway は、クライアントがルートに対する execute-api アクセス許可を持っている場合にのみ、API ルートを呼び出します。
https://docs.aws.amazon.com/ja_jp/ja_jp/apigateway/latest/developerguide/http-api-access-control-iam.html

とのことです。
IAM認証を有効にすると、署名バージョン4(SigV4)を使用してリクエストに署名をする必要がある、ということですね。

>署名バージョン 4 (SigV4) は、HTTP で送信される AWS API リクエ

元記事を表示

【AWS】AmazonConnectとLex間で変数をやり取りする方法

# 1.はじめに
どうも、ARIの名古屋支社に勤務している愛知県民こと、
新藏(にいくら)と申します♪
(/・ω・)/

何本かLexに関する記事を書きましたが、今回も同様のシリーズとなります。
**今回はAmazonConnectとLex間で変数をやり取りする方法について**記事にしたいと思います!
AWS、AmazonConnect、Lexについて勉強中の方の参考になれば幸いです。
(*^^)v

ちなみに、12月は**ARIのアドベントカレンダ**もやっていますので、
もしよろしければ、こちらも応援お願いします♪

https://qiita.com/advent-calendar/2022/ari-group

https://qiita.com/advent-calendar/2022/aichi_lover_yomoyama

# 2.AmazonConnectのコンタクト属性をLexで使用する

2.1.Lexを呼び出す「顧客の入力を取得する」ブロックのセッション属性にて、Lexに渡したい情報を設定します。

:::note info
以下の画像は、コンタクト属性「Bal

元記事を表示

Amazon CodeCatalyst 触ってみた!

## この記事はなに?

re:Invent2022 にて発表された, Amazon CodeCatalyst は何ができるのか, 試しに少し触ってみた感想をまとめたものです.

https://aws.amazon.com/about-aws/whats-new/2022/12/announcing-amazon-codecatalyst-preview/

## Amazon CodeCatalyst とは?

公式のFAQより
https://codecatalyst.aws/explore/faq

> Amazon CodeCatalyst is an integrated DevOps service for software development teams adopting continuous integration and deployment practices into their software development process.

(DeepL訳) Amazon CodeCatalyst は、ソフトウェア開発プロセスに継続的インテグレーションとデ

元記事を表示

[re:Invent 2022] ゲームバックエンドによく使われるRDSのBlue/Greenデプロイ新機能を使ってみた

こちらは [AWS for Games Advent Calendar 2022](https://qiita.com/advent-calendar/2022/aws-for-games) の12月6日分のエントリーです。

# はじめに
ゲームのバックエンドにプレイヤーやゲームのデータなどを保存するためにSQL系データベースはよく使われてますね。しかし、ローンチ後、ゲームに追加要素を加えるとデータの構成も当然変わります。基本的にゲームのアップデートを行う時、メンテナンス作業が必要になって、プレイヤーが遊べない時間が出てしまいます。

その問題を解決するには、つい先日のre:Invent 2022で発表された「RDSのBlue/Greenデプロイ」という新しい機能です。

簡単に説明すると、
1. 本番環境にあるデータベース(Blue)をレプリケーションすることで、開発環境・ステージング(Green)が作成される
1. 本番環境のデータ変更(INSERT・UPDATEなど)が開発環境に **リアルタイムで同期される**
1. 開発環境に **テーブルのスキーマを変更するのは可能**

元記事を表示

AWSのサービスをAWS CloudShell で操作する

この記事は[ラクスAdvent Calendar 2022](https://qiita.com/advent-calendar/2022/rakus) 6日目の記事です。

現場でAWS CloudShell を扱う機会がありましたので、その時に使用したものなどを書かせていただきます。

この記事がAWS CloudShellを知るきっかけになれば幸いです。

# AWS CloudShell とは
ブラウザから触れるコマンドラインになります。
AWS サービスに対して AWS CLI コマンドを実行できます。
コマンドラインツールのダウンロードもインストールも不要でaws cli やコンテナサービスのcliなど予めインストールされています。

# AWS CloudShell の特徴
* Amazon Linux 2ベースの環境
* ファイルをアップロード、ダウンロード可能
* ストレージは1GB
* コマンドラインシェルを切り替えることが出来る(Bash、PowerShell、Z Shell)
* AWSのGUIはデザインが時々変更され使いにくくなることもあるが、こちらはコマンド

元記事を表示

cdk deploy時の「fail: No bucket named」 の対処法

# エラー内容
– コマンド
“`bash:コマンド
cdk deploy
“`
– 実行例
“`bash:実行例
$ cdk deploy

✨ Synthesis time: 2.26s

【スタック名】: building assets…

[0%] start: Building afe12ee13b10f5531c1f6afc434951e2965d2ce674cd6131e0e18ce24003942f:current_account-current_region
[0%] start: Building 73b36b38182339c8db1095ad5cb82c62d3a882f8791130daa61c5853831382d1:current_account-current_region
[0%] start: Building b8d48382b962cfe5964deffa29fb036f2c27568cb774cc9f3c402f30c90d8003:current_account-current_region
[33%] success: Buil

元記事を表示

OTHERカテゴリの最新記事