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

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

Claude ArtifactsのようなStreamlitアプリを作る方法を解説

ClaudeのArtifactsが正式リリースしました。

https://www.anthropic.com/news/artifacts

とても便利に活用しています。たとえば、HTMLのモックを簡単に作ることができます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/41574/be0abc79-4fe4-3d3e-ad6b-8e0c25fe9c6e.png)

利用者として便利なのはもちろんですが、独自で同じようなものが作れないか考えてみました。

StreamlitとBedrockを使ってそれっぽいものができましたので、作り方をご紹介します。

:::note
生成AIはBedrockのClaude 3 Haikuを使用します。
:::

## HTMLを生成する方法

### 方法1)普通にプロンプトで指定してみる

プロンプトに「HTMLを生成して」を指定すると以下のような結果となります。

“`python
client = boto3.client(“bedroc

元記事を表示

[Amazon Web Services]AWS re:Invent 2024参加します!!!!! レポート#0

AWSに出会ってから約1年、、、**AWS re:Invent 2024**に参加できることになりました!!!!!
参加にあたっての事前調査を兼ね、AWS re:Invent 2024をご紹介させていただきます!

## AWS re:Invent 2024 とは
AWS re:Invent 2024とは、一言でいうと、
楽しみながら学べてつながれる、アマゾン ウェブ サービス(AWS)主催のラーニングカンファレンスです。

開催地:**アメリカ ネバダ州 ラスベガス**
開催日程:**2024年12月2日~2024年12月6日**

>AWS re:Invent は、AWS が世界中のクラウド コンピューティング コミュニティ向けに主催する学習カンファレンスです。対面式のイベントでは、基調講演、トレーニングと認定資格の機会、2,000 を超える技術セッションへのアクセス、Expo、営業時間外のイベントなど、さまざまなイベントが開催されます。
日程は2024 年 12 月 2 日から 6 日まで、ネバダ州ラスベガスの複数の会場で開催されます。
https://reinvent.awse

元記事を表示

AWSスイッチロールを試す

## はじめに
スイッチロールを試します。
おそらくスイッチロールは別のアカウントにスイッチすることが多いと思いますが、今回は同じアカウントでロールだけスイッチします。別のアカウント作るのは手間なので今回は同じアカウントで仕組みだけを理解します。業務では複数のアカウントを使ってると思いますが、個人の検証なのでそこまではしません
別のアカウントにスイッチするときは、さらに設定が必要かもしれません

ユースケースでは、通常は開発環境で作業している人たちを、商用環境に切り替えるために行うのだと思います。商用環境は別のAWSアカウントなのだと思います

## 参考にした手順
– [AWS IAMでスイッチロールを使う手順](https://baresupport.jp/blog/2022/05/12/113/)
– [IAMのスイッチロールについての初心者向けガイド](https://dev.classmethod.jp/articles/iam-switchrole-for-beginner/)

## スイッチロール用のロールを作成する
ロール名:`switchRoleAdmin`
`

元記事を表示

Redisのnode, shard, clusterとは

## 概観

![ElastiCache-NodeGroups.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/690075/e847ea46-025a-91b1-d930-09000944fd0f.png)

## nodeとは
– 1つのDB
– primary node : 読み・書きができる
– replica node : 読みだけできる

## shardとは
– primary node ( + replica node)
– `node group`とも呼ばれる

## clusterとは
– shard * n

## 参考文献
– [Redis OSS nodes and shards](https://docs.aws.amazon.com/AmazonElastiCache/latest/red-ug/CacheNodes.NodeGroups.html)

元記事を表示

とっても便利なAWS CLI使用のススメ

# AWS CLIのメリットとデメリット:管理コンソール、CloudFormationとの比較

AWS CLI (コマンドラインインターフェース)は、AWSのリソースを管理するための強力なツールです。AWS CLIを使用することで、ユーザーはコマンドラインから直接AWSサービスを操作できます。

## 1. AWS CLIのメリット
### 1.1 スクリプトによる自動化
AWS CLIの最大のメリットは、スクリプトを使って操作を自動化できることです。繰り返しのタスクや複雑なデプロイメントをシェルスクリプトやPythonなどで自動化することで、作業時間の短縮やエラーの減少を実現できます。

### 1.2 複数アカウントや複数プロファイルの管理が容易
AWS CLIでは、複数のAWSアカウントやプロファイルを簡単に切り替えることができます。これにより、異なる環境(例えば開発、ステージング、本番)での操作を一元的に管理できるようになります。

### 1.3 CLIでしかできない詳細な操作が可能
CLIには、管理コンソールでは対応していない詳細な操作やオプションが存在します。例えば、特

元記事を表示

AWSの無料枠まとめてみた

## AWSの無料枠の種類
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3871776/d448861d-0876-9d50-2599-f5bc27fae473.png)

### ◇ 12か月間無料枠
AWSアカウントを作成した日から1年間、特定のサービスを無料で利用できる枠。

### ◇ 無期限無料枠
特定のサービスを期間制限なく無料で利用できる枠。
ただし、利用回数や容量に制限があるため、注意が必要。

### ◇ 無料トライアル
一定期間または一定回数だけ無料で利用できる枠。

## 12ヶ月無料枠の代表的なサービス

– Amazon EC2: 750時間/月のt2.microまたはt3.microインスタンスが利用可能。
– Amazon S3: 5GBの標準ストレージが無料で利用できる。
– Amazon RDS: 750時間/月まで無料で利用可能。
– Amazon EBS: 30GBまでのEBS汎用ストレージが無料で利用可能。
– Amazon Elastic

元記事を表示

仮想環境のLinuxサーバーでrootパスワードを忘れた場合のリカバリー手順

## はじめに
実務の中で、重要なLinuxサーバーのrootパスワードを紛失してしまう事態が発生しました。さらに、sudoersファイルに構文エラーが生じ、sudoコマンドが使用できないという厳しい条件下での解決が求められました。
## 前提条件
・Amazon EC2: Red Hat Enterprise Linux (RHEL8)
・特権権限の「rootユーザ」のパスワード紛失: rootユーザでのログイン不可
・一般ユーザ: ssm-userでログインし管理者権限以外の操作は可能
・sudoersファイルに構文エラー: sudoコマンドが使えない
・sudoersファイルの編集: visudoコマンドなど管理者権限が必要
## やりたいこと
1.リカバリー用のEC2を起動
2.パスワードを紛失したEC2のEBSを二次ボリュームとしてアタッチし、マウント
3.sudoersファイルの構文エラーを解消し、ssm-userでsudoコマンドを使用できるように修正
4.リカバリー用のEC2から二次ボリュームをデタッチし、元のEC2に再アタッチ
5.ssm-userでsudoコマンドを

元記事を表示

Linuxで、AWC-Cliのコマンド補完を設定する

AWSコンプリータがインストールされていることを確認します。
“`
which aws_completer
/usr/local/bin/aws_completer
“`
 
.bash_profile、.profile、または .bash_loginに以下を追加します。
“`
complete -C ‘/usr/local/bin/aws_completer’ aws
“`
※ 「complete」はbashでコマンドラインの「補完」を行う方法を指定するコマンドです。

 
以下のコマンドを実行し、.bash_profile、.profile、または .bash_loginの設定を反映します。
“`
source .bashrc
“`

以上です。

元記事を表示

【初心者向け AWS基礎】AWSサービスの料金計算(pricing calculator)

## 使いたいAWSサービスが、月にどれくらい費用がかかるのか

AWSサービスを使うとき、どれくらいの費用がかかるのか、調べるときに使うのが、AWS pricing calculator。

https://calculator.aws/#/

## 使い方

例えば、、
東京リージョンに、EC2にUbuntuサーバを立てる場合の料金を調べるとする。

①オレンジ色の『見積もりの作成』を押す。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3871776/b8e6b0e6-40d7-b8b7-405a-c825d1c2be7a.png)

②リージョン(東京)とサービス(EC2)を選択する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3871776/d15da3df-1d85-b0a3-6997-4a35aad5da81.png)

③OSやインスタンスファミリー・メモリ等を入力す

元記事を表示

ECRを使ってVoicevoxのDockerイメージをApp Runnerにデプロイした話

## はじめに
この記事は、「**ハッカソンでデプロイしたアプリでもvoicevoxを使いたい!**」という気持ちから、実際にAWSのApp Runnerにデプロイしたものを忘備録的に残しておこうというものです。

## 注意点
AWSは色々な無料枠を用意してくれていますが、App Runnerには無料枠がありません!(2024/09/06時点現在)
発生するお金に関してはご自身の責任でお支払いください。

## なぜApp Runner
– 今回参加したハッカソンではデプロイにはAWSを使う必要があったため
– 開発期間中は開発用のクレジットがもらえたため、金額などは気にしなくてよかった
– できる限りお手軽にデプロイしたい!
– できる限り設定をしたくない
– 「**新しいことに挑戦したい!**」

これらの理由でApp Runnerを選んでデプロイしました!

「ECSじゃダメなの?」というかた、試してはいませんが多分いけます!(是非試して記事にしてください!)

## 事前準備
下記の2つは他の記事などを参考に設定を終わらせておいてください。
1. AWSへの登

