メインコンテンツまでスキップ

Amazon AuroraとAmazon Bedrockを統合してRAG化検証(環境構築)

· 約8分
moritalous

以下の構成を構築する手順です。

Amazon AuroraとAmazon Bedrockを統合してRAG化検証の環境構築部分です。

image.png

VPC

  1. VPCを作成

    VPC管理画面で、VPCを作成をクリック。 以下の設定でVPCを作成する。

    項目設定値
    作成するリソースVPC など
    名前タグの自動生成bedrock-aurora
    IPv4 CIDR ブロック10.0.0.0/16
    IPv6 CIDR ブロックIPv6 CIDR ブロックなし
    テナンシーデフォルト
    アベイラビリティゾーン (AZ) の数2
    パブリックサブネットの数2
    プライベートサブネットの数2
    NAT ゲートウェイなし
    VPC エンドポイントなし
    DNS オプションDNS ホスト名を有効化
    DNS 解決を有効化

EC2

  1. EC2を作成

    EC2管理画面で、インスタンスを起動をクリック。 以下の設定でEC2を作成する。

    項目設定値
    名前bedrock-aurora-bastion
    Amazon マシンイメージ (AMI)Amazon Linux (x86)
    インスタンスタイプt2.micro
    キーペア新しいものを作成(.pem形式)
    VPCbedrock-aurora-vpc
    サブネットbedrock-aurora-subnet-public1-ap-northeast-1a
    パブリック IP の自動割り当て有効化
    ファイアウォール (セキュリティグループ)セキュリティグループを作成
    セキュリティグループ名bedrock-aurora-bastion-sg
    説明bedrock-aurora-bastion-sg
    インバウンドセキュリティグループのルールTCP 22のルールを削除し、ルールがない状態にする

EC2 Instance Connect エンドポイント

  1. EC2 Instance Connect エンドポイントのセキュリティグループを作成

    セキュリティグループ管理画面で、セキュリティグループを作成をクリックする。

    セキュリティグループを作成する。

    項目設定値
    セキュリティグループ名instance-connect-sg
    説明instance-connect-sg
    VPCbedrock-aurora-vpc
    インバウンドルールなし
    アウトバウンドルールすべてのトラフィックの0.0.0.0/0(デフォルト設定)

  2. EC2 Instance Connect エンドポイントを作成

    エンドポイント管理画面で、エンドポイントを作成をクリックする。

    EC2 インスタンス接続エンドポイントを作成する。

    項目設定値
    サービスカテゴリEC2 インスタンス接続エンドポイント
    VPCbedrock-aurora-vpc
    セキュリティグループinstance-connect-sg
    サブネットbedrock-aurora-subnet-public1-ap-northeast-1a

  3. EC2のセキュリティグループの設定変更

    セキュリティグループ管理画面で、bedrock-aurora-bastion-sgを選択してインバウンドルールを編集をクリックする。

    以下のルールを追加する。

    項目設定値
    タイプSSH
    ソースカスタム
    instance-connect-sg

Aurora

  1. DBサブネットグループを作成

    サブネットグループ管理画面で、DBサブネットグループを作成をクリックする。

    項目設定値
    名前bedrock-aurora-subnet-group
    説明bedrock-aurora-subnet-group
    VPCbedrock-aurora-vpc
    アベイラビリティーゾーンap-northeast-1a
    ap-northeast-1c
    ap-northeast-1d
    サブネット10.0.128.0/20
    10.0.144.0/20

  2. Auroraクラスターを作成

    データベース管理画面で、データベースの作成をクリックする。

    項目設定値
    データベース作成方法を選択標準作成
    エンジンのタイプAurora (PostgreSQL Compatible)
    エンジンバージョンAurora PostgreSQL (Compatible with PostgreSQL 15.5)
    テンプレート開発/テスト
    DB クラスター識別子database-1
    マスターユーザー名postgres
    AWS Secrets Manager でマスター認証情報を管理するチェックを入れる
    暗号化キーの選択デフォルト
    クラスターストレージ設定 設定オプションAurora スタンダード
    DB インスタンスクラスバースト可能クラス (t クラスを含む)
    db.t3.medium
    マルチ AZ 配置Aurora レプリカを作成しない
    コンピューティングリソースEC2 コンピューティングリソースに接続しない
    ネットワークタイプIPv4
    Virtual Private Cloud (VPC)bedrock-aurora-vpc
    DB サブネットグループbedrock-aurora-subnet-group
    パブリックアクセスなし
    VPC セキュリティグループ (ファイアウォール)新規作成
    新しい VPC セキュリティグループ名aurora-sg
    アベイラビリティーゾーン指定なし
    Performance Insights をオンにするチェックを外す

  3. EC2からの接続を許可

    作成したクラスターを選択し、接続とセキュリティタブの接続されたコンピューティングリソースセクションのアクションEC2 接続のセットアップをクリックする。 EC2インスタンスとしてbedrock-aurora-bastionを選択して続行をクリックする

  4. IAMロールを作成

    AuroraがBedrockにアクセスする必要があるので、権限を付与します。

    IAMロール管理画面で、ロールを作成をクリックする。

    項目設定値
    信頼されたエンティティタイプAWS のサービス
    サービスまたはユースケースRDS
    ユースケースRDS - Add Role to Database
    許可ポリシー選択しない
    ロール名aurora-bedrock-access-role

  5. IAMポリシーを追加

    作成したIAMロールを選択して、許可を追加インラインポリシーを作成をクリックする。JSON入力モードに切り替え、以下のJSONを貼り付ける。ポリシー名をaurora-bedrock-access-policyとして作成する。

    {
    "Version": "2012-10-17",
    "Statement": [
    {
    "Sid": "VisualEditor0",
    "Effect": "Allow",
    "Action": "bedrock:InvokeModel",
    "Resource": "arn:aws:bedrock:*::foundation-model/*"
    }
    ]
    }
  6. AuroraにIAMロールを追加

    作成したクラスターの管理画面に戻り、IAM ロールの管理セクションのクラスターに IAM ロールを追加に作成したIAMロールを選択して機能をBedrockにしロールの追加をクリックする。

