- 1. AWS認定12冠してから1年間の振り返り
- 2. ELB+EC2で複数台構成の環境を作成してみる(2)
- 3. ELB+EC2で複数台構成の環境を作成してみる(1)
- 4. imgIXのAI搭載の新機能
- 5. よく使うTerraformコマンド
- 6. EC2 リザーブドインスタンスを日時指定して購入する方法
- 7. 【Ruby】Amazon BedrockのClaude3 使ってみた。
- 8. WordPress(On Lightsail)のSSL化設定ツールを試してみた
- 9. Amazon Bedrock 全14 LLM 日本語能力比較(Claude3 x2追加版)
- 10. Claude 3とAWS CDKを使い爆速でAWSの検証が出来る環境を手に入れよう!
- 11. AWS Lambdaを使ってLLMの推論結果を段階的に表示する
- 12. Amazon RDS におけるエンジンアップグレードと OS アップデートの違い
- 13. HackTheBox Gobox WriteUp
- 14. Amazon Aurora Global Databaseの書き込み転送オプションを調べてみた
- 15. AWS ipv4でお金かかってるけど、どうすんだ(LB編)
- 16. AWS ipv4でお金かかってるけど、どうすんだ(VPCとサブネット編)
- 17. test2
- 18. Amazon Bedrockモデル評価 で基盤モデルをサクッと評価する
- 19. CloudWatch Logs出力設定エラー 解消方法
- 20. CloudFormationにCapabilitiesを定義する方法: CAPABILITY_IAM と CAPABILITY_NAMED_IAM
AWS認定12冠してから1年間の振り返り
# はじめに
こちらの方の記事を拝見し、そういえば12冠取った後の振り返りをしていないことを思い出しました。
https://qiita.com/inoue_d/items/57723b217976db45ae70
[2024 Japan AWS All Certifications Engineersの募集が始まったというお知らせ](https://aws.amazon.com/jp/blogs/psa/2024-japan-aws-all-certifications-engineers-criteria/)があり、12冠してからちょうど1年間にもなるのでこの間で私の身に起こったことを良し悪し問わず書いてみたいと思います。
もし、現在全冠を目指している方がいましたら参考にしていただければ幸いです。
## 資格一覧
取得した資格を合格日の降順で並べたのが以下です。
(今AWS資格のサイトを見たらデザインが大きく変わって驚きました。下記はデザイン変更前に取った画像を貼り付けています。)![AWS資格一覧.jpeg](https://qiita-image-store.s
ELB+EC2で複数台構成の環境を作成してみる(2)
ELB+EC2で複数台構成の環境を作成してみる(1)の続き
## 作成したEC2をターゲットグループにまとめる
![demo](https://gyazo.com/c317e3d433ba4c0655b9ed4e56d84db4/raw)
![demo](https://gyazo.com/1b04b1e7ee660d28538d2a3ee870c7cb/raw)
![demo](https://gyazo.com/988a86a91546663df05f7b5f8fadd51c/raw)保留中として以下を含めるからインスタンスを追加できる
![demo](https://gyazo.com/2d0d5a94ffecb32872b5287d53c39343/raw)## ロードバランサーを作成
・VPCやセキュリティグループはEC2インスタンスと同じものを設定
・リスナーとルーティングから先ほど作成したTGを選択する
![demo](https://gyazo.com/e5db0801278d88b5209f980688a22d69/raw)
![demo](https
ELB+EC2で複数台構成の環境を作成してみる(1)
# 流れ
1. VPCを作成する
1. サブネットを作成する
1. インターネットゲートウェイとルートテーブルを利用して、サブネットからインターネットにアクセスできるようにする
1. サブネット内にEC2を複数台配置する
1. 上記のEC2をターゲットグループにまとめる
1. ELBを作成して上記のターゲットグループを設定する## VPCを作成する
![demo](https://gyazo.com/a513dcb3629186880d88505abf9cba48/raw)
IPV4 CIDRは『10.0.0.0/24』にしておく
## サブネットを作成する
VPC内に2つのサブネットを作成する(AZも異なるものにしておく)
サブネット1(10.0.0.0/25)
![demo](https://gyazo.com/b4b573cd837bd639564946a76aabbb4c/raw)サブネット2(10.0.0.128/25)
![demo](https://gyazo.com/7692e6bcb8111cbdc8532c997524cda7/raw)#
imgIXのAI搭載の新機能
## はじめに
`imgIX` は、画像をオンデマンドで加工・最適化できるクラウドサービスです。開発者が直面する一般的な課題の一つに、アプリケーション内で扱う画像の管理と最適化があります。これらの画像は通常、`Amazon S3`、`Google Cloud Storage`、`Cloudflare R2` などのオブジェクトストレージに保存されます。`imgIX` は、これらのストレージサービスに保存された画像に対し、URLパラメータを用いて簡単にロゴの追加、テキストの挿入、サイズ変更、形状の調整、フォーマットの変更など、多岐にわたる加工を行うことができます。
`imgIX` は、オブジェクトストレージと連携し、画像をオンデマンドで処理するようなサービスとしては世界でもっとも使われてるようです。日本においては `さくらのクラウド` が提供する `ImageFlux` という類似のサービスがありますが、今回は `imgIX` が `AI` 搭載の新機能を出してるということなので、そちらをまとめます。
### Generative Fill
従来、アスペクト比を `1:1` から
よく使うTerraformコマンド
# 1.開発環境の初期化
“`
terraform init
“`
・terraformの開発環境をセットアップする。
・開発を始めるときに必ず実行する。
・tfstateファイルの保存場所をS3に変更する場合再実行する。# 2.ソースコードのフォーマット
“`
terraform fmt
“`
・ソースコードを綺麗にフォーマットする。
・インデントの位置などを揃えてくれる。(Eclipseのフォーマッターと同じ)
・すべてのソースファイルをまとめてフォーマットしてくれる。
・fmt、plan、apply -auto-approveはセットで頻繁に使う。# 3.実行結果の確認
“`
terraform plan
“`
・terraform apply実行で構築される結果を事前に確認できる。
・ソース修正後に実行すると修正による変更内容を確認できる。
・fmt、plan、apply -auto-approveはセットで頻繁に使う。# 4.実行
“`
terraform apply
“`
・ソースコードの内容で環境構築される。
・-auto-approveを引数
EC2 リザーブドインスタンスを日時指定して購入する方法
EC2 のリザーブドインスタンスを購入または更新したい日付や時間が、業務時間外(夜間・休日)で困ったことはありませんか?
EC2 のリザーブドインスタンスは指定した日付や時間での購入が可能なので、[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ri-market-concepts-buying.html#ri-queued-purchase)をもとに画面キャプチャを付けて説明します。[1]
最後には誤って購入した際のキャンセル方法も説明します。ただし、残念ながら 2024年3月16日 現在は、RDS の購入予約は対応していません。将来のアップデートに期待しましょう。
## 購入してみた(最後にキャンセル)
EC2 のマネジメントコンソールにログインします。画面左のメニューよりリ`ザーブドインスタンス`を選択します。
![RI購入0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3309107/91
【Ruby】Amazon BedrockのClaude3 使ってみた。
先日、Amazon BedrockでClaude3が使用可能になりました!
本記事では、現在開発中のCLIツール「[omochi](https://github.com/mikik0/omochi)」で使用している Amazon Bedrock のモデルをClaude2からClaude3にアップグレードした際の変更点について紹介します。
Amazon Bedrock のモデルをClaude2 からClaude3 にアップグレードしたい方やRuby でAmazon Bedrock のClaude3 を使用したい方の参考になれば幸いです。
### 事前準備
以下の準備が完了していることを確認してください。
* Rubyのインストール
* AWSアカウントの作成
* モデルアクセスの許可できていない項目がある場合は、以下を参考に進めてください。
https://www.ruby-lang.org/ja/documentation/installation/
https://docs.aws.amazon.com/bedrock/latest/userguide/setti
WordPress(On Lightsail)のSSL化設定ツールを試してみた
# 1. はじめに
Amazon LightsailでWordPressを構築する際に、サイトのSSL化対応は必須となってきますが、そのやり方は多岐に渡ります。
CDNやLBを前方に配置して証明書を設置するやWPのプラグインで対応する等やり方は本当に沢山ありますが、個人的には、Bitnamiの自動化ツールを実行するのが一番手っ取り早いと思っています。
本記事では、その自動化ツールの実行手順を記載します。# 2. ハンズオン
## 2.1 概要
+ BitnamiのSSL化自動化ツールを実行します
+ SSL化するドメインがあれば、他に事前準備は不要です## 2.2 実行環境
+ Amazon Lightsail
+ WordPress 6.4.3-8
+ Debian Ver 11.9## 2.2 ツール実行手順
1. 対象インスタンスへSSH接続する2. 下記コマンドを実行する
“`
sudo /opt/bitnami/bncert-tool
“`+ 初回実行時に下記の出力があれば「Y」と入力し、ツールをアップデートする
Amazon Bedrock 全14 LLM 日本語能力比較(Claude3 x2追加版)
Bedrockに噂のClaude3が2モデル追加されたので、Bedrockで使用可能な全LLMに対して日本語で味噌汁の作り方を質問して日本語能力と知識を確認します。
:::note
2024/3/15現在、Claude3はLangChainのチャットモデルのみ対応されている為、そこのみチャットモデルを使用しています。
:::# テストプログラム
“`Python:japanese_test.py
from langchain_community.llms import Bedrockprompt=”質問:味噌汁の作り方を詳しく日本語で説明してください。”
# Jurassic-2 Mid
llm = Bedrock(model_id=”ai21.j2-mid-v1″,model_kwargs={“maxTokens”:1000})
answer = llm.invoke(prompt)
print(“Jurassic-2 Mid: ” + answer + “\n”)# Jurassic-2 Ultra
llm = Bedrock(model_id=”ai21.j2
Claude 3とAWS CDKを使い爆速でAWSの検証が出来る環境を手に入れよう!
## はじめに
– 今回は、今話題の [Claude 3](https://claude.ai/) で[AWS CDK](https://aws.amazon.com/jp/cdk/)というAWSインフラのプロビジョニングツールを使い、簡易的なメール通知の仕組みを作成しました。
– 基本的にはClaudeに尋ねながら構築を行っており、AWS CDKの最初のセットアップ以外はコードをほとんど書いていません。
– なので、AWS CDKに馴染みが無い方でも、最初のセットアップさえ出来れば、Claudeを活用しながら、どなたでもAWS CDKをご活用頂けるのではと考えております。## 技術要素の紹介
### Claude 3
2024年3月4日に発表されたAnthropic社の最新モデルの生成AIです。
https://qiita.com/minorun365/items/e6f3aa71f5e1bdf21139
– 特に驚いたのは「マルチモーダル」対応という事で、画像やPDFの分析もしてくれます。
– [anthropic.com](https://www.anthropic
AWS Lambdaを使ってLLMの推論結果を段階的に表示する
# LLMの業務利用
LLMを使ったサービスが世の中に数多く登場し、実際に活用している方も多くいらっしゃるのではないでしょうか?
個人で利用する場合は好きなサービスを自由に使えますが、業務で使う場合は情報流出のリスク等の観点から自由に使えないことがほとんどかと思います。
業務で使う場合は、情報流出防止の観点で入力データが学習データとして利用されないことが前提条件になるでしょう。
その場合は、これらのリスクをクリアしたサービスを使うか、自身で環境を構築するかの2択になってくるかと思います。自身で環境構築を行う際に、意外なハードルになるのがLLMの推論結果を段階的に表示する部分だったりします。
利用するモデルや入出力のデータの量にもよりますが、LLMの出力が完了するまでに分単位の時間がかかることも珍しくありません。
出力が完了するまで、LLMの出力結果が一切表示されない実装をしてしまうと、利用者は何も表示されない画面を見ながら待ち続ける必要があります。これではユーザ体験が非常に悪くなります。
LLMは段階的に出力を行う仕組みになっているため、その出力結果を段階的に画面に表示することで、
Amazon RDS におけるエンジンアップグレードと OS アップデートの違い
RDS は、クラウド上でリレーショナルデータベースのセットアップ、運用、スケーリングを簡単にするマネージドサービスです。このサービスはセキュリティ、パフォーマンス、メンテナンスの面で多くの利点を提供しますが、適切な運用にはデータベースエンジンのアップグレードとオペレーティングシステムのアップデートの理解が不可欠です。
## データベースエンジンのアップグレード
データベースアップグレードは、RDS インスタンスが使用するデータベースエンジンのバージョンを新しいものに更新するプロセスです。これには、セキュリティ修正、新機能、パフォーマンス改善などが含まれることがあります。アップグレードには 2 種類あります。
以下、[公式ドキュメント](https://docs.aws.amazon.com/ja_jp/AmazonRDS/latest/UserGuide/USER_UpgradeDBInstance.Upgrading.html)から引用します。 [1]### マイナーアップグレード
>マイナーバージョンのアップグレードには、既存のアプリケーションとの下位互換性がある変更のみが含
HackTheBox Gobox WriteUp
今回はHackTheBoxのMediumマシン「Gobox」のWriteUpです!
名前からして、Go言語が使用されていそうですが、どのようなマシンなのでしょうか!※ 2024/03/14 に行われました Security Days のオープンセッションにて攻略したマシンとなります!セッションへの参加ありがとうございました!
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1664764/fd3a62db-cc0d-c230-4d5a-939a633dc4af.png)
グラフはよくあるMediumの感じですね。
評価はなんと★5!これは期待できます!攻略目指して頑張ります~!HackTheBoxってなに?という方はこちらの記事を見てみてください。一緒にハッキングしましょう!
https://qiita.com/WhizOwl/items/165783694cb4791cff34
また、HackTheBoxで学習する上で役にたつサイトやツールをまとめている記事もあるので、合
Amazon Aurora Global Databaseの書き込み転送オプションを調べてみた
JINSのアーキテクチャ設計の最近のテーマの一つに、データベースのグローバル対応をどうするか?というのがあります。JINSは、グローバルに展開するアイウエアの製造小売の会社でして、[いろんな国](https://jinsholdings.com/jp/ja/group/jins/global/)に事業展開していますが、それぞれのシステムはローカライズしたり、共通化したり色々です。
現在、クラウドネイティブ化を進めていて、システム基盤をグローバル共通化していく方針としています。アーキテクチャ設計で言えば、機能配置とデータ配置をどうしていくかという事になりますが、今回の投稿はデータベースについて書いてみたいと思います。
## Amazon Aurora Global Databaseはどんなもの?
みなさんは、Amazon AuroraとAmazon RDSはどのように使い分けてますか?
トランザクション規模やコストなど色々な観点があると思いますが、JINSとしては、Amazon Auroraを使い倒していこうと思っています。
https://aws.amazon.com/jp/r
AWS ipv4でお金かかってるけど、どうすんだ(LB編)
# はじめに
Load Balancerをipv6対応するには下記
https://repost.aws/ja/knowledge-center/elb-configure-with-ipv61. 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, RouteTableAssociationclass 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)を作成、変更、削除できるようになります。例えば