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

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

Rails 6.1においてのAWSへのwebcompile

## Rails 6.1で起こったwebcompile errorについて
以前webcompileをしたときの内容の備忘録です。何か間違えがあればよろしくお願いします。
Referencesにおいてある記事はHerokuについて書かれているものもあったのですが、AWSでも機能したので、メモ程度に書いておきます。

### 環境設定
node -v 16.17.0
yarn -v 1.22.19
ruby -v 3.0.2
rails -v 6.1.4

### 最初に起こったエラー

“`
Compiling…
Compilation failed:
node:internal/process/promises:289
triggerUncaughtException(err, true /* fromPromise */);
^

Error: Cannot find package ‘@babel/plugin-proposal-private-methods’ imported from …
“`
AWSでprec

元記事を表示

システムのコンテナ化とAWSにおけるService選定(Fargate, ECR, ECS)

コンテナ開発は本当に必要でしょうか。どのような状況下で役に立つのか、開発現場で起こりやすい問題とコンテナ仮想化による解決方法についてご紹介します。

コンテナ開発の必要性
開発現場での問題
新規でシステムを開発する際、搭載する機能やインターフェス、連携する外部サービス、想定利用ユーザ数は限定的になることが大半ですので、シンプルなインフラ構成で構築されることが多いです。そのほとんどはWEBサーバー、アプリケーションサーバー、DBサーバーのみの3層構成で事足りるケースも多いでしょう。また新規のシステム開発では、プロジェクトチームの体制も少人数で構成され、開発環境の整備にほとんど困ることはないはずです。

しかしながら、アプリケーションに実装される機能が追加されるにつれて、コードは複雑性を増していきます。また、想定利用ユーザ数が増加すると、各サーバーの増強や性能拡張が必要になり、運用維持コストが増加します。開発メンバーが増えるたびに環境構築作業が必要になり、既存の開発環境と同等の環境を準備することも徐々に大変さを増していきます。大半の開発現場では、システムの成長につれて、次のようなことに頭を

元記事を表示

【AWS CDK】既存のASLを有効活用したStep FunctionsのCDK実装 ~ASL読み込み/実装編~

## はじめに
Step Functionsを実装する時どうされていますでしょうか?
私は、検討しながら、試しながらマネージメントコンソールからポチポチと作ってしまうのが大半です。
このポチポチで作るとASL(Amazon States Language)で出力することができるので、正式な環境を作る時うまい具合に流用したいのですが、出力されたASLだと連携するリソースのARN等がハードコーディングされており、リファクタリングしないと流用できないです。

また、正式な環境を作る時は、IaCを活用したいので、CDKでStep Functionsを実装する場合、連携するリソースも併せて実装する都合上普通なら作成したASLを元にCDK L2 Constructsで検討し直すアプローチだと思います。
[CDK Constructsに関して](https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/constructs.html)

個人的に、ポチポチで作ったベースがあるのにがっつり流用できないのはもったいないなと思ってしまいました。
ここから、ポチポチで作っ

元記事を表示

【AWS CDK】既存のASLを有効活用したStep FunctionsのCDK実装 ~ASLパラメータ置換編~

## はじめに
Step Functionsを実装する時どうされていますでしょうか?
私は、検討しながら、試しながらマネージメントコンソールからポチポチと作ってしまうのが大半です。
このポチポチで作るとASL(Amazon States Language)で出力することができるので、正式な環境を作る時うまい具合に流用したいのですが、出力されたASLだと連携するリソースのARN等がハードコーディングされており、リファクタリングしないと流用できないです。

