Skip to content

Instantly share code, notes, and snippets.

@tsukumonasu
Last active November 20, 2023 10:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tsukumonasu/b42ef1469522a3fd0bf16a6fb2b4f69f to your computer and use it in GitHub Desktop.
Save tsukumonasu/b42ef1469522a3fd0bf16a6fb2b4f69f to your computer and use it in GitHub Desktop.

20231120 JAWS-UG 名古屋 Amazon Bedrock ハンズオン~準備編~

準備

前提

東京リージョンだとClaudeやStable Diffusionが利用できないため、バージニア北部またはオレゴンリージョンを利用します.
↓東京リージョン image

事前準備

以下の手順を実施してClaudeにアクセスできるようにしてください.
https://gist.github.com/tsukumonasu/964c9012166490b7094093872a912fc3

モデルアクセス設定

  1. コンソールで「bedrock」と入力し、サービスの「Amazon Bedrock」をクリックする。 image
  2. 左側のメニューから「Model Aceess」をクリックする。 image
  3. 「Llama 2 Chat 13B」と「SDXL 0.8」にチェックをつけ、「Save changes」をクリックする。 image
  4. しばらくすると、「Access granted」となる。 image

共通リソースの作成

S3の作成

  1. コンソールに「S3」と入力し、サービス「S3」をクリックする.
    image

  2. バケットを作成をクリックする.
    image

  3. バケット名に「jawsug-nagoya-handson-[アカウント番号]」を入力する.
    image

  4. 「パブリックアクセスをすべて ブロック」のチェックを外す.
    image

  5. 「現在の設定により、このバケットとバケット内のオブジェクトが公開される可能性があることを承認します。」にチェックをつける.
    image

  6. バケットを作成をクリックする.

  7. 作成したバケットをクリックして開き、アクセス許可のタブを表示して「編集」をクリックする.
    image

  8. アカウントIDを自分のアカウントIDに変えて、ポリシーに以下を張り付けて、「変更の保存」をクリックする.
    image

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::jawsug-nagoya-handson-[アカウントID]/*"
        }
    ]
}

Lambda Layer作成

※2023/11/19時点 Lambdaに入ってるBoto3にBedrockが入っていないため自分でレイヤーを作成する必要があります。

自分で中身を作らない人向け

https://github.com/tsukumonasu/jawsug-nagoya-bedrock/releases/tag/boto3

  1. 以下から、Layer作成用のファイルをダウンロードしてください。 https://github.com/tsukumonasu/jawsug-nagoya-bedrock/releases/tag/boto3 image
  2. S3のコンソールで作成済みのバケットを開き、「アップロード」をクリックする。 image
  3. ダウンロードしたファイルをアップロードする。 image

自分で作れた時のメモ

※Pythonのインストールに10分ほど時間がかかります。バージニアで作り直したらうまくいかなかったので、「自分で中身を作らない人向け」を実施してください。

  1. コンソールに「cloudshell」と入力し、サービス「cloudshell」をクリックする.
    image
  2. 以下のコマンドを入力しPython3.11をインストールする.
cat <<EOF > cloudshell_install_python311.sh
sudo yum -y groupinstall "Development Tools"
sudo yum -y install openssl-devel bzip2-devel libffi-devel
wget https://www.python.org/ftp/python/3.11.6/Python-3.11.6.tgz
tar xvf Python-3.11.6.tgz
cd Python-3.11.6
./configure --enable-optimizations --prefix=$HOME/.local
sudo make altinstall
cd ..
sudo rm -rf Python-3.11.6 Python-3.11.6.tgz
python3.11 --version
pip3.11 --version
EOF

sh cloudshell_install_python311.sh
  1. s3にファイルをアップロードする.
mkdir boto3work
pip install -t ./boto3work boto3
mv ./boto3work ./python
zip -r boto3-1.28.85.zip ./python

ACCOUNT_ID=$(aws sts get-caller-identity --query "Account" --output text)

aws s3 cp boto3-1.28.85.zip s3://${ACCOUNT_ID}/

Layer作成

  1. コンソールに「Lambda」と入力し、サービス「Lambda」をクリックする.
    image

  2. 左側のメニューから「レイヤー」をクリックする.
    image

  3. 「レイヤーの作成」をクリックする. image

  4. S3のコンソールを開き、アップロードしたオブジェクトURLをコピーする. image

  5. 名前に「jawsug-nagoya-handson-layer」と入力し、「Amazon S3 からファイルをアップロードする」を選択し、「Amazon S3 のリンク URL」にS3のオブジェクトURLを入力する。 image

  6. 「互換性のあるアーキテクチャ」に「x86_64」、「互換性のあるランタイム」に「Python 3.11」を選択し、「作成」をクリックする. image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment