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

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

OpenAI API連携Slackボットに社内情報を回答させてみた

# はじめに
以前、ChatGPTをSlackから利用できるようにしたことをこちらの記事でご紹介しました。
このSlackボットを最近話題のRAG構成にすることで、社内情報を元に回答するようにしてみました。

https://qiita.com/nishimura-POHD-CCoE/items/556baa843ab32aaaef31

# RAGとは
RAGとはRetrieval Augmented Generationの略称で、日本語では検索拡張生成と訳されています。
LLM(Large Language Model)は例えば企業内部の情報やLLMが学習していない最新の情報を保持していないため、LLM単体では質問に対して正確な回答をしてくれないことがあります。
RAG構成では、LLMが知らない情報を外部データから検索(Retrieval)し、その検索結果を元にLLMが質問への回答を生成(Generation)するため、LLM自身が学習していない情報についても正確な回答が得られるようになります。

# 構成
作成したSlackボットの構成はこちらの図のとおりです。
この図中の③④が

元記事を表示

Elastic Beanstalkの超詳細解説

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

この記事ではElastic Beanstalkに関連する内容を超詳細にまとめています。

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

– Elastic Beanstalkとは
– Elastic Beanstalkの仕組み
– Elastic Beanstalk for Advance

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

# この記事を読んでほしい人
– Elastic Beanstalkがどういうサービスか説明できるようになりたい人
– Elastic Beanstalkを採用するときのベストプラクティスを説明できるようになりたい人
– AWS Certified DevOps Engineer Professionalを目指している人

#

元記事を表示

AWS CleanRoomsのクエリを定期的に実行するLambda関数

## 記事の目的
AWS CleanRoomsのコラボレーションによるデータ共有は、共有する側/される側でCleanRoomsでクエリを実行できるレベルの知識やクエリ実行する手間が必要となるため、非エンジニアにデータ共有したいといった要件の場合は運用面でのハードルがある。
自動で定期的にクエリを実行するようにして、S3に保存されている結果ファイルだけを共有するようにしたいと思ったが、調べた限りCleanRooms自体にはクエリを自動的に定期実行する仕組みがない模様。
ということで、CleanRoomsのクエリを定期実行するLambda関数を作ってみた。

## 前提
### ローカル
– mac(Windowsの場合はコマンド等を適宜読み替え)
– Node.js バージョン20.x がインストール済みであること
– AWSの認証情報が設定済みであること

### AWS
– CleanRoomsのコラボレーションが作成済みであること
– 実行するクエリの分析テンプレートを登録済みであること
– 記事内のAWSマネコンのリンク東京リージョン


## ソースコード
htt

元記事を表示

【AWS re:Invent 準備編】re:Inventを満喫する為のTips5選

# はじめに

AWS re:Inventまで後わずか1週間ちょっととなりました!
来週の土曜日には出国していることを考えると、時間が経つのは早いものですね:airplane:

過去のre:Invent参加経験から得た感想をTipsとしてまとめましたので、
今年の参加者の皆さんや、来年以降の参加を検討されている方々のお役に立てれば幸いです!
re:Invent準備編として以下も投稿していますので、併せてご覧ください:sunglasses:

https://qiita.com/mizuki_hori_POHD_CCoE/items/baf357e3857370cd3067

https://qiita.com/mizuki_hori_POHD_CCoE/items/c36d04252e288d04f78f

# AWS re:Inventとは
AWS 最大規模のラーニングカンファレンスで、世界中から約5万人の参加者が集まります。会期中は、新サービスやサービスアップデートの発表が大量に行われます。re:Inventに参加することでAWSの最新情報を入手する事が出来ます!

つまり、約1

元記事を表示

【OCI クラウド移行ガイド】 Amazon RDS for PostgreSQL を OCI Database with PostgreSQLへ移行してみた

# OCIクラウド移行ガイドとは

