11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Amazon SageMaker ノートブックインスタンスがAmazon Linux 2023になったのでクラウドIDEとして使うヨ

Posted at

密かに待ってたアップデートが来ました!

昨日まではAmazon Linux 2しか選べなかったのですが、 Amazon Linux 2023を選べるようになりました!

二年越しで待ってたよ!

Amazon Bedrock 生成AIアプリ開発入門」の環境としても使えるので、手順を紹介します!

image.png

オレンジもいいけどミドリもいいよ!

手順

  1. マネジメントコンソールを開きます

    検索欄で「Amazon SageMaker AI」を探します。(「Amazon SageMaker」ではないので注意!ミドリの方です)

  2. 左メニューの「Applications and IDEs」のセクションにある「Notebooksをクリックします

  3. 「ノートブックインスタンスの作成」をクリックします

  4. 入力欄に入力します
    「プラットフォーム種別子」がインスタンスタイプの選択です。デフォルトはAmazon Linux 2なのでAmazon Linux 2023に変更します
    インスタンスタイプは好みですが、私はlargeにしてます

    IAMロールは、「新しいロールの作成」という選択肢があります。これを選ぶとダイアログが出て作成できます

    画面最下部の「ノートブックインスタンスの作成」をクリックします

しばらくすると作成が完了します。

IAMロールにBedrockへのアクセス権限を追加

先程作成したIAMロールではBedrockへアクセスできないので、権限を追加します。

作成したノートブックインスタンスの名称をクリックし、詳細設定の画面に遷移します。

IAMロールARNのリンクをクリックすると、IAM管理画面に遷移するので、「AmazonBedrockFullAccess」のポリシーを追加します。

ノートブックインスタンスにアクセスする

作成後はノートブックインスタンスが起動した状態になります。先程の詳細設定画面の上部の「JupyterLabを開く」ボタンをクリックします。

JupyterLabが表示されます。

ちなみにですが、作業後にノートブックインスタンスは手動で停止する必要があります。「JupyterLabを開く」ボタンから遷移すると今の画面の状態の戻ってくるのが、ちょいとめんどくさいです。

ノートブックインスタンスの一覧画面であれば、「JupyterLabを開く」がボタンではなく単純なリンクなので、別タブで開くことが可能です。

こちらがおすすめです!

Bedrockにアクセス

ではBedrockにアクセスする簡単なチャットを作りましょう。LauncherのTerminalをクリックし、ターミナルを起動します。

  1. uvをインストール

    Terminal
    curl -LsSf https://astral.sh/uv/install.sh | sh
    

    一度ターミナルを閉じて再度起動し直すか、source $HOME/.local/bin/envを実行するとuvコマンドが利用可能になります。

  2. プロジェクトを作成

    Terminal
    cd SageMaker/
    uv init sample-app --python 3.13
    
  3. Pythonライブラリーを追加

    Terminal
    cd sample-app/
    uv add streamlit strands-agents
    
  4. main.pyを修正

    プロジェクト作成時に生成されたmain.pyを修正します。

    main.py
    import streamlit as st
    from strands import Agent
    
    st.title("Chat")
    
    if prompt := st.chat_input():
        with st.chat_message("user"):
            st.write(prompt)
    
        agent = Agent(
            model="global.anthropic.claude-sonnet-4-5-20250929-v1:0",
            callback_handler=None,
        )
        result = agent("こんにちは")
    
        with st.chat_message("assistant"):
            for content in result.message["content"]:
                st.write(content["text"])
    
  5. Streamlitを起動

    ターミナルでStreamlitを起動します

    Terminal
    uv run streamlit run main.py --server.baseUrlPath /proxy/absolute/8501
    

--server.baseUrlPathがミソです。

新しいタブを開き、「https://ノートブックインスタンスのドメイン/proxy/absolute/8501/」にアクセスするとめでたくStramlitにアクセスできます。

停止

使い終わったら停止しましょう。

三連休最終日の午前中からブログ書いて偉いのでいいねください!

11
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?