- 1. IncidentManagerの対応プランで複数サービスでも復旧可能なDocumentを作成しました
- 2. AWSでLLMが使えるAmazon Bedrockを試す
- 3. 【Amazom Bedrock】Anthropicのclaude-v2をboto3経由でストリーミング応答させてみた
- 4. AWS SAA合格体験記:アナリストの実感
- 5. Amazon BedrockのAPIをPythonアプリから呼んでみよう。LangChainにも挑戦!
- 6. AWS CodePipeline Blue/Green デプロイ時にエラーが発生した際の勘所
- 7. 最速(?)最短(?) Amazon Bedrockの動かし方はこれだ
- 8. Amazon BedrockがGAしたので遊んでみる(粗製乱造)
- 9. Amazon Bedrock 一般提供開始!
- 10. Amazon Bedrock “Claude 2” と、ChatGPT “GPT-4” を比較してみる
- 11. うおぉぉAmazon BedrockがついにGA!! 宇宙最速?で触ってみた
- 12. 炎上案件での経験を元に再度ベストプラクティスについて考えてみた
- 13. AWS SAA
- 14. PowerShellでS3のEtagを計算してみる(暗号化なし&SSE-S3&マルチパートアップロード対応)
- 15. X-Rayを使用してみる
- 16. LambdaからDynamoDBに接続してみる
- 17. AWSで、Terraformを利用する方法をまとめてみた(6/10)
- 18. Sesson managerからプライベートなEC2にアクセスする
- 19. CodeBuildにつけたIAMロールの認証情報を使ってcurlでawssigv4の署名付きリクエストを送信する
- 20. CodeCommitを使用した開発におけるGit操作(Part1)
IncidentManagerの対応プランで複数サービスでも復旧可能なDocumentを作成しました
## これは何?
以前[インフラ技術基礎勉強会 #4](https://infra365.connpass.com/event/286297/)にてIncidentManager についてLTをさせていただきました。そこで対応プランで実行するランブック用のSSM Documentを自作したため、今回は1個の対応プランで複数サービスを復旧するための条件分岐について解説したいと思います。
## 何故つくろうと思ったのか?
EC2やRDSなどの対応プランごとにサービスを作れば作り込まなくて済むのはもちろんなんですが対応プランは1個作成するだけで月額で7ドル請求されます。https://aws.amazon.com/jp/systems-manager/p
AWSでLLMが使えるAmazon Bedrockを試す
# はじめに
きのう夕方頃、Amazon BedrockがGAになったとのことで早速試してみました。端的に言ってしまえばAzure OpenAI ServiceのAWS版で、ChatGPTに似たチャットモデルも利用可能です。
今回は、Bedrockの価格、利用方法、チャットモデルの簡単な性能試験を行ってみたいと思います。
## お値段
SageMakerでLLMを試す場合、1日に数万~十数万円のEC2インスタンスを立てる必要があります。翌月大変なことにならないように価格の確認は重要です。
https://aws.amazon.com/jp/bedrock/pricing/
Azure OpenAIServiceと同じく1000トークン当たりの従量課金のようです。Jurassic-2 Ultraで$0.0188/1,000tokensくらいなので気軽に試せそうです。
## 下準備
モデルのデプロイ方法がわかりにくく、ちょっとてこずったので手順を記します。
AWSにサインインしてから、検索窓に「bedrock」と打ち込むとAmazon Bedrockの候補が表示されるので
【Amazom Bedrock】Anthropicのclaude-v2をboto3経由でストリーミング応答させてみた
## Amazom Bedrockとは
AmazonやStable DiffusionなどAI企業が提供する基盤モデル(FM)をAPIを通じて利用できるようにする完全マネージド型サービスです。先日(9/28)にようやくGAしたので検証アカウントで早速使ってみました!!
https://aws.amazon.com/jp/blogs/aws/amazon-bedrock-is-now-generally-available-build-and-scale-generative-ai-applications-with-foundation-models/
■公式ブログ
https://aws.amazon.com/jp/blogs/aws/amazon-bedrock-is-now-generally-available-build-and-scale-generative-ai-applications-with-foundation-models/
■ ドキュメント
https://docs.aws.amazon.com/bedrock/
■ 料金
https://
AWS SAA合格体験記:アナリストの実感
## はじめに
AWS 認定ソリューションアーキテクト – アソシエイトを2023年6月に受験、合格したので合格までの学習と取得してみた感想を共有する。
私自身の状況は
* データアナリスト:データエンジニアの方をサポートしながら分析基盤の運用を行っている。
* 業務でAWSは利用しているが、インフラは領域外
## AWS SAAとは
AWSが公式に認定している資格の一つ。難易度としては下から2番目。
対象者として、AWSのサービスを使用するクラウドソリューション設計の実務経験が1年以上を想定している模様。https://aws.amazon.com/jp/certification/certified-solutions-architect-associate/
## 学習期間
1カ月半~2カ月程度、40~50時間
大体1日1時間でUdemyの講座を進め、完了後1週間演習問題を解いた
## 学習内容
利用したのは下記二つ。* **Udemy【SAA-C03版】これだけでOK! AWS 認定ソリューションアーキテクト – アソシエイト試験突破講座**
https://www.u
Amazon BedrockのAPIをPythonアプリから呼んでみよう。LangChainにも挑戦!
昨晩時点では未対応だったPython用のAWS SDK(boto3)もようやくBedrockに対応したようです!
https://github.com/boto/boto3/blob/develop/CHANGELOG.rst
※宇宙最速でAPIを叩いたQiita記事は @moritalous さんでした!?
https://qiita.com/moritalous/items/213aab518bb5f1de1d3f
# AWSのPython SDK(boto3)から叩いてみる
まずBedrockでAPIを利用したい基盤モデルへのアクセスを許可しておきます。こちらの記事を参照。
https://qiita.com/minorun365/items/79c2fc1d2afe82aad2af
そして当該AWSアカウントへのCLIアクセスができるよう、あなたのPCにAWSプロファイルの認証情報を設定しておきます。こちらを参照。
https://qiita.com/minorun365/items/7ee8bb1478bfbceb1d1b
そして適当な作業用ディレクトリ
AWS CodePipeline Blue/Green デプロイ時にエラーが発生した際の勘所
# はじめに
本記事はAWSのCodePipelineを利用している環境で、Blue/Green デプロイ時にエラーが発生した際の勘所について記載しています。DevOpsの一環として、CodePipelineを用いてECS環境(ECS on EC2)におけるBlue/Green デプロイの導入を行う機会がありました。
CodePipelineの仕様に対する理解不足が多く、デプロイ時にエラーが発生してトライアンドエラーを繰り返したのでナレッジとしてまとめました。
## アップデート方式
クラウド上に構築したシステムに対するアップデート方式は、一括でアップデートを行うAll at onceを除くと、以下のようなデプロイ戦略があります。– Rolling
– Bule/Green
– Canary目的に応じてソフトウェアの新しいバージョンや変更を本番環境に展開するためのデプロイ戦略を選択することが重要です。アップデート頻度やコストに対してリターンが見込めない場合は、最適でない場合もあると思います。
ECSのデフォルトは、[Rolling](https://docs.aws.
最速(?)最短(?) Amazon Bedrockの動かし方はこれだ
boto3は1.28.57でBedrockに対応しました。
“`shell
pip install -q -U boto3
“`**bedrock** と **bedrock-runtime** があるので注意。invoke_modelはbedrock-runtime
“`python
import boto3
import jsonclient = boto3.client(‘bedrock-runtime’)
prompt = ”’
Human: こんにちは!
Assistant:
”’body = {
‘prompt’: prompt,
‘max_tokens_to_sample’: 300,
}response = client.invoke_model(
modelId=”anthropic.claude-v2″,
body=json.dumps(body)
)body = response[‘body’].readlines()
completion = json.loads(body[0].decode
Amazon BedrockがGAしたので遊んでみる(粗製乱造)
# 何の記事?
AWS上で複数の生成AIのモデルが利用できるサービスであるBedrockがGAしてので、触ってみる# Amazon Bedrockについてはこちら
https://aws.amazon.com/jp/about-aws/whats-new/2023/09/amazon-bedrock-generally-available/# 手順
– AWSのコンソールからBedrockを検索 (おぉ出てくる!)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573632/1be59ec4-528b-5152-5603-832b8175f578.png)– 利用するリージョンを選択する
しばらくしたら東京リージョンも出そうだが、とりあえずバージニア北部を選択
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/573632/9a5de29e-409e-a46e-9a8d-
Amazon Bedrock 一般提供開始!
## はじめに
株式会社NTTデータ デザイン&テクノロジーコンサルティング事業本部の@nttd-kashiwabarayです。
本日Amazon Bedrockが一般提供開始されましたので、簡単に記事を書かせていただきます。## Amazon Bedrockが一般提供開始
本日9月28日にAmazon Bedrockが一般提供されました。以下がAWSブログの記事となります。ただし、現状は US East(バージニア北部)とUS West(オレゴン)のみで利用可能なようで、東京リージョンはまだ一般提供とはなっていないようです。また、近日MetaのLlama2についても利用可能になると発表されています。https://aws.amazon.com/jp/blogs/aws/amazon-bedrock-is-now-generally-available-build-and-scale-generative-ai-applications-with-foundation-models/
## Amazon Bedrockの概要
Amazon Bedr
Amazon Bedrock “Claude 2” と、ChatGPT “GPT-4” を比較してみる
# Amazon Bedrockとは?
2023/9/28にAWSが生成系AIのサービス「Amazon Bedrock」を正式リリース (GA) しました。
「Amazon Bedrock」は、様々な企業の基盤モデル(FM)を1つのAPIで利用できるようにするサービスです。
基盤モデルとは、大量のデータで事前訓練された大規模な機械学習モデルのことで、用途は幅広く、検索からコンテンツ作成、医薬品開発など、様々な分野で活用できます。
Amazon Bedrockは、この基盤モデルの利活用が容易にできるサービスとなっています。ユーザーは、AIのスタートアップや著名な企業が開発した基盤モデルを簡単に試すことができ、また、自社のデータを使ってカスタマイズすることもできます。
「Amazon Bedrock」は言うまでもなくサーバレスであり、インフラの運用が不要であることに加え、ChatGPTとは異なりIAMによるセキュリティの管理も可能です。
「Amazon Bedrock」では、OpenAIのGPT-4こそ使えませんが、元OpenAIの社員によって設立されたAnthropic社の大規模
うおぉぉAmazon BedrockがついにGA!! 宇宙最速?で触ってみた
# 首を長くしすぎてキリンになって待ってました
OpenAIブームから待ち望むこと数ヶ月!!
ついにAWSから生成系AIサービス「Amazon Bedrock」が一般公開されたので宇宙最速で触ってみようと思います。https://aws.amazon.com/jp/blogs/aws/amazon-bedrock-is-now-generally-available-build-and-scale-generative-ai-applications-with-foundation-models/
:::note warn
一刻も早くこの感動をみなさんにお届けしたく、いつも以上に速さ重視で雑な記事となっていることをご了承ください?
:::# AWSマネジメントコンソールを覗く!!
### シンガポールリージョンを確認すると…あれ?
普通〜のAWSアカウントでマネジメントコンソールにサインインし、「Bedrock」で検索。実は(説明のみの)コンソール自体は少し前からあったのですが、クリックしてみましょう!
![スクリーン ショット 2023-09-28 に 23.15.
炎上案件での経験を元に再度ベストプラクティスについて考えてみた
# はじめに
自身のトラブル案件の経験を元に今あるシステムはどうあるべきなのかを検討し、その経験をウェビナーで講演しました。このようなトラブルを経験する方が今後少なくなる為にも、私の実体験をまとめておきます。# きっかけ
既に運用中のシステムで、ある日スパイクアクセスがあった事で、本来対応できるはずのアクセス数が対応できずにシステムがダウンするという障害がありました。
これだけ聞くとよくある話じゃんと思う方もいるかもしれませんが。
よくある話の中でも色々経験できたのでまとめておきます。# システム構成図
よくあるWeb三層構造のシステム構成図です。
フロントにロードバランサーがあり、Web/APサーバはAutoScaling構成で、バックエンドにDBを持っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/198480/81920a4e-7b80-e927-a1be-ab21de7eaee5.png)# トラブった原因
主な原因としてはDBのバージョン依存のバグでした
AWS SAA
# 現状
Udemyの講座をすべて視聴完了(約1ヶ月半かかった)
AWS-CLI取得済# 今回の模試の結果
![スクリーンショット (85).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2957298/d2e14120-8151-3558-eca0-342600bc0e24.png)前よりは10%上がったが、まだまだ合格には遠い、、、
# 模試の直し
### パブリックサブネットとプライベートサブネット
※相互の通信ではない
インターネットゲートウェイ→パブリック→プライベート
プライベート→NATゲートウェイ→インターネットゲートウェイ### APIゲートウェイ
##### アクセス制御
・APIキーを使用する使用量プラン
・プライベートAPIに設定してリソースポリシーで選択したVPCからのみ許可※アクセス制御
・APIキー、IAMロール、Cognito### S3
##### ユースケース
処理中のデータを一時保存→S3
※RRSは現在非推奨で高価になった### プレイス
PowerShellでS3のEtagを計算してみる(暗号化なし&SSE-S3&マルチパートアップロード対応)
– [EtagをつかってS3にアップロードしたファイルの整合性をたしかめてみる(マルチパートアップロードなし)](https://qiita.com/SAITO_Keita/items/29cf207b969537b2b68b)
– [EtagをつかってS3にアップロードしたファイルの整合性をたしかめてみる(マルチパートアップロードあり)](https://qiita.com/SAITO_Keita/items/21f9b5390c3487ac9957)
– [AWSマネジメントコンソールからS3にマルチパートアップロードした時の分割サイズについて](https://qiita.com/SAITO_Keita/items/99691f77b00b07a193bf)上記のようにS3にアップロードされた際の、Eタグについて3つほど記事を投稿しました。
S3ファイルのEタグについてまとめると下記のようになっていました。| 方式 | マルチパートアップロード | Eタグの値
X-Rayを使用してみる
## 目的
AWS Certified Developer – Associateの勉強をしている中で
理解が浅いサービスについて実際に使用してみます今回はX-Rayを設定してみます
## 手順
– X-Rayを設定(API Gateway)
– X-Rayを設定(Lambda)
– 結果確認API GatewayとLambdaは以下で作成したものを使用します
https://qiita.com/tsubaki_019475/items/f40c65b43103f4a9f8e4## X-Rayを設定(API Gateway)
**1. API Gatewayのページに移動、左のメニューからAPIを選択**
**2. 作成したAPIを選択、ステージを選択**
**3. ログ/トレースタブを選択、X-Ray トレースの有効化を選択**
**4. 変更を保存**
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1997750/6c335c20-3b1e-e647-b762-df4a
LambdaからDynamoDBに接続してみる
## 目的
AWS Certified Developer – Associateの勉強をしている中で
理解が浅いサービスについて実際に使用してみます今回はLambdaからDynamoDBに接続してデータを取得するまでをやってみます
DynamoDBのデータ取得方法の違いについても確認しますLambdaとDynamoDBは以下で作成したものを使用します
・https://qiita.com/tsubaki_019475/items/70ab982f3ee329978383
・https://qiita.com/tsubaki_019475/items/f40c65b43103f4a9f8e4## 手順
– ロール付与
– Lambda関数の実行
– API Gatewayを使用した接続## ロール付与
Lambda関数の権限をデフォルトで作成した場合、DynamoDBの権限がないため設定を追加します
**1. Lambdaのページに移動、左のメニューから関数を選択**
**2. 作成したlambda関数を選択**
今回は事前に作成していたtest_lambdaを選択して
AWSで、Terraformを利用する方法をまとめてみた(6/10)
モジュールを利用する方法
=__目次__
1.モジュール化する方法
2.EC2インスタンスのAMIをモジュール化する方法
3.S3をモジュール化する方法1.モジュール化する方法
—__1.モジュールの作成__
モジュールを作成します。モジュールを作成するためには、
以下のような構成のディレクトリを作成する必要があります。
~~~
module-name/
├── main.tf
├── variables.tf
├── outputs.tf
~~~main.tf ファイルには、リソースの定義が含まれます。 variables.tf ファイルには、入力変数が定義されます。outputs.tf ファイルには、出力変数が定義されます。
__2.モジュールの呼び出し__
次に、作成したモジュールを呼び出します。呼び出しには、以下のようなコードを記述します。
~~~
module “module-name” {
source = “./module-name”variable1 = “value1”
variable2 = “value2”
}
Sesson managerからプライベートなEC2にアクセスする
# はじめに
terraformでタイトルの環境を作るためのたたき台として簡易的に手順を整理してみました。![AWS-Systems-Manager.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3161388/328a879c-060c-e1a2-0dfe-8e89af6c57b7.png)
# Sesson managerのメリット
– 踏み台サーバをなくすことが出来る
– セキュリティーグループでSSHポート開放が不要になる
– SSHキーの管理が不要になる
– セッションマネージャーのログを取得することができる
– cloudtrailでのロギングが可能# EC2インスタンスを管理するための条件
– SSMAgentのインストール(amazon linux2を使用すればOK)
– SystemsManagerの実行権限付与
– SystemManager用のVPCエンドポイントの作成
– SystemsManagerエンドポイントへのHTTPSアウトバウンドトラフィックの許可#
CodeBuildにつけたIAMロールの認証情報を使ってcurlでawssigv4の署名付きリクエストを送信する
# やりたかったこと
OpenSearch Serviceのドメインを構築し、CodeBuildからそのドメインにインデックスを作成するためのリクエストを送信したかった
# 前提
– ドメインはアクセスポリシーを設定しており署名付きリクエスト以外は受付けない
– AWS CLI v2を使用している
– buildspecでシェルにbashを指定している“`yaml
env:
shell: bash
“`# CodeBuildでの処理
buildspecのcommandsに下記の処理を書いていく
“`sh
$(aws configure export-credentials –format env)
curl -vsSL –fail-with-body -X PUT -d @- \
–aws-sigv4 aws:amz:$AWS_REGION:es \
–user $AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY \
-H “x-amz-security-token: $AWS_SESSI
CodeCommitを使用した開発におけるGit操作(Part1)
## はじめに
AWS CodeCommitを使用した開発では、Gitコマンドによる操作を頻繁に行います。ですが、私も含めGit初学者の方は、なんとな〜くコマンドを叩いている方も多いのではないでしょうか?
そこで本記事では、開発の流れに沿ったGitコマンドの使い方を解説していきます。
今回想定している開発の流れは大まかに以下の通りで、この流れの中で登場するGitコマンドについて紹介していきたいと思います。なお、以下の流れではGitのブランチ機能を使用した運用方法であるGit-flowを活用した開発を前提としています。
“`mermaid
graph TB
Start([CodeCommitにリポジトリを作成])–>B([リポジトリのクローン])
B–>C([ブランチを切る])
C–>D([コードの編集])
D–>E([ステージング])
E–>F([コミット])
F–>G([プッシュ])
G–>H([プルリクエスト])
H–>I([マージ])
“`※本記事の内容は、2023年9月時点のものです。AWS CLIやGitのバージ