元記事を表示

AWSでAIチャットボット

## AIチャットボットを立ち上げ、運用する

AWS上でAIチャットボットを動作させるための手順。

先ず、以下の記事を参考にAWSのサーバーを立ち上げる。

https://qiita.com/quittardis/items/62caf057fb499648859a

このAWSサーバーにアクセスし、AIチャットボットの
環境を設定する。

wsl2のubuntuウィンドウ内で作業する。
aws上のECのユーザー名がubuntu、AWSのアクセスキーが作業ディレクトリにあるとし、そのファイル名がxxxx.pemとすると、
#### AWSにログイン
“`
ssh -i “xxxx.pem” ubuntu@
“`
#### バーチャル環境
以下のコマンドで環境を設定
“`
source api/bin/activate
“`
これによって、コマンドラインに左側に環境名が表示される、
(この場合はapi)
“`
(api) ubuntu@ip-xxxxxxxxx
“`

#### OpenAI APIキーの設定
 ユーザーのホームディレクトリにある、

元記事を表示

見習いがプライベートサブネット配下にあるEC2のmysqlへの疎通確認で沼った話

# 経緯
プライベートサブネット配下にあるEC2にmysqlをインストールし
パブリックサブネット配下にあるEC2からDB接続する必要があった。
その際に中々うまく繋がらなかったので振り返りがてらメモを残します。

# 構成情報
AWS、mysql8、EC2、OS ubuntu

## 想定している経路
* パブリックサブネットEC2←→プライベートサブネットEC2(mysql)
(※長いので以後、フロントサーバーとDBサーバーとする)

# その1.プライベートサブネットにmysqlインストールできない問題
当たり前ですがDBサーバーはプライベートサブネットにあるため
パッケージをインストールしようにもネットが繋がっていない
なので一時的にネットに繋がる状態にする必要がある。

## ルートテーブル変更
EIPを一時的につける方法もあるが、今回はルートテーブル変更で対応した。
プライベートサブネットを一時的にigwがついているルートテーブルへ変更した。
その後はお決まりのpingで疎通確認、googleさんいつもありがとうございます。

“`bash
$ ping google.c

元記事を表示

AWS AmplifyのQuick Startをやってみた

# はじめに
こんにちは。おおえです。
本日9月6日はANGEL Dojoの中間発表の日で、ANGEL Dojoの活動も残るところ約1ヶ月となります。ANGEL Dojoが始まってから時間の経過が早いと常々感じておりますが、良い成果を出せるように最後まで頑張っていきたいと思います。

本記事はANGEL Calendar 6日目の投稿で、「AWS AmplifyのQuick Startをやってみた」となります。読んでいただけますと幸いです。

また、他のANGEL Dojoに参加されている方の記事は以下からご確認いただけます。

https://qiita.com/organizations/2024-angel-dojo

# AWS Amplifyって何?
皆さんはアプリ開発を普段からしていますでしょうか?私自身は今までの業務ではインフラ分野を担当しており、アプリについてはJavaScriptを少し触った程度の知識しかありませんでした。そんな中で今はANGEL Dojoに参加して四苦八苦しながら開発を進めているところとなります。特にアプリケーションのデプロイには**AWS Ampl

元記事を表示

AWS Cloud WAN & AWS Direct Connect SiteLink(個人学習まとめ)

## AWS Cloud WANとは
(一言でいうと)
 「企業がグローバルなWANを簡単に構築、管理、監視出来るようにするためのサービス」
  →複雑なNW構成をシンプルにし、運用コストを削減することが可能

https://aws.amazon.com/jp/blogs/news/introducing-aws-cloud-wan-preview/

##### 主要な特徴と利点
###### 1\. グローバルNWの迅速な構築
 数分でグローバルNWが構築可能
 AWSのバックボーンを利用して海外の拠点とも容易に接続が可能
(今のGBB網が要らなくなる…!?)

###### 2\.統合管理と監視
 統合されたダッシュボードを通じて、NW全体の連携、監視、管理が可能
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3879433/0751ad59-82c6-a450-aeca-c52cd30d0d87.png)

###### 3\. セキュリティとセグメン

元記事を表示

Step Functionsからchatbot経由でslack連携してみた

# 初めに
chatbotってLambdaがイベントソースの場合はslack連携してくれず、いけているのかいけていないのかよく分からないサービスですよね

step functionsだと、実行ステータスの変更イベントでEventBridgeが発火してSNSからslack連携することが出来ました
slack連携は出来ましたが、デフォルトのメッセージ内容が実行ステータスしか読み取れない状態でしたので、そこら辺に一工夫必要でした
断片的な情報はWebや生成AIから拾えましたが、欲しい情報に辿り着くまで苦労したので、ここに纏めておきます

# コンテンツ
## SFnの実行ステータス遷移イベント
[step functionsのイベント例]((https://docs.aws.amazon.com/ja_jp/step-functions/latest/dg/cw-events.html)) と [interface EventPattern](https://docs.aws.amazon.com/cdk/api/v2/docs/aws-cdk-lib.aws_events.EventPa

元記事を表示

ALBのログ分析でAthenaが遅いのでpartitionを追加した

# TL;DR

[このクエリ](https://qiita.com/KMtnst/items/90639181ec494f6e8143#sql%E3%81%AB%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB%E3%83%89%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B%E3%81%A8%E6%88%90%E5%8A%9F%E3%81%97%E3%81%9F)を実行するだけなので1分あれば終わります。
公式ドキュメントに書いてあるSQLは古いので注意しましょう(2024/9現在)。
やり直すとき、一度テーブルを削除してから作り直すのは忘れずに。

# きっかけ:ALBのログ分析のAthenaが遅すぎる
きっかけはALBのログ分析をしたい時、Athenaのクエリが遅すぎることでした。
約4年以上ALBのログを保存し続けたことで、データ量がかなり増えている状況で、
ただのPreviewでも1分ほどかかっており、クエリによっては10分ほどかかってしまっていました。
1個のクエリに10分も要していては、到底アドホッ

元記事を表示

【MYSQL】Check the status of the database if this condition persists が出る

## エラーログ
“`
[WARN] Database “dev-db-01” at 172.31.0.167:3306 became unavailable for access from 172.31.0.8. Check the status of the database if this condition persists.
“`

## 原因
このエラーは、RDSプロキシがデータベースインスタンスに接続できない場合に発生します。

## 対処方法
1. RDSインスタンスの状態確認
– AWS CLIまたはコンソールでRDSインスタンスの状態を確認:
“`
aws rds describe-db-instances –db-instance-identifier dev-db-01 –query ‘DBInstances[0].DBInstanceStatus’
“`

2. セキュリティグループの設定確認
– RDSインスタンスとRDSプロキシのセキュリティグループを確認:
“`
resource “aws_secu