VPCエンドポイント

  1. VPCエンドポイントのセキュリティグループを作成 VPC内からBedrockにアクセスするためのVPCエンドポイントを作成します。まずはセキュリティグループを作成します。

    セキュリティグループ管理画面で、セキュリティグループを作成をクリックする。

    セキュリティグループを作成する。

    項目設定値
    セキュリティグループ名bedrock-sg
    説明bedrock-sg
    VPCbedrock-aurora-vpc
    インバウンドルールタイプ:HTTPS
    ソース:セキュリティグループをaurora-sg
    アウトバウンドルールすべてのトラフィックの0.0.0.0/0(デフォルト設定)

  1. VPCエンドポイントを作成

    エンドポイント管理画面で、エンドポイントを作成をクリックする。

    EC2 インスタンス接続エンドポイントを作成する。

    項目設定値
    サービスカテゴリAWS のサービス
    サービスcom.amazonaws.ap-northeast-1.bedrock-runtime
    VPCbedrock-aurora-vpc
    サブネットbedrock-aurora-subnet-private1-ap-northeast-1a
    bedrock-aurora-subnet-private2-ap-northeast-1a
    セキュリティグループbedrock-sg

EC2接続確認

  1. インスタンス管理画面で、bedrock-aurora-bastionインスタンスを選択して接続ボタンをクリック

  2. EC2 Instance Connectタブを選択する。

  3. 接続タイプをEC2 Instance Connect エンドポイントを使用して接続するに変更する。

  4. EC2 Instance Connect エンドポイントを選択して接続ボタンをクリックします。

VSCodeからEC2に接続

  1. SSH接続設定を追加

    %USERPROFILE%.ssh\configファイルに以下の設定を追加する。

    • {インスタンスID} : インスタンスID
    • {.pemファイル名} : EC2起動時に作成したpemファイル
    Host {インスタンスID}
    User ec2-user
    IdentityFile "~/.ssh/{.pemファイル名}"
    ProxyCommand c:\Program Files\Amazon\AWSCLIV2\aws.exe ec2-instance-connect open-tunnel --instance-id %h
  2. VSCodeを開き、左下のリモート ウィンドウを開きますをクリックする。

  3. ホストに接続するをクリックする。

EC2に接続できました。

Auroraへの接続

  1. 拡張機能SQLTools PostgreSQL/Cockroach Driverを検索し、インストールする。

  2. SQLToolsタブのAdd New Connectionをクリック

項目設定値
Select your database driverPostgreSQL
Connection nameAurora
Server AddressAuroraクラスターのエンドポイント 
例)database-1.cluster-xxxxx.ap-northeast-1.rds.amazonaws.com
Databasepostgres
Usernamepostgres
  1. Secrets Managerでパスワードを取得する。
  2. TEST CONNECTIONをクリックして、パスワードを入力する。
  3. SAVE CONNECTIONをクリックする。
  4. CONNECT NOWをクリックする。

SQLを入力し、Run on active connectionをクリックします。

image.png

環境構築は以上です。