AWS関連のことを調べてみた

AWS関連のことを調べてみた

[AWS] CDKでSSM パラメータストアに値をセットする

## パラメータストアとは
– AWS SSM パラメータストアは、AWSのサービスの設定値やシークレット値、アプリケーションで使用する環境変数等を安全に保存するためのサービスである。
– 階層型ストレージである。

## CDKでパラメータストアに値をセットする
早速、CDKでパラメータストアに値をセットしてみる。
“`typescript:environments-stack.ts

import { App, Stack, StackProps } from ‘aws-cdk-lib’
import * as ssm from ‘aws-cdk-lib/aws-ssm’;

export class EnvironmentStack extends Stack {
constructor(scope: App, id: string, props: StackProps) {
super(scope, id, props);
new ssm.StringParameter(this, ‘parameter’, {
parameterName: ‘

元記事を表示

VSCodeからAmazonQを使ってみた(Amazon版のChatGPT)

# はじめに
皆さん、こんにちは。都内でソフトウェアエンジニアをしている[YSasago](https://qiita.com/YSasago)です。今年のAWS re:Invent 2023で注目を集めた新サービス、[AmazonQ](https://aws.amazon.com/jp/q/)をもう試されましたか?私は、このサービスが特に大きな話題を呼んだと感じています。AmazonQは発表と同時にAWSコンソールにChatBoxが表示され、すぐに試すことができました。さらに、IDE(VSCodeなど)にも対応しているとのことで、私は日常的に使用しているVSCodeからAmazonQを使ってみました。

https://aws.amazon.com/jp/q/

# AmazonQとは
Amazon Qは下記の特徴があり、OpenAIのChatGPTに似た、Amazon版の生成AIアシスタントです。現在(2024年1月時点)はプレビュー版で、VSCodeからAmazonQの利用は無料です。

•AWSの17年分の知識を学習
•AWSコンソール、IDE、ドキュメント内でサポート
•AW

元記事を表示

Agents for Amazon Bedrockでサブウェイ風のAI店員を作ってみた

## 前提と概要

サブウェイ風の店員さんをAIで作ってみました。
その時の要点、実装を簡単にした方法を記事にまとめました。

### Q:なんでサブウェイ?

**→ A: 難しいから**

ChaliceのAgents for Amazon Bedrock向けの拡張プラグインを作っています。

https://github.com/ShotaOki/ChaliceA4AB/tree/master

サンプルプロジェクトを入れる必要があったのですが、どうせなら目一杯難しいサンプルを放り込んでやろうと思いました。

### この記事の要点を3行で

– チャットのエージェントはできるだけ細分化したほうがいい
– バリデータのzodを使って、例外ベースで制御するとぐっとシンプルになる
– Agents for Amazon Bedrockのフローは4パターンある

### この記事で使う環境の紹介

– **Agents for Amazon Bedrock**
AWSのサービスです。対話型のAIを作れます
– **Chalice**
Agents for Amazon Bedr

元記事を表示

適切なAWS EC2 AutoScallingの利用方法

# 適切なAWS EC2 AutoScallingの利用方法

AutoScalingは処理負荷に応じてEC2インスタンスの数を自動で増減することができるサービスです。

AutoScalingを適切に利用すれば、実際のサービスの需要に合わせてシステムが落ちることなく安定的なパフォーマンスを発揮することができます。

# AutoScallingを利用するメリット

## 1.パフォーマンス効率
需要にあったリソースを自動的に維持することで、安定したパフォーマンスでサービスを安定稼働することが可能。

## 2.信頼性
異常が発生したEC2インスタンスを検知・削除し、新しいEC2インスタンスに置き換えることで信頼性を担保します。

## 3.コスト最適化
従量課金制なので、過度な支出を下げコスト最適化することが可能です。(AutoScallingで展開されたリソース費用はかかりますが、設定自体は無料です。)

# AutoScallingを利用するデメリット

## 1.設定の複雑さ
Auto Scalingの設定は複雑であり、適切なスケーリングポリシーの設定や、ヘルスチェックのパラメ

元記事を表示

Azure AI-102/Azure AI Engineer Associate を年末の忙しい一週間で突破する方法

## 概要
昨年末にAI-102に合格したので、効率的な勉強法や対策方法、試験を受ける上での注意点についてご紹介したいと思います。

https://learn.microsoft.com/ja-jp/credentials/certifications/exams/ai-102/

## 費用
AzureのCloud Skill Challengeに参加し、試験の半額クーポンを入手したので、通常2万円強のところ2万円程度程度ですみました。このCloud Skill Challengeで入手できる半額クーポンは大抵のAzure試験に使えるので、簡単なコースを手早く終わらせてパッとクーポンを入手すると良いです。

https://developer.microsoft.com/ja-jp/offers/30-days-to-learn-it

## 筆者の概要
・データサイエンティストとしてAI/DX関連のプロジェクトに従事
・専門は画像処理だが、一通りの機械学習の知識はある状態。
・関連保有資格:AWS Machine Learning Specialty/Azure Fundamen

元記事を表示

Fargate上のGitLab起点でLambdaを更新するGitOpsを実現したい

# はじめに
この記事はDevOps on AWS大全 実践編の一部です。
DevOps on AWS大全 実践編の一覧は[こちら](https://qiita.com/tech4anyone/items/c27e74f9ae569ced259f)。

この記事ではGitLab起点でLambdaを更新するCICDパイプラインのアーキテクチャを決める流れを解説しています。

具体的には以下流れで説明します。

– 解決したい課題の整理
– 今回使うAWSサービスの整理
– アーキテクチャの策定
– 策定したアーキテクチャで達成できたこと

AWSの区分でいう「Level 400 : 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル」の内容です。

# この記事を読んでほしい人
– DevOpsエンジニアがアーキテクチャを決めるときにどのような思考フローを踏んでいるか知りたい人
– Lambdaを更新するCICDパイプラインのアーキテクチャを知りたい人
– AWS Certified DevOps Engineer Professionalを目指

元記事を表示

【個人開発】最悪なAPIを操るGPTsを公開したので遊んでね & 知見とメモを残す

## 注意事項
成果物は「例のアレ」に関連するGPTsです。
かなり挑戦的な内容になっています。(倫理的に)

https://chat.openai.com/g/g-L7RyawKcI-cui-gpt

## 成果物
生き字引と化したChatGPTが完成しました。

dictionary.png

文章を語録に変換してくれます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1977360/f9cfe29f-88ed-5b36-8fab-7f83aaeb437b.png)
語録の追加ができます。(あまり荒らさないでね)
一応似ている単語は弾くようにしています。
![image.png](https://q

元記事を表示

これだけでわかる Amazon CloudWatch の全貌

# はじめに

みなさん、CloudWatch サービスは普段よく使われていると思います。
しかしながら、そもそもの機能の多さに加え、頻繁な機能強化(メニュー構成すら変更)、類似の機能もあることから、全てを把握するのはなかなか難しいのではないでしょうか?
私も結局どれを使えばよいの?と迷子になることが多々…

# CloudWatch 機能のすべて

というわけで、どのような機能があるのかを整理してみました。

![cloudwatch全貌.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/117386/954b5430-a855-7954-1405-0e9b3b571fb5.png)

:::note warn
2024年1月時点の情報となります。re:Invent 2023で発表された、CloudWatch Appication Signals も網羅していますが、現在はプレビューのため、今後GAのタイミングでメニュー構成など変更になる可能性があります。
:::

# 逆引き Clo

元記事を表示

Amazon Q is your business expert (Preview) を使ってみた

# Amazon Q とは
[AWS re:Invent 2023](https://reinvent.awsevents.com/) で、生成AI系アシスタントサービスとして、Amazon Q が発表されました。Amazon Qは、企業システム内のデータや情報に基づいて、質問に答えたり、要約を提供したり、コンテンツを生成したり、タスクを完了したりできるAI搭載の生成アシスタントです。

https://aws.amazon.com/jp/about-aws/whats-new/2023/12/aws-announces-amazon-q-to-reimagine-the-future-of-work/

Amazon Q には以下4つの機能があります。
– Amazon Q is your business expert
– Amazon Q is your AWS expert
– Amazon Q in QuickSight
– Amazon Q in Connect

今回は**Amazon Q is your business expert**を利用してみました。

http

元記事を表示

Step Functionsの勉強がてら、Bedrockとかを使ってreturn falseな上司とLINEしてみる。

Step Funtions触り始めて3日目の人です。
今回の目的は、Step Functionsの「**Call third-party API**」を使ってみたくてやってみた話です。ざっくり言うと、外部APIの呼び出しをLambdaとか使わなくてもできちゃうよ。みたいなやつです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3635880/ca3b2c2e-885f-27b6-0fb0-b7e19de34ed4.png)
これですね。これ。

## return falseな上司とは
特に周りにそんな人がいるとかではないのですが、あえて定義するのであればこんな感じです。
“`typescript
function unreasonableBoss(input: any): boolean {
 let bossMind = input;
bossMind = null;
return false;
}
“`

## 最終的にやったこと
LINEのMessaging A

元記事を表示

Renesas RXファミリ用 FreeRTOS-LTS (iot-reference-rx) でIoT デバイスの証明書を更新する

# はじめに
最近、Renesas RXファミリ用 FreeRTOS-LTSサンプルプログラム (iot-reference-rx)がGitHub上に公開されました (iot-reference-rxには、FreeRTOS-v202210.01-LTSのライブラリを使用した各種デモプログラム/プロジェクトファイルが配置されています)。

* [renesas/iot-reference-rx](https://github.com/renesas/iot-reference-rx)

このiot-reference-rxで試すことができるデモプログラムは以下の3つです
これらのデモプログラムは複数を同時に実行することが可能なようです。

1. PubSub (AWS IoT Coreに簡単なMQTTメッセージを送信する)
2. OTA (AWS IoT Coreを使用してファームウェアアップデートを実行する)
3. Fleet Provisioning (共通の証明書/秘密鍵を使用してデバイス個別の証明書を取得する)

今回はiot-reference-rxを変更してデバイス個別の証明

元記事を表示

AWS Lambdaのローカル環境構築メモ

# 初めに
新しいWin11のPCにlambdaのローカル開発環境作ることになったのでメモとして残す。
※Hyper-V上に作成したまっさらなWindows11の仮想マシンに入れたものです。

# Pythonインストール
ここからインストーラ落とす。今回は3.12.1を入れる

https://www.python.org/downloads/

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/c8e3d152-440e-00b9-b190-640ad237802a.png)

チェック入れてInstall Now
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/261327/e81c982c-3cfb-a34d-6a20-80a8150383de.png)

Disable path length limitが出るが何もしない(今回はそこまで深い階層パスになることがない想定

元記事を表示

[Terraform]ALBを作成してみた

## 目的
Terraform学習でALBを作成したので備忘録として記事にまとめます。
今回は下記の構成図のように、冗長構成された環境でパブリックサブネットにALBを配置し、トラフィック送信先をASGへと紐づけます。また、ALBのヘルスチェック機能も併せて設定していきます。
尚、VPCやASGなどのALB以外のリソース作成コードに関しては割愛します。

![blog2.drawio.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3663364/45754d7b-4fba-21d2-b47a-6080c0e01b40.png)

## ALB作成

“`alb.tf
resource “aws_lb” “alb” {
name = “test-alb”
#インターネットからのアクセスを許可
internal = false
#ALB,NLBを明示的に選択(今回はALB)
load_balancer_type = “application”
#別途作成したセキュ

元記事を表示

Fargate上のGitLab起点でECSを更新するGitOpsを実現したい

# はじめに
この記事はDevOps on AWS大全 実践編の一部です。
DevOps on AWS大全 実践編の一覧は[こちら](https://qiita.com/tech4anyone/items/c27e74f9ae569ced259f)。

この記事ではGitLab起点でECSを更新するCICDパイプラインのアーキテクチャを決める流れを解説しています。

具体的には以下流れで説明します。

– 解決したい課題の整理
– 今回使うAWSサービスの整理
– アーキテクチャの策定
– 策定したアーキテクチャで達成できたこと

AWSの区分でいう「Level 400 : 複数のサービス、アーキテクチャによる実装でテクノロジーがどのように機能するかを解説するレベル」の内容です。

# この記事を読んでほしい人
– DevOpsエンジニアがアーキテクチャを決めるときにどのような思考フローを踏んでいるか知りたい人
– ECSを更新するCICDパイプラインのアーキテクチャを知りたい人
– AWS Certified DevOps Engineer Professionalを目指している人

元記事を表示

AWS ChatBotからAmazon Qを活用する

# 実施した内容

# メモ1(AWS CLI)
AWS CLI を実施する時は適切なIAMロールが追加で付与が必要。
例えば以下のようにEC2の一覧を見ようと思って叩きたい場合は
“`sh
@aws ec2 describe-instances –region ap-northeast-1
“`
![スクリーンショット 2024-01-03 23.49.11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2292878/996358b7-2afa-c04a-05f5-a47aa9056e5a.png)

IAMロールに`AmazonEC2ReadOnlyAccess`のポリシー追加が必要。
叩いてみると、いくつかパラメータを聞かれるが Skip していると値が返ってくる。
![スクリーンショット 2024-01-03 23.52.14.png](https://qiita-image-store.s3

元記事を表示

ECS on EC2でDockerコンテナを使用時に発生した自動タスク再起動の問題と解決策

English below the Japanese
## 背景

Amazon ECS on EC2を使用してVue、Laravel、MySQLを実行する3つのDockerコンテナを構築した際に直面した特定の問題について述べます。この問題は、タスクが不定期に約一日に一回自動的に終了し、再起動する現象です。

## 環境

– コンテナA:Vueを実行(専用のDockerボリュームあり)
– コンテナB:Laravelを実行(専用のDockerボリュームあり)
– コンテナC:MySQLを実行(専用のDockerボリュームあり、再起動によるデータ損失あり)

これらのコンテナは、それぞれ専用のDockerボリュームを持ち、EC2インスタンス上の一つのクラスターを介して一つのタスクとして定義され、各ボリュームがホストマシンにマウントされています。

## 問題の特定過程

タスクが不定期に再起動するため、AWSでは停止したタスクの情報は約1時間しか保持されません。そこで、以下のURLに従い、タスクの停止原因をCloudWatch Logsに記録することにしました。
[参考URL](htt

元記事を表示

AWS CLIで複数のアカウントを切り替える

# 概要
– 仕事でAWSを使っているのですが、AWS CLIを使って複数のアカウントを切り替える方法でハマったのでメモ(**かなり初歩的な内容です**)
– 以下のような状況を想定
– AWS CLIを使って複数のアカウントを切り替えたい

# ユースケース
– AWS環境が以下のような構成になっている
– 本番環境(`production`)
– ステージング環境(`staging`)
– 開発環境(`development`)
– それぞれの環境に対して、AWS CLIを使って操作したい
– AWS SSOアカウントが既に各環境に作成されている
– AWS SSOアカウントには、それぞれの環境に対応したロールが作成されている
– 例えば、本番環境に対応したロールは、`arn:aws:iam::123456789012:role/production-admin`のようなARNが割り当てられている
– 詳しくは、[AWS SSOのドキュメント](https://docs.aws.amazon.com/ja_jp/singlesignon/latest/u

元記事を表示

CloudFrontの多段構成

# 概要
CloudFrontの多段構成を構築運用した際の、記録を残します。

# 内容
既に運用しているCloudFront+αの環境において、既存環境(CloudFront)を手前に置きつつ、全く別な環境をさらにCloudFrontを利用して組みたかったので
いわゆる「CloudFront多段構成」をした際のメモを残しました。

## 構成

次のような構成例で考えます。
![aws-cloudfront-cloudfront.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/406764/7201d290-4693-9983-c117-340f0a1e690d.png)

※AWSアーキテクチャ図作成は[こちら](https://aws.amazon.com/jp/architecture/icons/)からお好みのツールを

以下に構築・設定メモを残します。

### ドメイン購入+Route53 HostedZoneでの用意
購入したドメインを使用できるように設定しておきます。
さらに、ACMを`

元記事を表示

LINEボットから呼び出せるKendra+BedrockのRAGアプリを作る

# はじめに
明けましておめでとうございます。本年もどうぞよろしくお願いいたします。
新年一発目のチャレンジとして、LINEボットから呼び出せるKendra+BedrockのRAGアプリを作ってみました。

# 参考にした記事
### 参考記事①
LINEボットからBedrockを呼び出せるようなコードが配布されていました。
めっちゃありがたい。。
参考、というかガッツリ利用させていただきました。
@moritalous さん、ありがとうございます!!

https://github.com/moritalous/bedrock-line-chat/tree/main

### 参考記事②
上記のコードにKendraとの連携部分を追記しました、というのがこの記事の内容なんですが
Kendraとの連携部分の記述は、以下の記事を参考にさせていただきました。

https://dev.classmethod.jp/articles/amazon-bedrock-kendra-lambda-rag/

# やったこと
以下について、それぞれ記載します。
1. コーディング
1. LINE Me

元記事を表示

AppSync (GraphQL) 学習メモ

# メモ
REST API のマネージドサービス = API Gateway
GraphQL のマネージドサービス = AppSync
スキーマとはフロントエンドとバックエンドがどのような形式でデータをやり取りするのかを決めたもの
## GraphQL
+ GraphQL
+ Facebookにより開発されたWebAPIのためのクエリ言語とそのランタイム(プログラムとかを動かすときに必要な部品のこと)
+ メリット
+ 少ないリクエストで複数のリソースにアクセス可能
+ クライアントに必要な最小限のデータだけを取得可能
+ デメリット
+ エンドポイントがリソースやアクションを表していない為、キャッシュやモニタリングなど、HTTPのエコシステムを活用しにくい
+ 単一のエンドポイントを一個だけ用意して、そこに対してクエリを投げ込む

### GraphQLスキーマ
GraphQLスキーマとは、**GraphQL APIが扱うデータの形状とそのデータに対する操作**を定義するもの。スキーマは、**デー

元記事を表示

OTHERカテゴリの最新記事