元記事を表示

【AWS】certificate verify failed: unable to get local issuer certificate (_ssl.c:1006)) が出る

## エラーログ
RDSプロキシにて

“`
Database error: (2003, “Can’t connect to MySQL server on ‘dev-proxy-db-01.XXX.ap-northeast-1.rds.amazonaws.com’ ([SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1006))”)
“`
が出る

## 原因
このエラーは、SSL証明書の検証に失敗した場合に発生します。

## 対処方法
1. 正しい証明書のダウンロードと使用
– 最新のRDS証明書をダウンロード:
“`
wget https://truststore.pki.rds.amazonaws.com/global/global-bundle.pem -O rds-ca-2019-root.pem
“`
– S3バケットに証明書をアップロード:
“`
re

元記事を表示

【MYSQL】Failed to connect to database: (1045, “Access denied for user が出る

## エラーログ
“`
Failed to connect to database: (1045, “Access denied for user ‘dev_admin’@’172.31.1.129’ (using password: YES)”)
“`

## 原因
このエラーは、データベースユーザー名またはパスワードが正しくない場合に発生します。

## 対処方法
1. AWS Secrets Managerの確認
– Secrets Managerに保存されているユーザー名とパスワードが正しいか確認
– 必要に応じて、以下のようにTerraformコードを修正:
“`
resource “aws_secretsmanager_secret_version” “db_credential” {
secret_id = aws_secretsmanager_secret.db_credential.id
secret_string = jsonencode({
username = “${var.environment}

元記事を表示

AWS BatchでHello World(Python)

## はじめに
AWS Batchを利用してHello Worldしたのでメモに残します。
とりあえず動かし方を知りたい人向けです。
ローカルの環境はWindows10です。

## PythonスクリプトとDockerファイルの作成
VSCを起動して作業場所を決めてください
その後、作業場所配下に次のスクリプトとDockerファイルを作成してください
~~~python:app.py
print(“Hello from Fargate!”)
~~~
~~~docker:Dockerfile
FROM python:3.8-slim

WORKDIR /usr/src/app

/usr/src/app
COPY . .

CMD [“python”, “./app.py”]
~~~

## Amazon ECRへプッシュ
先ほどのスクリプトとDockerファイルをAmazon Elastic Container Registry(ECR)へ登録します。
これによって、ECSやAWS Batchから実行できるようになります。
### ECRでリポジトリを作成
– AmazonECR

元記事を表示

OTHERカテゴリの最新記事