また、正式な環境を作る時は、IaCを活用したいので、CDKでStep Functionsを実装する場合、連携するリソースも併せて実装する都合上普通なら作成したASLを元にCDK L2 Constructsで検討し直すアプローチだと思います。
[CDK Constructsに関して](https://docs.aws.amazon.com/ja_jp/cdk/v2/guide/constructs.html)

個人的に、ポチポチで作ったベースがあるのにがっつり流用できないのはもったいないなと思ってしまいました。
ここから、ポチポチで作っ

元記事を表示

IAMのAssumeRoleを理解する

AWS Identity and Access Management (IAM) の AssumeRole 機能は、一時的なセキュリティ認証情報を提供し、異なるIAMロールを一時的に引き受けることを可能にします。この記事では、AssumeRoleの基本的な概念と実際の使用方法について解説します。

## AssumeRoleとは?

IAMのAssumeRoleは、あるIAMエンティティ(ユーザー、アプリケーション、またはサービス)が一時的に別のロールを引き受けることを可能にする機能です。このプロセスを通じて、エンティティは追加のアクセス権を一時的に得ることができます。

## なぜAssumeRoleが必要なのか?

– **最小権限の原則**: 一時的なアクセス権限を使用することで、常に必要最小限の権限で作業を行うことができます。
– **クロスアカウントアクセス**: 異なるAWSアカウント間でリソースにアクセスする必要がある場合に便利です。
– **一時的なアクセス**: 限られた期間だけ特定のリソースへのアクセスを許可したい場合に使用します。

## 基本的な使い方

1.

元記事を表示

【ECS】Fargate上で動かすTomcatコンテナのJMX情報を取得する

# はじめに
Fargate上で動かすTomcatコンテナ内のJava Management Extensions (以下 JMX)の情報を取得するために、jmx_exporter + CloudWatchAgent の構成で検証しました。
jmx_exporter( https://github.com/prometheus/jmx_exporter )とは、Prometheus向けのJavaのエクスポーターで、JMXの情報をPrometheus用に出力してくれます。この情報をCloudWatchAgent(以下CWA)で取得し、CloudWatchLogsに出力します。また、CloudWatchLogsに出力された情報を基にカスタムメトリクスを作成することで、JMXの情報の可視化や監視を行うことが可能になります。
jmx_exporterはPrometheus用のエクスポーターなので、Prometheusを構築する必要があるのでは?と思いましたが、CWAがPrometheus用の情報も取り扱えるので、不要とのことです。嬉しいですね。

# 構成図
今回作成した構成のイメージ

元記事を表示

[TypeScript]AWS DynamoDBを初心者でも簡単に使うためのライブラリを作ってみた

## はじめに
普段RDSを主に利用する私が、初めてDynamoDBを使ってwebサービス開発をする時に、DynamoDB特有のクセのあるクエリ組み立てに苦労したので、自分と同じような境遇の人がもっと簡単に使うための設計を考えてみました。
今回はAWS Lambda + API Gatewayで簡単なバックエンドのAPIを作り、その上でDynamoDBとやり取りをする形を取りました。
## この記事の対象者
・TypeScriptでDynamoDBを使ってみたい方
・DynamoDBに接続する実装を楽にしたい方
・AWS APIGateway + Lambda + DynamoDBの構成を触ってみたい方

AWS API GatewayやLambdaは実際のAWS上に作る前提になっていますが、DynamoDBに対するクエリを簡単に使えることを体験して欲しいので環境構築はTypeScriptを用いたIaCを採用していて、コマンド1つで開発環境が整います。

## なぜ考えることになったのか
私が初めてDynamoDBを利用し始めた時は、開発中に次のようなつらみと出会いました。

###

元記事を表示

AWS LambdaでPythonの外部ライブラリを設定する方法

# 概要
Lambdaでは、Python標準ライブラリとAWS SDK for Pythonしか使用できません。
また、Lambda上ではpipによる外部ライブラリのインストールもできません。

そのため、必要なライブラリは自分で調達してくる必要があります。
ここでは、外部ライブラリの調達と設定方法について解説します。

# 手段
Lambdaでは外部ライブラリを配置できる場所が2つあります。

* Lambdaレイヤー
* Lambda関数ごとのコード置き場(フォルダ/ファイル構成)

配置場所はどちらでもよいのですが、枯れた技術(アップデートの頻度が少ないモジュールや外部ライブラリ)はLambdaレイヤー配置するのが、一般的な作法なようです[^1]。
今回は**Lambdaレイヤーに外部ライブラリを配置**する方法を取ります。

# 外部ライブラリを取得する
外部ライブラリは公開先からダウンロードしてよいですが、“`pip install -t“`でローカルに落としてしまうのが手っ取り早いです。

AWS環境で完結させるなら、外部ライブラリ調達用にCloud9を1つ作成し、

元記事を表示

CloudFormationスタック間の依存リソースの削除方法

## はじめに

CloudFormationを使用すると、AWSリソースのプロビジョニングと管理を自動化できます。しかし、複数のスタックが相互に依存している場合、特定のリソースを安全に削除するには注意が必要です。

## スタックの依存関係の理解

まず、スタック間でどのような依存関係があるかを理解することが重要です。例えば、スタックAがVPCを作成し、スタックBがそのVPC内にサブネットを作成する場合、スタックBはスタックAに依存しています。

## 削除プロセス

依存するスタックのリソースを削除するには、以下のステップに従います。

1. **依存するスタックの特定**: どのスタックが削除しようとしているリソースに依存しているかを特定します。
2. **依存スタックの更新**: 依存するスタックを更新し、依存リソースへの参照を削除します。
3. **リソースの削除**: 依存リソースへの参照がなくなったことを確認した後、リソースを安全に削除できます。
4. **スタックの削除**: 必要に応じて、関連するスタックを削除します。

## 注意点

– スタックの削除や更新を行う

元記事を表示

Microsoft Copilotを使って業務自動化をやってみた所感~Excelユーザ一覧をAWSへ自動出力するVBAマクロを実装してみて~

## はじめに
本記事は、Microsoft Copilotを使って業務効率化を試みた際の所感についてまとめたものです。

https://www.bing.com/chat?q=Bing+AI&FORM=hpcodx

会社のユーザ管理業務としてよくある、Excelのユーザ一覧が更新された際のシステム(今回はAWSで構築されている想定)への反映作業をVBAマクロを使って自動化してみました。

なお、この取り組みは生成AIを使いこなすための勉強を目的としているため、自身でほぼコーディングは行わずにColilotとの対話のみで実装しています。(VBA初心者だったという理由もありますが…)

## やってみたこと(ユーザ管理業務効率化)
よくある社内のユーザ管理業務を一例に、以下のようなExcelで作られたユーザ一覧に更新が入った場合に、ボタン1つでAWS上にアップロードする仕組みを構築します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3740505/cdf7bd04-e789-cf

元記事を表示

Route53で2024年4月8日から.netや.comの価格が変わるよ!

こんばんは。

`[Notification] Route 53 Domain Pricing Changes [AWS Account: xxxxxxxxxxxx]`
というメールが届いた!

とか、

`AWS Health Dashboardで変な通知が出た!`
とか。
内容は以下の通り。
“`
Amazon Route 53 is providing advance notice of upcoming changes to domain pricing for Route 53 to help you make an informed decision regarding any impending domain renewals.

Starting April 8, 2024, we will be making adjustments to our Top Level Domains (TLDs) pricing. A list of affected TLDs can be found in the ‘Affected resources’ tab.
“`

そん

元記事を表示

[AWS][VPC]エンドポイントとエンドポイントサービスってなにが違うの?

## 概要
AWSのマネジメントコンソールを見ていて、赤枠のサービスの違いがよくわからなかったので調べてみました。
![cap1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715905/2f9fd5e4-4292-8264-9ed6-59612558add5.png)

補足・誤りがありましたら、ご指摘お願いいたします。

## 記事の構成
– [準備]ネットワーク構成
– そもそもVPCエンドポイントってなに?
– エンドポイントとエンドポイントサービスの違いってなに?

## [準備]ネットワーク構成
簡易ですが、以下ネットワーク・サーバを構築しております。
![nw](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3715905/5113d2ce-8bb6-80a9-c918-98f600c4489f.png)

– 基本的に疎通確認にはVPC_Aを使います。
VPC_Bは後でエンドポイントサービスを検証する際

元記事を表示

【AWS】今日からできるAWSでのBCP対策【BCP対策】

## BCP対策で検討すべきこと
### 1. BCPとは
・BCPとは、Business Continuity Planの略で、業務継続計画のことです。
・災害や自己など、不測の事態による業務中断が発生しないよう、また、発生した場合でも速やかに復旧・再開できるよう、優先順位や手順などの行動を、あらかじめ策定し準備しておく行動計画です。

### 2. BCPで対応すべき主な要因
・BCPというと地震などの自然災害により事業拠点にダメージが発生することで事業がすすめられないことの対策がイメージしやすいですが、他には人為的なミスやサイバー攻撃で業務を進めるために重要なデータが失われることの対策も必要になります。
#### <主な要因>
・人的ミス、サイバー攻撃、システム障害、自然災害 など
### 3. 復旧目標 (RTO と RPO)
・何らかの要因でデータやシステムに問題が発生した際に、復旧までにどれくらいの停止時間が許されるか、障害が発生した時点からどこまで前までの状態に戻せればよいのかということはその業務やシステムの要件によって異なります。
・BCPの戦略はこれらの要件(PRO,

元記事を表示

ELBのHealthyHostCountメトリクスについて

# はじめに
ELB配下のターゲットが異常もしくはない場合にアラートを出したいケースってありますよね。
その場合、ELBのHealthyHostCountを利用するのが一般的かと思います。
ELBのHealthyHostCountを使ってアラートを上げる際に少し気にするポイントがあったので語っていきます。

# HealthyHostCount
その名の通り、ELB配下のHealthCheckに成功しELBがHealthyとみとめたターゲット数です。

https://docs.aws.amazon.com/ja_jp/elasticloadbalancing/latest/application/load-balancer-cloudwatch-metrics.html

通常以下のようにヘルスチェックに成功しELBがHealthyとみとめたターゲット数をメトリクスに出力します。
![スクリーンショット 2024-03-03 22.29.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/584167

元記事を表示

IrisデータセットをBatch Transformで!

# 目次

1. 環境セットアップ
2. 前準備(カスタムスクリプト)
3. 前準備(トレーニングの実行まで)
4. リアルタイムエンドポイントでの予測
5. Batch Transformを使った予測

# 1. 環境セットアップ

https://qiita.com/gahirosan/items/903fe7e1d1191d3d6404

事前準備として、SageMaker Studio環境を用意します。

作成したモデルをもとに、「リアルタイムエンドポイント」「Batch Transform」それぞれで推論を行います。

https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models-realtime.html

リアルタイム推論は、リアルタイム、インタラクティブ、低レイテンシが要求される推論ワークロードに最適です。

https://docs.aws.amazon.com/sagemaker/latest/dg/autopilot-deploy-models-batch.html

バッチ推論は、

元記事を表示

ハッカソン参加時の備忘録 ~ 第7回:【Python】AWS Rekoginitionのメソッドの種類を見てみよう ~

こんにちは。
ITエンジニアのきゅうと申します。

今回は事前にお伝えした通り、AWS Rekognitionのメソッドの種類や機能概要などについて見ていきたいと思います。
ここにあるサンプルは、メソッドを使う部分のみ切り出したものになります。
探し求めていたものがあった場合は、下記の備忘録を参考にインスタンス化、接続、実行、データの取り出し・活用をしてみてください。

https://qiita.com/kyuu2197/items/fd566d9966994a712f91

# Image(画像分析)のメソッドについて
まずはRekognitionの画像分析(Image)と動画分析(Video)の内、画像分析のメソッドについて確認していきます。

## 1.detect_labels
detect_labelsメソッドは、画像から物体やイベント、テーマなどのラベルを検出することが出来ます。
画像プロパティには、前景や背景の色、画像の鮮明度、明るさ、コントラストなどの属性が含まれます。

detect_labelsのサンプルコード
元記事を表示

AWS認定 ソリューションアーキテクト プロフェッショナルで個人利用しにくいサービスのチートシート

# はじめに
AWS認定 ソリューションアーキテクト プロフェッショナルでは、主にエンタープライズ利用をするケースを想定しているため、個人で検証できないような構成に関する問題も多い。一番良いのは実務経験のなかでこれらを覚えていくことだが、そうも言っていられない人も多くいると思うので、概要をまとめておく。

この記事が、認定試験受験者の一助になれば幸い。

# マイグレーション系マネージドサービス
データ移行、システム移行はオンプレミスのシステムを前提にしていることが多いため、環境が作りにくい。
AWSは親切なことに、物理サーバだろうと仮想サーバだろうと移行できるように色々なメニューを用意してくれている。正しくユースケースを理解していないと得点につなげられない。

## AWS Migration Hub
異なるサービスを使用した移行作業を追跡し、管理するための一元管理サービス。

### Migration Hub Strategy Recommendations
AWS Migration Hubの機能で、移行の計画や実施を最適化するための推奨戦略やレポートを提供する

### AW

元記事を表示

boto3

<メモ>

### 1.boto3のインストール
“`
pip install boto3
“`

### 2.AWSCLIのインストール
“`
pip install awscli
“`

### 3.Configure設定
“`
aws configre
“`

AWS Access Key ID:※以下参照
AWS Secret Access Key: ※以下参照
Default region name: ap-northeast-1
Default output format: json

————————————————-
AWS Access Key ID と AWS Secret Access Key について
これらのキーを取得する手順は以下

AWS マネージメントコンソールにログインします。
IAM(Identity and Access Management)コンソールに移動します。
ユーザーを選択または作成し、そのユーザーの「セキュリティ認証情報」タブに移動します。
「アクセスキーを

元記事を表示

Claude3に雑に頼むと行間を埋めてStableDiffusionで絵を描いてくれるチャットアプリ

賢いClaude3を使って、描いて欲しい絵をClaude3に頼むと足りない情報を聞き返してくれて、「もういいかな」となれば行間を埋めながらStableDiffusionで絵にしてくれるアプリを作ってみます。

以下、頼んだ内容と描いてもらった絵

> 日本のオフィスで自撮りをする地鶏
> 日本のアニメのようなタッチで

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/1e37e6b2-f95b-07d4-f1d1-f8dadc566210.png)

自撮り成分はあるようなないような

> K-POP風の美しい女性がダンスをしている写真

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3573242/9e08e4f9-d9a1-cfaf-037f-48175cd08140.png)

なんかケバくなった

> ドクタースランプの新しいキャラ。横長で。

![image.png

元記事を表示

Claude3でサイゼリヤの間違い探しを解いてみる

# この記事について

画像解析ができる強力な生成AI、Claude 3がAWSで使えるようになりました
現時点(2024/03/10時点)で、AWSではミドルクラスのSonnetしか使えないのですが、それでも十分な精度があります

この記事では、難問と名高いサイゼリヤの間違い探しをClaude3にさせてみました

# 実施した環境

– boto3(Python 3.12)
– AWS Bedrock
– Claude 3 Sonnet(バージョン:bedrock-2023-05-31)
※最上位のOpusはまだAWSで使えないため、Sonnetで検証します。

# いまさらながら、サイゼリヤの間違え探しとはなんぞや

サイゼリヤ(全国チェーンのレストラン)のキッズメニューにある間違い探しゲームです。

「大人が15分かけてようやく解けるレベル」に設定されているのですが、その難易度がたびたびニュースに取り上げられます。

**日刊ゲンダイ:「サイゼリヤ」キッズメニューの“間違い探し”が難しすぎる**
https://www.nikkan-gendai.com/articles/vie

元記事を表示

OTHERカテゴリの最新記事