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

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

AWS ipv4でお金かかってるけど、どうすんだ(LB編)

# はじめに
Load Balancerをipv6対応するには下記
https://repost.aws/ja/knowledge-center/elb-configure-with-ipv6

1. VPC, SubnetにIPv6設定する
1. ALB本体でdualstackを設定する
1. route53のレコードにdualstackを付与してあげる

「1」は前の投稿を確認してください。
「3」は設定変更前にやってても動作影響ないです。所属会社で訳も分からずdualstackがついてたり・ついてなかったり乱立してます。

なので順番的には
1 -> 3 -> 2
かなって

# 設定
ロードバランサのIPアドレスタイプをdualstackにするだけです。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/47012/72582888-1a7c-7848-0d72-d24a5707be9b.png)

terraform的には
aws_lbステートに下記1行を足すだけです。
opti

元記事を表示

AWS ipv4でお金かかってるけど、どうすんだ(VPCとサブネット編)

# はじめに
公式の手順
https://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/vpc-migrate-ipv6.html

– ステップ 1: IPv6 CIDR ブロックを VPC およびサブネットと関連付ける
– ステップ 2: ルートテーブルを更新する
– ステップ 3: セキュリティグループルールを更新する
– ステップ 4: IPv6 アドレスを各リソースに割り当てる

ステップ3までは無影響でいけそうです。
ステップ4は別の記事で投稿します。

# ステップ 1: IPv6 CIDR ブロックを VPC およびサブネットと関連付ける
## VPC
### GUIでやる場合
VPCのCIDRの編集からやります
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/47012/b56ffe14-7e49-3200-df67-5d21a16b21d0.png)

