AWS関連のことを調べてみた2023年07月20日

AWS関連のことを調べてみた2023年07月20日
目次

GPT APIを使ったSlack botをTypeScript / Boltフレームワーク / Serverless Frameworkで実装する 〜セットアップからデプロイまで〜

# はじめに
業務と並行してOpenAI APIで遊んでいますが、遊んでばかりだと顰蹙を買いそうなので、社内のお役立ちツールとして、みんな大好きSlack Botを作りました。

作ったBotは、控えめに言って、”よくあるやつ”です。

– メンションで起動
– スレッドの場合はスレッドの会話を踏まえて回答

たいへんよくある量産型botではあるので、スムーズに作れるだろうと思っていましたが、**Serverless Frameworkを使ったAWSへのデプロイでたいへん詰まりました。** やれやれ、これだから人生ってやつは。

Serverless Frameworkを使った公式ガイドがあるのですが、これがJavaScriptの例で、TypeScriptの場合は少し手入れが必要でした。

元記事を表示

Amplifyを利用したマルチテナント対応を考えてみる

# はじめに
[Amplifyを利用して簡単にWebアプリを作ってみる](https://qiita.com/Yoshihiro-Kawamura/items/b8b2667ad84d22b777fe) で作成したアプリに対して、よりサービス利用を意識した拡張を加えていこうと思います。
今回はマルチテナント対応の一環として、自身が所属するテナントのデータのみ操作できるように認可制御をかけていきます。

本対応を行うことで、以下が実現できます。
1. AWS Cognitoを用いた認証およびテナントIDの取得
2. AWS AppSyncとVTLを用いたテナント毎のデータ操作を可能にする認可制御

# アーキテクチャ
– Frontend: Next.js v12
– 認証: AWS Cognito
– バックエンド: AppSync & DynamoDB
![amplify.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/681334/999e16c9-bbec-0b91-8b1b-237bb6141cc

元記事を表示

2023年のAWSアップデート追いかけてみる(7月前半編)

どうも、気づいたら2個もAWS資格を失効してた若松です。

AWSのアップデートってre:Inventのときだけ必死に追いかけるのに年明けになるとサボっちゃうの何なんですかね?
ご多分に漏れず、私も2023年のアップデートを全然追いかけられていません。
当然ながら、AWSは年中アップデートを続けているわけで、その数も年々多くなってきて追いかけるのが大変です。
そこで、2023年分のアップデートを一気に舐めて、個人的に熱いと思ったものをピックアップしていきます。
※現時点で翻訳記事が出ていないものはGoogle翻訳で日本語化したタイトルにしています。

# AWSアップデート2023年7月前半編
#### [Meta の Llama 2 基礎モデルが Amazon SageMaker JumpStart で利用可能になりました](https://aws.amazon.com/about-aws/whats-new/2023/07/llama-2-foundation-models-meta-amazon-sagemaker-jumpstart/)
お前Microsoftと手を組んだはずで

元記事を表示

[Terraform] RDS Proxyをリーダーエンドポイント(Aurora Replicas)に対応させる

# はじめに

Auroraを利用する場合、データ取得はリーダーエンドポイントに繋ぐと効率的です。(詳細は以下リンクを参照)

https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/AuroraUserGuide/Aurora.Overview.Endpoints.html#Aurora.Overview.Endpoints.Types

その上で VPC Lambda からアクセスするなど RDS Proxy を挟みたいケースについて、設定方法が少し分かりづらかったので備忘録として残したいと思います。

# 結論

`aws_db_proxy_endpoint`を追加する

https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_proxy_endpoint

“`terraform:作成例
resource “aws_db_proxy_endpoint” “rds_proxy_reader_endpoint” {
db_prox

元記事を表示

Amazon AppFlow の BigQuery コネクタを試す

## はじめに
[Amazon AppFlow](https://aws.amazon.com/jp/appflow/) はさまざまな SaaS アプリケーションや AWS サービス間でデータを簡単に転送できるサービスです。

AppFlow でサポートされるアプリケーションは順次追加されており、AWS サービスも含めると約 80 のコネクタが提供されています。また [Custom Connector SDK](https://aws.amazon.com/jp/about-aws/whats-new/2022/02/amazon-appflow-launches-custom-connector-sdk/) を使用して独自のコネクタを開発することもできます。

2023/6/15 のアップデートで Amazon AppFlow に Google BigQuery コネクタが追加されました。

https://aws.amazon.com/jp/about-aws/whats-new/2023/06/amazon-appflow-new-data-connectors/

データソース

元記事を表示

DynamoDB Shell 使ってるか。これいいぞぉ

# DynamoDB Shell とは
**DynamoDB Shell(ddbsh)** とは、DynamoDB を初めて使うユーザにとって使い慣れた SQL のようなコマンドを実行することができる CLI です。
ddbsh のクエリ言語は SQL から派生したもので、DynamoDB 固有の拡張機能なんかを持っています。

## やってみよう

まずは、ddbsh の install から始めます。

https://github.com/awslabs/dynamodb-shell/tree/main

brew からひけるようなので必要なものを install していきます。

“`
brew tap aws/tap
brew install aws-ddbsh
“`

ddbsh を使うと対象とする aws アカウント内にある DynamoDB へ接続することと、ローカル DynamoDB を使用したければそちらへの接続に切り替えることもできる。

### 特定の AWS 環境内の DynamoDB へ接続する
AWS CLI の設定ファイル内に記載されているデフォルト

元記事を表示

【AWS SOA 試験対策】Amazon EC2 Auto Scaling スポットインスタンス 配分戦略

# はじめに
SOAで出題可能性がある「Amazon EC2 Auto Scaling スポットインスタンス 配分戦略」の要点をまとめてみました。

# 配分戦略とは
配分戦略とは、どのようなルールに基づいてスポットプールからスポットインスタンスを起動するかを定義したものです。
スポットプールとは、インスタンスタイプ、OS、AZ(アベイラビリティゾーン)が同一である、Amazon EC2 スポットインスタンスの集合をさします。

主に3つの配分戦略があります。

– lowestPrice
スポット価格が最安値のスポットプールから起動します。価格のみ考慮されるため、スポットインスタンスの中断がより頻繁に発生するケースがあります。
– capacityOptimized
最も容量が大きく中断しにくいスポットプールから起動します。起動のしやすさのみ考慮されるため、空き容量の差がわずかでも、高価格なスポットプールが選択される可能性があります。
– priceCapacityOptimized
スポット価格と起動のしやすさの両方を考慮してスポットプールを選択します。なるべく低価格かつ起動しやす

元記事を表示

ずっとプロマネ畑だったけれどAWS初心者?として歩き出して楽しい話し

ジャーニーマン( @beajourneyman )です。

オーガナイゼーション参加記事としてキャリアについて書くのはなかなか難しいです。書き始めから筆が止まっています。ただ、伝えたいコトがあるので、書いてみます。

# 結論というかこの記事で言いたいコト

**技術に少しでも興味があれば、経験は関係なく学び始めれば良い。エキスパートなキャリアがあって「今更初心者に戻れない症候群」の影響で幅が狭まるのは勿体無い。自分の興味関心に素直に従ってチャレンジしよう。**

たまたま、Book&Appsの安達さんが、本稿と地続きなツイートをされていたので紹介します。そう、新しいコトを学び多様な経験をするのは、単純に楽しいのです。

# 結論に至った背景(昔語りです)

## ベースのキャリア

未経験でIT業界に入り、新人研修を通してCOBOLプログラマー兼システムエンジニア(SE)になりました。ただ、プログラミングには楽しさは見出せず苦労していました。そんな中、当時の上司が案件

元記事を表示

【AWS Lamba】コンテナイメージから Lambda関数を作成する

## ローカル環境の準備
– Golangインストール
https://go.dev/dl/

– Dockerfile作成
“`dockerfile:Dockerfile
FROM golang:1.17-buster as builder
WORKDIR /go/src/lambda
COPY go.mod go.sum ./
RUN go mod download
COPY ./ .
RUN go build -a -o /main .

FROM debian:buster as runner
WORKDIR /app/
COPY –from=builder /main /main
ENTRYPOINT [ “/main” ]
“`

– main.go作成
“`golang:main.go
package main

import (
“fmt”
“context”
“github.com/aws/aws-lambda-go/lambda”
)

type MyEvent struct {
Name stri

元記事を表示

新卒SEがAWS資格取得してみた

今回は新卒SE2年目の僕がAWS CLFを合格した方法について書いていこうと思います。

## 現状
筆者のAWSスペックこんな感じです。
・理系情報学部出身
・Python歴2年
・今年4月に初めてAWSに仕事で関わる
・やっとマネージメントコンソールに見慣れてきた
・EC2,S3,Cloudwatch,codecommitの操作経験有

## 学習時間
今回の学習時間は平均的な50時間程度だと思います。
7/15までに受験すると1回目落ちても再受験が無料とのことで、急いで7/1に申し込んで2週間みっちり勉強しました!
7/1までは別の資格を受験したこともあり教材の1/4程でストップしていました?

## 学習方法
#### Udemyの動画教材
[【2023年版】これだけでOK! AWS認定クラウドプラクティショナー試験突破講座(豊富な試験問題290問付き)](https://www.udemy.com/share/103mIg/)

たまたまセールだったので購入しました!
購入したのは4/1だったんですけど、7/1に申し込むまでで進んだのが’EC2について’までなのでほぼ進んで

元記事を表示

GitHub ActionsでECSのタスク定義を取得する2つの方法

## はじめに
ECSデプロイのフローをGitHub Actionsで実装中、タスク定義を取得する方法が大きく分けて2種類あることが分かりました。
今回その2種類の解説を記事にしました。

## まず結論

1.AWS CLIでタスク定義(taskDefinitionの値のみ)を取得

“`yml:workflow.yml
env:
ECS_TASK_DEFINITION: task-definition
CONTAINER_NAME: my-container

steps:
– name: Amazon ECRへのログイン
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1

– name: タスク定義のダウンロード
run: |
aws ecs describe-task-definition –task-definition ${{ env.ECS_TASK_DEFINITION }} –query taskDefinition > task-definition.

元記事を表示

AWS認定クラウドプラクティショナーを受験した話

## はじめに
おはこんばんにちは。キティちゃんです。最近蒸し暑いかと思ったら急に雨が降り出したりと天気に困惑しています。今回は、最近受験したAWS認定クラウドプラクティショナーの資格のことについて書いてみたいと思います。これから受験を考えている人の参考になればなと思います。

## 受験しようと思ったきっかけ
AWSってよく話を聞くけど、自分はそこまでAWS理解してるわけじゃないよなぁとふと思ったのが受験してみようと思ったきっかけです。

## なぜAWS認定クラウドプラクティショナーなのか
元々アソシエイトの受験を検討していたのですが、AWSの資格について調べた時に、受験レベルが「AWSの業務経験が1年以上を対象」とした資格とあったので、「無理。。」となりました。そこで、さらに調べてみるとアソシエイトより下のランクに今回受験したAWS認定クラウドプラクティショナーを見つけました。対象者は「AWSの業務経験が半年以上」と書いてあった気がしますが、製品紹介といったAWSのサービスそのものに関する知識を問うような問題が中心とのことだったので、これなら勉強すれば何とかなりそうと思い、受験す

元記事を表示

API Gateway を使って S3 へ直接ファイルをアップロードする

# はじめに
s3 へ外部からファイルをアップロードする口を作りたい。

でも put 用の presigned url を発行するは認証情報を保持する何らかのアプリケーションサーバーを用意しなければならない。
HTTPのAuthorizationフィールドにシークレットアクセスキーを使用して計算した認証情報をセットして S3 の REST API を叩く方法もあるらしいがこれも認証情報の計算自体はクライアントでできないことは変わりない。
そして今はサーバーとか lambda とかを用意することすら面倒くさい。

なので何とか直接 S3 へファイルを PUT できるようにしよう。
そういう話。

まぁ、この記事の参照情報を見れば公式の手引きがあるが、AWSのこういう資料は項目名が古いままだったりするし、現在の情報を反映させるという事でひとつ。

# 1. IAM 作成
API で Amazon S3 のアクションを呼び出すための IAM アクセス許可を設定する

## ロールの作成
まずは API Gateway へ設定する用の IAM ポリシーを作成します。

– AWS IAM >

元記事を表示

EKS Managed Node Group を EventBridge で毎日「起動/削除」する

# はじめに
EKS の検証で数台の Node を起動しているが、業務時間外は使わないので停止をしたい。毎回手動で起動/削除するのが面倒なので、なんとか自動化できないか調査したところ、EventBridgeで実現できそうなので検証した。

# 概要
アーキテクチャは以下の通り
– 起動、停止用の EventBridge を作成する
– トリガーは cron とし、決められた日時に EKS API を実行する
– EKS API の UpdateNodegroupConfig で、EKS Managed Node Group の Desired Capacity (希望する台数)をアップデートする

# 作成手順
作成手順は下記の通り
– EventBridge 用の IAM Role を作成する
– EC2起動用の EventBridge Scheduler を作成する
– EC2削除用の EventBridge Scheduler を作成する

## EventBridge 用の IAM Role を作成する

**信頼ポリシー**
“`JSON
{
“Version”:

元記事を表示

【AWS CDK】GuardDutyの信頼されている IP リストを設定する時のTips

# はじめに
GuardDutyの**信頼されているIPリスト**はいくつかのフォーマットのファイルで設定することができますが、
基本的にS3バケットにアップロードする必要があります。

CDKには、**信頼されているIPリスト**を設定できる [CfnIPSet](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_guardduty.CfnIPSet.html) が用意されています。

CDKでGuardDutyの**信頼されているIPリスト** を設定するならS3のファイルデプロイまでCDKで行いたいと思いました。

## 話さないこと
– Amazon GuardDutyについて
– AWS CDKの基本的なことについて

# 環境
CDK 2.86.0(TypeScript)

# BucketDeployment
CDKでS3のファイルをデプロイするには、公式で [aws_s3_deployment](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-l

元記事を表示

マルチ AZ な RDS における監査ログの対応状況について

こんにちは。インサイトテクノロジーの松尾です!

本投稿ではマルチ AZ な RDS ( MySQL / MariaDB / PostgreSQL / Aurora ) における監査ログの対応状況について紹介します!

## はじめに

Amazon RDS における監査ログの取得については大きく分けて Database Activity Stream ( DAS ) と DB の標準の機能によるものに分けられます。また DB の標準機能についても、マルチ AZ の構成方式により使用可否が制限を受けることが確認できたので、まとめて記載することにしました。

※2023/07/19時点で調べた内容です。

## RDS の マルチ AZ 構成とは

非常にざっくりまとめると以下となります。

* シングル構成
* マルチ AZ DB インスタンス
* 1 つのスタンバイを備えたマルチ AZ
* スタンバイ DB にはアクセスできない (Active-Standby構成)
* マルチ AZ DB クラスター
* 2 つの読み取り可能なスタンバイを備えたマルチ AZ
* 合計

元記事を表示

[AWS Q&A 365][ECR]AWSのよくある問題の毎日5選 #97

# Q1: Amazon ECRはどのようなモニタリング機能を提供していますか?
A1: Amazon ECRは、サービスのクォータの可視化、アラーム設定、使用状況メトリクス、使用報告、リポジトリメトリクス、CloudWatchメトリクスなどのモニタリング機能を提供しています。これらの機能は、コンテナイメージリポジトリの使用状況とパフォーマンスを監視し、追跡するのに役立ちます。

# Q2: Amazon ECRでサービスのクォータを可視化し、アラームを設定する方法は?
A2: AWS Management Consoleを使用することで、サービスのクォータを可視化し、アラームを設定することができます。これにより、Amazon ECRサービスの上限と使用状況を簡単に監視し、特定の閾値に基づいて通知やアラームを設定することができます。

# Q3: Amazon ECRで利用可能な使用状況メトリクスは何ですか?
A3: Amazon ECRは、コンテナイメージリポジトリの使用状況を追跡し、分析するための使用状況メトリクスを提供しています。これらのメトリクスには、イメージのプッシュとプルの

元記事を表示

[AWS Q&A 365][ECR]Daily Five Common Questions #97

# Q1: What monitoring features does Amazon ECR provide?
A1: Amazon ECR provides monitoring features such as visualizing service quotas, setting alarms, usage metrics, usage reports, repository metrics, and CloudWatch metrics. These features help you monitor and track the usage and performance of your container image repositories.

# Q2: How can I visualize my service quotas and set alarms in Amazon ECR?
A2: You can visualize your service quotas and set alarms by using the AWS Management Conso

元記事を表示

【AWS】S3に保存した画像をRekognitionで分析し、DynamoDBとQuickShightで可視化してみた(1/2)

# 概要
Rekognitionを使って画像分析を試したかっただけですが、せっかくなのでDynamoDBとQuickShighを用いて結果を可視化してみました。
記事は2つに分かれており、1つめが分析(DynamoDBへ保存)、2つめが可視化(QuickShightを導入)となっています。
# 構成図
以下、構成図です。
![画像分析.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3491382/bd19d43c-42df-45b6-87a6-4b25f71901aa.png)
S3に画像が保存されるとLambdaが動作し、Rekognitionにて画像を分析します。
また、分析した結果をDynamoDBへ保存し、QuickShightで可視化します。

# 手順1(S3構築)
1-1.バケット名を入力し、リージョンは東京、その他はデフォルトのまま設定します。
   設定が完了したら、「バケットを作成」を押下します。
![s31.PNG](https://qiita-imag

元記事を表示

Amazon WorkMailで作成したメールアドレスをGmailで送受信する方法

弊社ではAWSを利用することが多く、様々なサービスを立ち上げる際に必要なメールアドレスをWorkMailで用意することがあります。
特に多いのが、システムからメール送信する際のno-replyのFromアドレス。メールを受信したいわけではないのに、登録時に受信確認が必要だったりすることもしばしば。。

そんな課題を解決するためにWorkMailはピッタリなのですが、メールアドレス取得は手軽で便利な反面、メールの送受信を必要とするシーンでは、WorkMailのWEBメールは使いづらい面があります。

今回は、それをGmailをメールクライアントとして利用することで解消する方法をご紹介します。

## 0. 前提
本記事、下記の前提で記載いたします。
* ドメイン取得済みで、Route53を使ったDNS設定をしている方向けのWorkMailの設定です。
* ドメイン取得したい方は、お名前.com等を活用ください
* https://www.onamae.com/
* Gmailを使えるgoogleアカウントを持っており、そのアカウントでメールの送受信を行う設定です。
* 画

元記事を表示

OTHERカテゴリの最新記事