オンプレミスやAWSなど、複数のプラットフォームからOracle Cloud Infrastructureへの移行プロジェクトに取り組んでいるクラウドエンジニア(@araidon,@kazunishi,@yama6)による、OCI移行手順をまとめたシリーズ記事です。
各回、サンプルワークロードから対象サービスを取り上げ、移行手順をガイドいたします。
まとめ記事は以下になります。

https://qiita.com/yama6/items/b197c0fe3ec75eb02637

# 移行するサービス:Amazon RDS for PostgreSQL

今回、移行対象とするのはAmazon RDS for PostgreSQLです。
PostgreSQLクライアントアプリケーションである、pg_dumpと、pg_restoreを用いて、
RDS for PostgreSQLのDBをOCI Database with PostgreSQLに移行してみます。

# 移行イメージ
![image.png](https://qiita-image-sto

元記事を表示

LightsailのAmazon Linux 2023でシングルノードのKubernetes

また検証で必要になったのでメモ、今回はLightsailのAmazon Linux 2023でやってみようかと。
Amazon Linux苦労するかと思ったが、多分史上最高に簡単だった。食わず嫌い良くないな。

今回試す構成は以下。
・AWS Lightsail、OSはAmazon Linux 2023(Amazon Linux 2023 2023.2.20231113.0)、2 CPUでメモリ2GBの$10のやつ、が1台。メモリ2GB(以上)は必須である。
・コンテナランタイムはcontainerd(v1.7.8)
・kubernetes v1.28をkubeadmで導入
・ネットワークドライバはflannel(v0.23.0)

# 1. コンテナランタイムを導入するまで

Lightsailのssh鍵を入手してsshクライアントで接続するところの手順は割愛。
`putty -i lightsail.ppk ec2-user@13.231.194.245`みたいなコマンドで接続。

OS側の準備はKubernetesの以下のドキュメントを参照しつつ実施する。日本語訳もあるのだが、m

元記事を表示

【ElasticIP】パブリックIPとの違いと必要性

# 【ElasticIP】パブリックIPとの違いと必要性

インターネット上でサーバーを運用する際、IPアドレスはそのサーバーへの「住所」として機能します。Amazon Web Services(AWS)で提供されるEC2(Elastic Compute Cloud)インスタンスには、パブリックIPとElastic IPという二種類のIPアドレスがあります。これらは似ているようでいて、重要な違いがあります。この記事では、EC2の概要と、パブリックIPとElastic IPの特徴、さらにElastic IPの必要性について初心者にも分かりやすく解説します。

## EC2の概要

### クラウド上の仮想サーバー

Amazon EC2は、AWSが提供するクラウドコンピューティングサービスの一つで、仮想サーバー(インスタンス)をオンデマンドで提供します。ユーザーは、必要に応じてサーバーの種類、サイズ、設定を選択し、クラウド上で自由に構築、管理することができます。

#### 特徴

– **柔軟性**: さまざまなタイプのインスタンスから選択可能で、用途に応じたリソースの確保が可能です。

元記事を表示

S3を用いて画像を保存する方法

# S3を用いて画像を保存する方法

Amazon Web Services(AWS)の中でも特に人気のあるサービスの一つが、Amazon Simple Storage Service(S3)です。このサービスは、インターネット上で大量のデータを保存・取得するための堅牢なストレージソリューションを提供します。ここでは、S3の基本概念、S3でバケットを作成する手順、RailsアプリケーションでS3をローカル環境および本番環境で使用する方法について詳しく解説します。

## S3とは

### スケーラブルなオブジェクトストレージサービス

Amazon S3は、インターネット上でのデータストレージとリトリーバルを提供するサービスです。ファイルや画像などのオブジェクトを保存し、必要に応じていつでもアクセスできるようにすることが可能です。

#### 特徴

– **高い耐久性**: データは複数の物理的な施設に跨って保存され、耐障害性が高いです。
– **容易なスケーラビリティ**: ストレージの容量を気にすることなく、必要に応じてデータ量を増やすことができます。
– **柔軟なアクセス制

元記事を表示

git-secretsでパスワードのプッシュを防ぐ方法

# git-secretsでパスワードのプッシュを防ぐ方法

ソフトウェア開発において、セキュリティは非常に重要です。特に、誤って機密情報をGitリポジトリにプッシュすることは避けなければなりません。ここでは、git-secretsを使用してパスワードや秘密情報の不用意なプッシュを防ぐ方法を初心者向けに解説します。また、環境変数の設定方法とgit-secretsの導入手順、AWS関連情報の設定、GitHub Desktopでの使用方法についても触れます。

## 環境変数とその設定方法

環境変数は、オペレーティングシステムで設定される値で、プログラムの実行時に様々な情報を提供します。例えば、APIキーやデータベースの接続情報などの機密データを安全に管理するために用いられます。

### 設定方法

– **Windows**:
“`bash
set VARIABLE_NAME=value
“`
– **Linux/Mac**:
“`bash
vim ~/.zshrc

export VARIABLE_NAME=value

元記事を表示

【初心者OK】AWS S3を利用した画像アップロードアプリを開発してみた

# アプリの概要
![aws-s3-app.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3617758/66a7ed00-1176-1dfb-92bc-2f6d225db852.png)

このアプリは、クライアント端末からS3に画像のアップロードとS3内の画像の取得ができます。
ただそれだけのアプリですが、これを応用すれば動画投稿サイトやSNSなど、開発の幅が広がります。

使用した技術は以下の通りです。

– HTML
– Tailwind CSS
– JavaScript(React, TypeScript, Next.js)
– Node.js
– Express
– AWS IAM
– AWS S3

開発期間は1日ですので、手順通りにすれば数2〜3時間程度で完了します。

# フロントエンド編
create-next-appで開発環境を整えたら、以下のようなディレクトリになるようにしましょう。

![aws-s3-app2.png](https://qiita-image-store.s3

元記事を表示

Amazon Bedrock 全LLM 日本語能力比較

Bedrockで使用可能なLLMについて、結局のところどのLLMが日本語を解するのかを確認する為、2023/11/15現在、Bedrockで使用可能な全てのLLMに対して、味噌汁の作り方を質問してみます。

# テストプログラム

Llama2は2023/11/15現在、LangChain経由はまだダメそうだったのでboto3から呼んでいます。

“`Python:japanese_test.py
from langchain.llms import Bedrock

prompt=”質問:味噌汁の作り方を説明してください。”

# Jurassic-2 Mid
llm = Bedrock(model_id=”ai21.j2-mid-v1″,model_kwargs={“maxTokens”:1000})
answer = llm.predict(prompt)
print(“Jurassic-2 Mid: ” + answer + “\n”)

# Jurassic-2 Ultra
llm = Bedrock(model_id=”ai21.j2-ultra-v1″,model_kw

元記事を表示

AWS Service Catalogの超詳細解説

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

この記事ではAWS Service Catalogに関連する内容を超詳細にまとめています。

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

– AWS Service Catalogとは
– AWS Service Catalogの仕組み
– AWS Service Catalogのセキュリティ
– AWS Service Catalog for Advance

AWSの区分でいう「Level 200:トピックの入門知識を持っていることを前提に、ベストプラクティス、サービス機能を解説するレベル」の内容です。

# この記事を読んでほしい人
– AWS Service Catalogがどういうサービスか説明できるようになりたい人
– AWS Service Catalogを採用するときのベストプラクティスを説明できるようになりたい人
– AWS Certifie

元記事を表示

QuickSightとIAM Identity Centerを利用したSSOの検証

# はじめに
今回は2023年8月14日に発表されたQuickSightのAWS IAM Identity Centerに関するアップデート内容の検証結果と検証環境構築の要所をご紹介いたします。

# 目次
– アップデート内容について
– そもそもAWS IAM Identity Centerってなに?
– マルチアカウントの課題とSSO(シングルサインオン)
– アップデート内容の図解
– 検証の流れ
– 環境構築
– 検証
– 検証結果
– さいごに

# アップデート内容について
Amazon QuickSight(以後QuickSightと記載する) が AWS IAM Identity Center(以後IAM Identity Centerと記載する)対応のアプリケーションになったことで、
QuickSight を利用している管理者が、IAM Identity Centerを使用して、ユーザーが既存の認証情報を使ってログインできるようにすることが可能になったというのがアップデートのざっくりした内容です。

https://aws.amazon.co

元記事を表示

AWS CodePipline CodeBuild CodeDeployについて

## 概要

– Code3兄弟と言われる「CodePipline」「CodeBuild」「CodeDeploy」それぞれの関係性を簡単にまとめておく。

## 関係性

Code系AWSリソースの関係性を簡単にまとめる。

– CodePipline: 長男
– CodeBuild: 次男
– CodeDeploy: 三男

のようなイメージ
上記の登場人物で役割分担をして夕飯の料理をつくる(料理を食卓テーブルに配膳する)感じっぽい。

### 流れ(イメージ)

1. 長男(Pipline)が母親が食材を買って帰宅したことに気がつく。
1. 長男から次男(Build)にお願いをして調理を開始する。
1. 調理完了を長男が確認する。
1. 長男から三男(Deploy)にお願いして料理を皿に盛り付け、食卓テーブルに配膳するお願いをする。
1. 配膳完了を長男が確認する。
1. 長男が配膳完了の旨を両親に伝える。

### 流れ(実際)

1. Piplineは監視中のGitのブランチに変更があった場合CI/CDのプロセスを開始する。
1. PiplineがBuildを実行し、コードのビ

元記事を表示

【Rails】Amazon Bedrockを使用してみた

どうもこんにちは。

今回はRailsアプリケーションからAmazon BedrockをAPIで接続してみたので紹介します。

# Amazon Bedrockって何?

公式ページから引用すると、、、

> Amazon Bedrockは、主要なAIスタートアップとAmazonが提供するFMをAPI経由で利用可能にするフルマネージドサービスであるため、幅広いFMから自分のユースケースに最適なモデルを選ぶことができる。Bedrockのサーバーレス・エクスペリエンスを利用すれば、インフラを管理することなく、AWSツールを使ってFMをアプリケーションに簡単に統合し、デプロイすることができます。

ものすごく簡単にいうと、「すでに存在している基盤モデルを使用して生成系AIアプリケーションを構築できるサービス」です。

# 使用方法

使用方法は、RailsサーバーからAPIを叩くだけです。

ただ、AWSコンソール上で言語モデルを使用するための設定をする必要があるので、以下のサイトを参考に設定をしてみてください。

https://weel.co.jp/media/amazon-bedroc

元記事を表示

Ubuntu上でMySQL8.0のレプリケーション設定

## 開発環境

仮想環境: AWSのEC2インスタンス
OS: Ubuntu 22.04 LTS
ミドルウェア: MySQL 8.0

## マスター側の設定

スーパーユーザーの権限でコマンドを実行するため、以下のコマンドを実行
“`
sudo su
“`
サーバのパッケージインデックスを更新
“`
apt update
“`
mysql-serverパッケージをインストール
“`
apt install mysql-server -y
“`
/var/lib/mysql配下のpemファイルを確認
“`
ll /var/lib/mysql/*.pem

-rw——- 1 mysql mysql 1705 Nov 15 01:26 /var/lib/mysql/ca-key.pem
-rw-r–r– 1 mysql mysql 1112 Nov 15 01:26 /var/lib/mysql/ca.pem
-rw-r–r– 1 mysql mysql 1112 Nov 15 01:26 /var/lib/mysql/client-cert.pem ←

元記事を表示

【aws system manager】ドキュメント管理と共有手法

## aws system manager】ドキュメント管理と共有手法

こんにちは。今回は、awsについて初心者エンジニアに向けて、aws system managerを使用したドキュメントの管理と共有手法について解説します。

## ドキュメント管理の重要性とベストプラクティス

ドキュメント管理は、awsの運用において非常に重要な要素です。正確で継続的に更新されたドキュメントは、システムの信頼性を向上させるだけでなく、エンジニアの生産性も向上させることができます。以下に、ドキュメント管理のベストプラクティスを示します。

1. ドキュメントのバージョン管理:ドキュメントにはバージョン管理を行い、変更履歴を追跡することが重要です。バージョン管理を行うことで、異なるバージョンのドキュメントを比較し、問題の特定や修正が容易になります。

2. ドキュメントのテンプレート化:ドキュメントをテンプレート化することで、同じような形式のドキュメントを簡単に作成することができます。テンプレート化により、一貫性のあるドキュメント作成が可能となり、時間の節約やミスの回避ができます。

3. グループ

元記事を表示

AWSを用いてHTTPS通信を行う方法

# AWSを用いてHTTPS通信を行う方法

インターネット上でのデータの安全なやり取りは、ウェブサイトの信頼性とユーザーのセキュリティを確保するために非常に重要です。特に、HTTPとHTTPSの違いと、HTTPS通信を実現するために必要なサーバー証明書の役割を理解することが重要です。AWS(Amazon Web Services)は、このようなセキュアな通信を容易に実装するツールとサービスを提供しています。ここでは、HTTPとHTTPSの基本的な違い、HTTPSにおけるサーバー証明書の重要性、そしてAWS Certificate Managerについて詳しく解説します。

## HTTPとHTTPSの違い

### 基本的な概念

#### HTTP(Hypertext Transfer Protocol)

– **概要**: ウェブ上で情報をやり取りするためのプロトコルですが、暗号化されていないためデータが盗み見されるリスクがあります。
– **利用**: 主にウェブブラウザとサーバー間でHTML文書などの情報をやり取りする際に使用されます。

#### HTTPS(HTTP S

元記事を表示

AWSのネットワーク構築サービス

# AWSのネットワーク構築サービス

クラウドコンピューティングの世界では、ネットワークの設計と管理が重要な要素です。Amazon Web Services(AWS)では、このニーズに応えるために、Amazon Virtual Private Cloud(VPC)とAmazon Route 53という2つの強力なサービスを提供しています。これらのサービスはAWS上でセキュアで柔軟なネットワーク環境を構築するために不可欠です。ここでは、これら2つのサービスの関連性や特徴について、初心者にも分かりやすく解説します。

## Amazon VPC

### カスタマイズ可能なクラウドネットワーク

**Amazon VPC**は、AWS上でのプライベートネットワーク空間を提供します。これにより、ユーザーは自身の仮想ネットワークを完全に制御し、AWSリソースの配置やセキュリティ設定をカスタマイズできます。

#### 主な機能と特徴

– **サブネットの分割**:VPC内でサブネットを作成し、リソースのグループ化とアクセス制御を行います。
– **セキュリティの強化**:セキュリティグルー

元記事を表示

Tableau Webhook APIを利用してTableau Server間のダッシュボード同期を実現してみた

こんにちは。今回は、社内向けと社外向けに分けたTableau Server間でダッシュボードを同期する方法について紹介したいと思います。

![DALL·E 2023-11-15 02.02.30 – An image illustrating the concept of connecting an ‘Internal Tableau Server’ with an ‘External Tableau Server’ using Webhook API for data synchronizat.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3621177/44c4e8c2-204d-9c54-cf31-e4b2e74baace.png)
※生成AI(DALL-E)使ったイメージ画像 正確に文字を表示するのが難しい。。

## 背景
私たちは、社内向けのTableau Serverを運用しています。このサーバーでは、様々なデータソースからデータを抽出し、分析やレポーティングを行っています。しかし、社外

元記事を表示

OTHERカテゴリの最新記事