解らなければAmazon提供のものを使うのが無難です
![image.

元記事を表示

test2

route_table.py
“`
from constructs import Construct
from cdktf import TerraformStack
from imports.aws import AwsProvider, Vpc, Subnet, RouteTable, Route, RouteTableAssociation

class MyRouteTableStack(TerraformStack):
def __init__(self, scope: Construct, ns: str):
super().__init__(scope, ns)

AwsProvider(self, “AWS”, region=”us-east-1″)

# 假设您已经创建了VPC和子网

# 为dev-s4-vpc-tra创建路由表
rtb_tra = RouteTable(self, “RTB_TRA”,
vpc_id=”

元記事を表示

Amazon Bedrockモデル評価 で基盤モデルをサクッと評価する

:::note info
Amazon Bedrock モデル評価は、プレビューリリースのため今後変更の可能性があります
:::

# はじめに
AWSマネージドコンソールのBedrockのページ上に、モデル評価(プレビュー)という機能があります。
端的に言えば、Amazon Bedrockで利用可能な基盤モデルについて、精度評価を行うことができるサービスです。
現在はバージニア北部、オレゴンのリージョンで利用可能なようです。
![2024-03-14-02-46-47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3115707/cb857b93-0528-57a3-0f42-002c18cdf9a2.png)

公式サイトでは「モデル評価」について以下のように説明されています。
> Amazon Bedrock はモデル評価ジョブをサポートしています。モデル評価ジョブの結果により、モデルの出力を評価して比較し、ダウンストリームの生成 AI アプリケーションに最適なモデルを選択できます。

本記事で

元記事を表示

CloudWatch Logs出力設定エラー 解消方法

## ■発生事象
新規にRedisのスローログをCloudWatch Logsへ出力する設定を行ったところ、設定時にエラーは発生しなかったものの、ログのステータスが「Error」と表示され、CloudWatch Logsへの出力が確認できませんでした。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3570295/9ecdd64f-9f7e-cc1f-8667-422ede5c7d92.png)
エラーの原因と解消方法について、記事に残したいと思います。

## ■原因
AWSでCloudWatch Logs出力設定を行う際、通常はAWS側で自動的に生成されるリソースポリシーにロググループ名が追加されます。
しかし、今回のケースでは、自動で生成されるポリシーの文字数制限(**5120文字**)を超過していたため、リソースポリシーにロググループ名が追加されず、CloudWatch Logsにログが出力されない状況でした。

なお、すべてのサービスが自動生成の対象ではありません。
以下のペー

元記事を表示

CloudFormationにCapabilitiesを定義する方法: CAPABILITY_IAM と CAPABILITY_NAMED_IAM

今回は、AWS CloudFormationで使われるCapabilitiesのうち、CAPABILITY_IAM と CAPABILITY_NAMED_IAM について解説します。

### CloudFormationとは

CloudFormationは、AWSリソースのインフラストラクチャをコードで管理するためのサービスです。テンプレートを使用してAWSリソースを定義し、テンプレートを実行することでリソースを作成、更新、削除することができます。

### Capabilitiesとは

Capabilitiesは、CloudFormationがスタックを作成、更新、削除する際に、必要な権限を指定するためのパラメータです。これにより、CloudFormationがスタック内で特定のアクションを実行する際のセキュリティが向上します。

### CAPABILITY_IAM

CAPABILITY_IAM を使用すると、CloudFormationはスタック内でIAMリソース(Identity and Access Management)を作成、変更、削除できるようになります。例えば

元記事を表示

Amplify接続先をAWS環境ごと変えたい

開発用のAWS環境で、CLIからinitして作成したAmplifyに接続済みのアプリ……
を、本番用のAWS環境に別のメンバーが用意したAmplifyに繋ぎかえたい

「新しいAWS環境にCLIからログインして、接続先を変えて、pullしたりinitしたりpushしたりすれば自動生成のamplifyconfiguration.jsonとかも作成されてうまいこといくだろう」という想定だった

### はまった内容
・`aws amplify list-apps`は新環境のAmplify一覧が表示されるが、`amplify env list`しても旧環境のものしか表示されない(新しいAmplifyが見えていないので繋ぎ変えられない)
・appid等を指定してpullすると`Amplify appid mismatch.`となり失敗する
***
### 解決
1. プロジェクトの中のamplifyフォルダを削除(は怖かったので`amplify-old`にrename)
2. `amplify pull –appId –envName 

元記事を表示

Amazon OpenSearch Serverlessを導入してみた

# 1. **はじめに**
仕事でAmazon OpenSearch Serverlessの導入プロジェクトを担当したので、せっかくなら理解したことや気づきをアウトプットしようと思い筆を取りました。

また、ElasticSearchやOpenSearch Serviceについての記事は沢山検索されるが、OpenSearch Serverlessについてはあまり検索できず、検索できたとしてもOpenSearchを理解していることが前提の内容ばかりで筆者を含む初心者にはハードルが高く感じたことも理由の一つです。

実装前の筆者の知識は「名前くらいは聞いたことがある」程度です。

# 2. システム課題
システム内には文字列でのキーワード検索機能があり、旧来MySQLのFULL TEXT INDEXで全文検索処理を行っていました。しかし、レコード数が大量(1億以上)になり結果が返却されないことがしばしば発生していました。

OpenSearchにはその処理を代替し、スムーズに返却されることを期待して導入しました。

![image.png](https://qiita-image-stor

元記事を表示

AWS勉強備忘録8 – AMIについて

## AMI (Amazon Machine Image) とは
### ざっくりした概要
AMIは、Amazon EC2インスタンスを起動するためのテンプレートであり、OS、アプリケーションサーバー、アプリケーション、設定情報など、インスタンスを実行するために必要なすべての情報を含んでいます。AMIはインスタンスの作成における「型金」のようなものであり、インスタンスの作成時に基盤となるOSや設定を定義します((サーバのディスクの中身が丸ごと入っている)。

### OSとの関係性と提供されるOS

AMIは特定のOSを含んでおり、インスタンス作成時にそのOSがインスタンスにインストールされます。提供されるOSには、Amazon Linux, Ubuntu, Red Hat Enterprise Linux, Windows Serverなどがあります。これにより、開発者やシステム管理者は、必要なOS上で独自のアプリケーションや環境を迅速にデプロイできます。

### AMIの料金

基本的にAMI自体に料金はかかりません。しかし、AMIを使用してEC2インスタンスを起動する場合、イン

元記事を表示

AWS勉強備忘録 7 – インスタンス作成における各設定項目と料金について

## AWSインスタンス作成の設定項目

1. **AMI (Amazon Machine Image)**: インスタンスにインストールするOSやアプリケーションの設定が含まれたテンプレートです。Amazon Linux 2, Ubuntu, Windows ServerなどのさまざまなOSから選択できます。

2. **インスタンスタイプ**: CPU、メモリ、ストレージ、ネットワーキングキャパシティによって異なります。一般的なタイプにはt2.micro, m5.largeなどがあります。

3. **リージョンとアベイラビリティゾーン**: AWSの物理的なデータセンターの位置です。リージョンには米国西部(オレゴン)、アジアパシフィック(東京)などがあります。インスタンスの遅延と料金に影響します。

4. **インスタンス数**: 起動するインスタンスの数です。

5. **購入オプション**: オンデマンド、リザーブドインスタンス、スポットインスタンス、専用ホストなどがあり、それぞれ料金と使用条件が異なります。なしも可能。

6. **ネットワークとサブネット**: インスタン

元記事を表示

Aurora MySQL 3.06 の ML 機能で Bedrock アクセスを試してみた

Aurora PostgreSQL では昨年末の時点ですでにサポートされていましたが、Aurora MySQL でも[こちらの記事](https://aws.amazon.com/jp/about-aws/whats-new/2024/03/aurora-mysql-integration-amazon-bedrock-generative-ai/)のとおり ML 機能で Bedrock へのアクセスがサポートされたので、試してみました。

https://aws.amazon.com/jp/about-aws/whats-new/2024/03/aurora-mysql-integration-amazon-bedrock-generative-ai/

## 環境を準備する

試すには以下の環境が必要です。

– Bedrock をサポートするリージョンと VPC
– 今回は東京リージョンで試しました
– 有効化された Bedrock のベースモデル
– 今回は Claude 2.1 で試しました
– Public Network にアクセス可能な Aurora クラスター

元記事を表示

Step Functions内でループ処理を作成したら無限ループになっていた

# はじめに
タイトルの通りなのだが、AWSから届いたアラートメールで大量にStep Functionsが実行されていたとに気づいた。Step Functionsは基本的に状態遷移の回数によって課金される。アラートが来たということは、大量の状態遷移が実行されているということになる。

図:届いたアラートメールのスクリーンショット
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/54100/02cc540a-4f77-a52a-20c5-463f4b813cf3.png)

実際に実行履歴を見てみると、一つの実行内で3000以上の遷移が起きていることがわかる。回数か実行時間のどちらかでエラー終了とさせたい。

図:Step Functionsのマネコン。3496回も実行されている・・・
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/54100/a8d98c6e-1a81-abd0-d7e9-f

元記事を表示

Amazon Bedrock で Claude 2.1 モデルが東京リージョンに対応!

# ついに Claude 2.1 が東京リージョンに来ました!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3567948/e4b2d1f3-2f1d-1ab8-d0bc-631508c5485c.png)

これまでの東京リージョンのAnthropic社基盤モデルは「Claude Instant」という「高速で低価格」を売りにしている性能重視のものでした。

「高速で低価格」が悪いことではありません。
ユースケースに合致するかどうかです。

精度を求めたり複雑な推論には対応していないので、
今回のClaude 2.1 が来たことでより複雑なユースケースに利用できるようになります。
(料金がClaude Instantの10倍する点は考慮する必要があります)
| 基盤モデル | モデル属性|最大トークン|ユースケース|オンデマンド料金
(入力トークン1,000個あたり)|オンデマンド料金
(出力トークン1,000個あたり)|
| :——: | :—— |:-

元記事を表示

【S3】イベント通知におけるオブジェクトキーのエンコードに関する注意点と解決策

# 背景
AWSを使用している開発者にとって、S3のイベント通知を処理するLambda関数は一般的なユースケースです。

しかし、オブジェクトキーに半角スペースが含まれている場合、S3はこれをプラス記号にエンコードして通知を送信します。
このエンコードにより、Lambda関数にはエンコード後のオブジェクトキー名が渡され、開発者が予期しない問題に直面する可能性があります。

例えば、S3のイベント通知で起動するLambda関数で、イベントデータからオブジェクトキーを取得し、何らかの処理をするとします。
Lambdaにはエンコード後のキー名が渡されるので、開発者はオブジェクトキーを適切に処理することができず、期待しない動作が発生する可能性があります。
(S3から当該キーのダウンロードに失敗する、など)

# 解決策
この問題を解決するためには、オブジェクトキーをLambda関数内で適切にデコードする必要があります。

Pythonの場合、urllib.parse.unquote_plus関数を使用して、エンコードされたオブジェクトキーをデコードすることができます。
このメソッドを使用する

元記事を表示

AWS Community Builderに選出された話とやったこと

# はじめに
こんにちは。もりかぷ兼角つきクジラです。
Twitterでも軽く書いたのですが、この度Amazon Web Services様(以下、AWS)よりAWS Community Builderに選出いただきました。(AWSさんありがとうございますっ!)

記事を書こうかな、書こうかなと思いつつ本業が忙しくてかけなかったのですが、時間ができたのでやってことなどを書いていきたいと思います。

https://x.com/Inakapu/status/1764606027834728725

# そもそもAWS Community Builderって何よ?
2020年からAWSさんがグローバルに提供しているプログラムです。(日本だけではないですよ)
プログラムの正式名称は「AWS Community Builders」で個人を指すときは「AWS Community Builder」(最後に s がない)です。

経験や学んだ知識をアウトプットしたり、コミュニティとの連携や盛り上げに貢献している技術愛好家、コミュニティをリードする方などに向けたプログラムです。

https://aw

元記事を表示

ALBとAmazon S3によるプライベートネットワーク向けのHTTPS静的ウェブサイトの構築について

富士通株式会社 パブリック&ヘルスケア事業本部 吉本 弘毅

# はじめに
クラウドスマートな環境構築において、Amazon Simple Storage Service (以降、S3)は根幹となるマネージドサービスです。S3は優秀なオブジェクトストレージであり、様々な機能を提供できる可能性を持っています。
本記事では、S3とALB ( Application Load Balancer )を用いて、プライベートネットワーク向けの静的ウェブサイトの構築実践と、得られた気付きについて解説します。

# 目次
1. [背景](#1-背景)
1. [想定する構成](#2-想定する構成)
1. [S3とは?](#3-s3とは)
1. [AWS PrivateLinkとは?](#4-aws-privatelinkとは)
1. [ALBとは?](#5-alb-とは)
1. [環境設定](#6-環境設定)
1. [実践して得られた気付き](#7-実践して得られた気付き)
1. [本構成におけるコスト](#8-本構成におけるコスト)
1. [まとめ](#9-まとめ)

# 1. 背景
「地方公共団体情

元記事を表示

AWS IoT CoreのTLS仕様(ドキュメント化されてない部分)

## はじめに
AWS IoT CoreがサポートするTLS仕様は[きちんとドキュメント化](https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/transport-security.html)されていますし、エンドポイントのCA証明書についても[ドキュメントがあります](https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/server-authentication.html)。
また、クライアント証明書についても受け入れられる署名について[ドキュメントがあります](https://docs.aws.amazon.com/ja_jp/iot/latest/developerguide/x509-client-certs.html)。

この記事は、上記以外のこまごまとした挙動をまとめたものです。2024/1時点、かつ東京リージョンでこうなっていたというだけなので、いつでも変更される可能性があるものとしてご覧ください(筆者がドキュメントを見落としている可

元記事を表示

AWS Certified Cloud Practitioner CLF-C02 Exam Part 3

The actual exam version for the AWS Certified Cloud Practitioner CLF-C02 Exam in 2024. I have just passed this exam and I want to share a very helpful website.

Source: [AWS Certified Cloud Practitioner CLF-C02 Exam Part 3](https://awslagi.com/aws-certified-cloud-practitioner-clf-c02-exam-part-3/)

Q121. A company wants to monitor its workload performance. The company wants to ensure that the cloud services are delivered at a level that meets its business needs. Which AWS Cloud Adoption Framewo

元記事を表示

Amazon Chime のチャット機能でどんなことができるのか確認する

# 1. Amazon Chime とは
* [Amazon Chime](https://docs.aws.amazon.com/ja_jp/chime/) とは、AWSで提供されているコミュニケーションサービスです
* このサービスはいわば Zoom や Microsoft Teams のAWS版といえるようなサービスで、チャット、オンラインミーティング、ビジネス通話などの様々な機能を提供するサービスです
* 今回は Amazon Chime のチャット機能に注目し、具体的にどのようなことができるのかを少し調べてみようと思います

# 2. 紹介記事
Amazon Chimeの紹介記事を探してみると、以下のようなものがありました。サービスの概要はここである程度わかると思います。

https://business.ntt-east.co.jp/content/cloudsolution/column-59.html

# 3. 基本的なドキュメント
* [ユーザーガイド](https://docs.aws.amazon.com/ja_jp/chime/latest/ug/chim

元記事を表示

test

#!/usr/bin/env python
import os
import sys
sys.path.append(os.path.join(os.path.dirname(__file__), ‘../..’))

from constructs import Construct
from cdktf import TerraformStack, TerraformOutput
from imports.aws import Subnet # 确保你导入的是正确的Subnet类

class SubnetStack(TerraformStack):
def __init__(self, scope: Construct, ns: str):
super().__init__(scope, ns)

# 创建 dev-s4-vpc-tra 下的子网
# 注意替换 vpc_id_tra 和 vpc_id_ext 为你实际的VPC ID
vpc_id_tra = “你的dev-s4-vpc-tra VPC ID”

元記事を表示

OTHERカテゴリの最新記事