- 1. Lightsail環境でVPCピアリングを使ってALBに接続する
- 2. CDKでAWS ChatbotのTeamsチャネル作成時に指定するチャンネルID
- 3. Amazon Route 53 Resolverの転送ルールとシステムルールの違い
- 4. 今日から始めるCDK! ~既存リソースをCDK移行する~
- 5. コンテンツのタイトルからNTRが含まれているかを推理するゲームアプリ「NTR Judge」をPythonで作りました
- 6. 追加でアタッチした EBS ボリュームをマウントする EC2 Image Builder のコンポーネントを作成する
- 7. オンプレミス VMware 仮想環境で AWS DataSync を利用してみた @ホームラボ
- 8. Generated Blog Post
- 9. AWS Certificated Solution Architect – Associateに合格した
- 10. VPCエンドポイント経由で、CloudWatchLogsにログを出力する
- 11. 【AWS】API Gateway マッピングテンプレートではまった
- 12. AWSスキルビルダーラボ IAM編
- 13. Amazon Bedrock GuardrailsでDenied topicを試す
- 14. Llama StackからBedrockで呼び出す備忘録
- 15. RDS ブルー/グリーンデプロイ作成時のエラーの解消
- 16. AWSのクレデンシャルをGCP側に渡さず、GCPからAWSのリソースにアクセス
- 17. Script実行するSSM Documentをアカウント共有する際のTips
- 18. BedrockのStabilityAIを使って画像生成をするgradioアプリ
- 19. access.logをAthenaで分析できる環境を構築してみた話
- 20. AWS_LAMBDA_SECURITY_NOTIFICATION への対応
Lightsail環境でVPCピアリングを使ってALBに接続する
## はじめに
Lightsailを使うとまずWAFが使用できない。
ちょっとセキュリティ面があれだよねーという感じではある。
Cloudfrontを使えという話ではあるのだが、ちょいとめんどうがくさいなという事もあると思う。
たぶん。きっと。そうであってほしい。
なので、VPCピアリングを使って、ALBに接続する。てかLightsailから他のAWSサービスに接続したいときはこのようにするぞとのお話。## Lightsail側の設定
もろもろLightsail側の構築は済んでいると想定しています。
インスタンスの準備とかIP固定とかもろもろ。Lightsailのコンソール → 右上の「アカウント」 → タブの「アドバンスド」 と進み、
対象のリージョンで「VPC ピア接続」をオンにする。![スクリーンショット 2024-08-28 11.29.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/134825/acaae56e-e6c8-73b9-a49c-0b0d96b29b03.png
CDKでAWS ChatbotのTeamsチャネル作成時に指定するチャンネルID
### 前提
AWS Chatbotに対象となる宛先のTeamsクライアントが作成されていること(CDKでは作成不可)“`Example.ts
import { aws_chatbot as chatbot } from ‘aws-cdk-lib’;
const cfnMicrosoftTeamsChannelConfiguration = new chatbot.CfnMicrosoftTeamsChannelConfiguration(this, ‘MyCfnMicrosoftTeamsChannelConfiguration’, {
configurationName: ‘configurationName’,
iamRoleArn: ‘iamRoleArn’,
teamId: ‘teamId’,
teamsChannelId: ‘teamsChannelId’, //ここで指定する内容について
teamsTenantId: ‘teamsTenantId’,
});“`
https://docs.aws.amazon.com/cdk/api/
Amazon Route 53 Resolverの転送ルールとシステムルールの違い
Amazon Route 53 Resolverにおける「転送ルール(Forwarding Rules)」と「システムルール(System Rules)」の違いについて解説。
これらのルールを理解することで、VPC内外のDNSクエリを効率的かつ安全に管理できるようになります。### Amazon Route 53 Resolverとは?
Amazon Route 53 Resolverは、AWSのDNSサービスで、VPC(Virtual Private Cloud)内のリソースとオンプレミス環境との間でDNSクエリを解決するためのサービスです。主に以下の2つの機能を提供します:
– インバウンドエンドポイント(Inbound Endpoints)
オンプレミスからVPC内のリソースへのDNSクエリを受け取ります。– アウトバウンドエンドポイント(Outbound Endpoints)
VPC内からオンプレミスや他のネットワークへのDNSクエリを送信します。### 転送ルール(Forwarding Rules)とは?
転送ルールは、特定のドメインに対す
今日から始めるCDK! ~既存リソースをCDK移行する~
# はじめに
クラウドインフラはCDKで管理する時代だ。という波に乗って、自分が主管のAWSアカウントをCDKに移行して展開しよう! というモチベーションから始めたのですが、「そもそも何言っているのかわからない」とか「既存リソースのCDK移行に関してドキュメントが少ない」という点でとても苦労してきました。というわけで、本記事はそんな私と同じ道を歩む方への道しるべとして、2つの内容で構成しております。
1. CDKの概念をざっくりと知る
2. 既存のリソースをCDKに移行する### 注意事項
以下については解説しません
* CDKのコーディング
* ゼロベースでCDKを始める方法# CDKとは何か
CDKを理解するにあたっては、まず登場人物を整理するところから始めましょう。
※前提:CDKは、ローカルのVSCodeで動作するものとします。## 単語
1. CDKコード
* CDKの本体。Typescript, Pythonなど、様々な言語で記述できる
1. テンプレート(ローカル)
* CDKコードを記述し、`cdk synth`コマンドを実行す
コンテンツのタイトルからNTRが含まれているかを推理するゲームアプリ「NTR Judge」をPythonで作りました
# まずは作ったものを見ていただければ
※18歳未満の方はご利用いただけません。申し訳ございません……https://9xswpuzxzd.execute-api.ap-northeast-1.amazonaws.com/ntr/confirm
# 作ろうと思ったきっかけ
2年ほど前に[BookRain](https://kemelman.github.io/bookrain/)というアプリを作成しました。
こちらは[OpenBD](https://openbd.jp/)を使って取得した本のタイトルが雨のように降ってくるのを楽しむウェブサイトとなっております。
開発の経緯は[こちら](https://qiita.com/kemelman/items/c01a47119f3221a9cfbb)からどうぞ。BookRainは楽しんで作ることができ、個人開発を公開するのは初めてで、私にとって有意義な経験となりました。
一方で、反省は以下の通りです。
– スマホで楽しめるものを作れていない。
– ユーザーからの入力を受け付けるようなものを作りたい。この反省を踏まえて、次に作る
追加でアタッチした EBS ボリュームをマウントする EC2 Image Builder のコンポーネントを作成する
こんにちは!インサイトテクノロジーの松尾です。
本投稿では、追加でアタッチした EBS ボリュームをマウントする EC2 Image Builder のコンポーネントについて紹介します。対象OSはRHELです。
## 背景
EC2 Image Builderを使って自社アプリのイメージを作る際に、複数ボリュームをマウントしたイメージを作りたいケースもあると思います。一方、Nitro System 上に構築されたインスタンスでNVMeブロックデバイスとして公開されるEBS ボリュームは、ブート時のデバイスが応答する順序に基づいてデバイスノードが作成されるため、fstabの作成の自動化が面倒だったりします。
https://docs.aws.amazon.com/ja_jp/ebs/latest/userguide/nvme-ebs-volumes.html#identify-nvme-ebs-device
> EBS は、シングルルート I/O 仮想化 (SR-IOV) を使用して、 NVMe仕様を使用して Nitro ベースのインスタンスにボリュームアタッチメントを提供します
オンプレミス VMware 仮想環境で AWS DataSync を利用してみた @ホームラボ
# 1. はじめに
自宅にホームラボを構えていろいろと検証しているのですが、NAS ストレージ内のデータを Amazon S3 にも遠隔保管したくなったので、[AWS DataSync](https://aws.amazon.com/jp/datasync/) を利用してみることにしました。
VMware 仮想環境で AWS DataSync を利用してみたのでセットアップ手順の備忘録を残しておきます。
## 全体構成の概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/864151/6558f854-d58e-72c6-0429-64f3dde36729.png)
::: note warn
今回は検証目的でのセットアップのため、本番環境で求められるようなセキュリティ設定などは割愛しておりますのでその点はご留意ください。
:::
# 2. 前提条件
VMware 仮想環境、および AWS クラウド側に必要なネットワーク要件、およびアクセス要件は事前に揃っているものとし
Generated Blog Post
初めてのblogの内容
blog自動生成の構成について一連の流れを作成いたします。
AWS Certificated Solution Architect – Associateに合格した
![AWS Certified Solution Architect Associate.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2503918/dc1f8b3c-edd1-10dd-38b4-46b9ae6e26cb.png)
# 本記事から得られること
– SAA合格のために用いた教材集
– 勉強方法
– 自分でも合格できるという自信# こんな人向け
– SAAをこれから受験しようと思っている
– 1-2ヶ月学習のための時間がある人
– なんとしてでも合格しないといけない人# 自己紹介 👨💻
自社開発のWeb開発企業で働いているエンジニア2年生です。「業務でAWSを触る機会を増やしていこう!」と2年目に突入してから意気込んでいたのですが、全くAWSが分からない!
というわけで資格取得を学習のマイルストーンにして、5月くらいからAWSやインフラ関連の学習を始め、SAAの前哨戦として6月にCloud PractitionerというAWSの初歩資格を取得しました。
7月末にSol
VPCエンドポイント経由で、CloudWatchLogsにログを出力する
## VPCエンドポイント経由で、CloudWatchLogsにログを出力したいときに、確認すること
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3871776/a58fd6d7-1427-8c75-25c4-3f6ec310729b.png)## 1.EC2インスタンスにロールがアタッチされているか確認する
以下のロールがEC2にアタッチされているか確認する。
– CloudWatchAgentServerPolicy![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3871776/eadb87ee-93b7-dd71-6c02-1cd50faabdf1.png)
## 2.CloudWatchエージェントが動作しているか確認する
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/
【AWS】API Gateway マッピングテンプレートではまった
# 概要
リクエストボディに URL パスパラメータを追加するマッピングテンプレートを書きたかったが、盛大にはまったのでメモを残しておく。
# マッピングテンプレートとは何か
以下は公式ドキュメントである。
https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/models-mappings.html
以下は API Gatewayのマッピングテンプレートについて ChatGPT の説明である。
> API Gatewayのマッピングテンプレートとは、リクエストやレスポンスのデータ形式を変換するためのスクリプトです。これにより、異なるフォーマットのデータをAPIが期待する形式に整えたり、外部サービスとの統合時にデータを適切に送信したりできます。主にVelocity Template Language (VTL)を使って記述され、JSONPathを使ってデータを操作します。
# やりたかったこと
以下のリソース `/books/{bookId}` に PUT メソッドを定義した。
!
AWSスキルビルダーラボ IAM編
AWS Identity and Access Management (IAM)のスキルビルダーラボを体験し、以下の手順を通じてIAMの基本的な操作を学びました。
### 事前にAWS側が
– 事前に作成された3つのIAMユーザーと3つのIAMユーザーグループ作成済み
– 各ユーザーグループには、EC2やS3の権限が事前に付与済み## 実施内容
– IAMユーザーとユーザーグループを紐づけ
– 紐づけた後、実際の権限確認を実施### まとめ
権限が正しく付与されていない場合、エラーが発生するため、問題が明確になり慌てずに対処できます。スキルビルダー自体は有料ですが、ラボで使用するAWSリソースは無料なので、実際に操作に慣れるためには非常に有益だと感じました。
Amazon Bedrock GuardrailsでDenied topicを試す
# はじめに
Amazon Bedrockを利用したチャットボットを運用する際に、有害なユーザー入力やモデルの出力を防ぎたい場合があります。例えば、チャットボットが個人情報を取り扱う場合、その情報が漏洩しないようにするために、個人情報を含む入力をフィルタリングする必要があります。また、チャットボットが不適切な内容を返答しないようにするために、不適切な内容を含む入力をフィルタリングする必要があります。Amazon Bedrock Guardrailsは、このような問題を解決するためのツールです。この記事では、Amazon Bedrock Guardrailsを使って、Denied topic(拒否されたトピック)を試してみます。# Amazon Bedrock Guardrailsとは
Amazon Bedrock Guardrailsは、望ましくない有害なコンテンツを回避し、プライバシー保護のために機密情報を削除またはマスクするように設定できる以下のフィルタリングポリシーを提供する仕組みです。グランドチェックは、モデルの出力が情報ソースに基づいて適切であるかどうかやユーザーの入力に
Llama StackからBedrockで呼び出す備忘録
:::note warn
2024/9/30 21:30時点の情報です。
おそらくアップデートされると思いますので、最新情報をご確認ください。
:::Llama 3.2のリリースと合わせて、Llama Stackが発表されました。
https://github.com/meta-llama/llama-stack
合ってるかわからないのですが、「Llama特化のLangChain的なもの」のような気がしました。
LLM、メモリー、エージェントなどの各パーツを組み合わせて、それぞれの環境にあった一式を整えるもののようです。
例えば、LLMはローカルで動作するもの、Bedrock、Ollamaなどから選択できます。
:::note
iOS上で動作するPyTorch ExecuTorchというものもあるようです
:::詳細はこちらをご確認ください。
https://ai.meta.com/blog/llama-3-2-connect-2024-vision-edge-mobile-devices/
—
発表されて間もないので、発展途上の印象ですが、「**Bedro
RDS ブルー/グリーンデプロイ作成時のエラーの解消
mysql5.7のRDSを8.0に上げるためにブルー/グリーンデプロイメントのグリーン環境を作成した際に、エラーで詰まりました。
### 解決
1. RDSのインスタンスを選択
1. ログとイベントタブのログで、PrePatchCompatibility.logを検索
1. PrePatchCompatibility.logを選択して見るをクリックするとエラーログが見れる。私が出てたエラーは、こちらでした。
“`
26) Check for indexes that are too large to work on higher versions of MySQL Server than 5.7
The following indexes were made too large for their format in a version of MySQL prior to 5.7.34. Normally, indexes within tables with compact or redundant row formats shouldn’t be larger than
AWSのクレデンシャルをGCP側に渡さず、GCPからAWSのリソースにアクセス
## 目的
Google CloudからAWSのリソースを操作したい。
当然ながら、AWSのアクセスキーやシークレットを、環境変数に保存して扱うや、Google CloudのSecret Managerに保存して利用するなどは、よろしくない。
ので、Google Cloudのサービスアカウントに対して、許可を与えて操作できるようにする。## 方法
まずは、Google Cloudでサービスアカウントを作成する。このサービスアカウントでCloud Functionsなどを動かすようにする。
サービスアカウントには、アカウントID(メールアドレスではない)がある。この値を使って、AWS側で許可設定を行う。AWSでGCPのサービスアカウントに対して、リソース操作の許可を付与する。
“`terraform
locals {
role_name = “google-cloud-service-account” // Edit
service_account_id = “” // e.g. 123456789
policies
Script実行するSSM Documentをアカウント共有する際のTips
# SSM Documentと実行IAMロール
公式サイト:
[AWS Systems Manager Automation](https://docs.aws.amazon.com/ja_jp/systems-manager/latest/userguide/systems-manager-automation.html)**SSM Document**でScriptを実行するには**aws:executeScript**で**Python**なりの**Script**を記述すれば良いわけであるが、1つの注意点として「Documentのランブック属性にロールを割り当てる」ことが必須となる。
![01.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3295992/b
BedrockのStabilityAIを使って画像生成をするgradioアプリ
## はじめに
9月になってオレゴンリージョンのBedrockにStable Image Ultra, Stable Diffusion 3 Large Stable Image Coreの3つのモデルが追加されたので、例によってgradioでアプリ化したいと思います。
新しい3つのモデルについてはこちらの記事に詳しく書かれています。
https://qiita.com/hedgehog051/items/446db1c07ac45eea1c9c
## boto3の設定
事前にboto3をインストールをインストール、環境変数にAWSのAPI キーを設定しておきましょう。
そのあたりはこちらの記事が分かりやすかったです。
https://qiita.com/kimihiro_n/items/f3ce86472152b2676004
## 準備
pipでgradioをインストールしておいて下さい。
## ソースコード
“`gradio_bedrock_stable_diffusion.py
import os
import json
import bas
access.logをAthenaで分析できる環境を構築してみた話
## 概要
EC2で収集した`access.log`をS3に転送して、S3上のgz形式のログファイルをAthenaで分析できる環境を**作成**しました。—
## そもそもAthenaってなに?
> Amazon Athena は、オープンソースフレームワーク上に構築されたサーバーレスのインタラクティブな分析サービスで、オープンテーブルとファイル形式をサポートしています。
> Athena は、ペタバイト規模のデータが存在する場所で分析するための簡素化された柔軟な方法を提供します。Amazon Simple Storage Service (S3) データレイクと 25 以上のデータソース (オンプレミスデータソースや SQL または Python を使用した他のクラウドシステムを含む) からデータを分析したり、アプリケーションを構築したりできます。
> Athena は、オープンソースの Trino および Presto エンジンと Apache Spark フレームワーク上に構築されており、プロビジョニングや設定は不要です。要するに **S3にデータを設置す
AWS_LAMBDA_SECURITY_NOTIFICATION への対応
# はじめに
もう少し皆さんも興味が湧くような内容を紹介していきたいと日々考えている [@\_\_\_nix___](https://twitter.com/___nix___) です。
今回もAWSからの通知でお悩みの方向けの記事です。
# 背景
AWSからの通知例
これは、2024 年 7 月 4 日の Lambda GetFunction API 認可の変更についてのご連絡のフォローアップで、お客様の対応が必要となる場合があります。この変更の実施は、以前にお知らせした 2024 年 7 月 27 日から 2024 年 10 月 2 日に延期されました。また、お客様に確認と必要な変更の時間を設けるため、お客様のアカウントを 2024 年 XX 月 XX 日まで例外リストに追加しました。 以前は、ListTags API を明示的に使用する場合にのみ ListTags に対する権限が必要でした。しかし、GetFunction API 権限を持つプリンシパルは、ListTags API が明示的に拒否されている場合でも、G