

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# Amazon SageMaker Studio の Code Editor
<a name="code-editor"></a>

[Code-OSS (Visual Studio Code - Open Source)](https://github.com/microsoft/vscode#visual-studio-code---open-source-code---oss) に基づく Code Editor は、分析および機械学習コードの記述、テスト、デバッグ、実行に役立ちます。Code Editor は機能が拡張され、Amazon SageMaker Studio と完全に統合されています。また、[Open VSX Registry](https://open-vsx.org/) で利用可能な統合開発環境 (IDE) 拡張機能もサポートしています。このページでは、Code Editor とそれを使用するための重要な詳細について説明します。

Code Editor には [AWS Toolkit for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html) 拡張機能がプリインストールされています。これにより、コードレコメンデーションをリアルタイムで提供する汎用の機械学習を活用したコードジェネレーター[Amazon CodeWhisperer](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codewhisperer.html)である AWS のサービス などの への接続が可能になります。拡張機能の詳細については、「[Code Editor の接続と拡張機能](code-editor-use-connections-and-extensions.md)」を参照してください。

**重要**  
2023 年 11 月 30 日以降、従来の Amazon SageMaker Studio のエクスペリエンスは Amazon SageMaker Studio Classic と名前が変更されました。以下のセクションは、更新後の Studio のエクスペリエンスに沿った内容になっています。Studio Classic アプリケーションを使用する場合は、「[Amazon SageMaker Studio Classic](studio.md)」を参照してください。

Code Editor を起動するには、Code Editor のプライベートスペースを作成します。Code Editor スペースでは、コンピューティングに 1 つの Amazon Elastic Compute Cloud (Amazon EC2) インスタンスを使用し、ストレージに 1 つの Amazon Elastic Block Store (Amazon EBS) ボリュームを使用します。コード、Git プロファイル、環境変数など、スペース内のすべてのものが、同じ Amazon EBS ボリュームに保存されます。ボリュームのパフォーマンスは 3,000 IOPS で、スループットは 125 MBps です。スペースのデフォルトの Amazon EBS ストレージ設定は管理者が設定しています。

デフォルトのストレージサイズは 5 GB ですが、管理者は取得する容量を増やすことができます。詳細については、「[デフォルトのストレージサイズを変更する](code-editor-admin-storage-size.md)」を参照してください。

ストレージボリューム内のユーザーの作業ディレクトリは `/home/sagemaker-user` です。ボリュームを暗号化するために独自の AWS KMS キーを指定すると、作業ディレクトリ内のすべてのものがカスタマーマネージドキーを使用して暗号化されます。 AWS KMS キーを指定しない場合、 内のデータは AWS マネージドキーで暗号化`/home/sagemaker-user`されます。 AWS KMS キーを指定するかどうかにかかわらず、作業ディレクトリ外のすべてのデータは AWS マネージドキーで暗号化されます。

Code Editor アプリケーションを実行する Amazon EC2 インスタンスタイプを変更することで、コンピューティングをスケールアップまたはスケールダウンできます。関連するインスタンスタイプを変更する前に、まずCode Editor スペースを停止する必要があります。詳細については、「[Code Editor アプリケーションインスタンスとイメージ](code-editor-use-instances.md)」を参照してください。

管理者から、環境をカスタマイズするためのライフサイクル設定が提供される場合があります。ライフサイクル設定はスペースの作成時に指定できます。詳細については、「[Code Editor のライフサイクル設定](code-editor-use-lifecycle-configurations.md)」を参照してください。

Amazon EFS ボリュームがある場合は、独自のファイルストレージシステムを持ち込むこともできます。

![\[Code Editor アプリケーション UI のウェルカムページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-home.png)


**Topics**
+ [Code Editor の使用](code-editor-use.md)
+ [Code Editor 管理者ガイド](code-editor-admin.md)

# Code Editor の使用
<a name="code-editor-use"></a>

このセクションのトピックでは、Code Editor の起動、接続の追加、リソースの AWS のサービスシャットダウンなどの使用方法について説明します。Code Editor スペースを作成したら、ブラウザから直接 Code Editor セッションにアクセスできます。

Code Editor 環境では、以下を実行できます。
+ ホームディレクトリに保持されているすべてのアーティファクトにアクセスする
+ GitHub リポジトリのクローンを作成し、変更をコミットする
+ SageMaker Python SDK にアクセスする

Studio に戻って、実験、パイプライン、トレーニングジョブなど、Code Editor 環境で作成されたアセットを確認できます。

**Topics**
+ [Code Editor のバージョンを確認する](code-editor-use-version.md)
+ [Code Editor アプリケーションインスタンスとイメージ](code-editor-use-instances.md)
+ [Studio で Code Editor アプリケーションを起動する](code-editor-use-studio.md)
+ [を使用して Code Editor アプリケーションを起動する AWS CLI](code-editor-launch-cli.md)
+ [Code Editor でリポジトリのクローンを作成する](code-editor-use-clone-a-repository.md)
+ [Code Editor の接続と拡張機能](code-editor-use-connections-and-extensions.md)
+ [Code Editor リソースをシャットダウンする](code-editor-use-log-out.md)

# Code Editor のバージョンを確認する
<a name="code-editor-use-version"></a>

次の手順は、Code Editor アプリケーションのバージョンを確認する方法を示しています。

**Code Editor アプリケーションのバージョンを確認するには**

1. Code Editor スペースを起動して実行し、Code Editor アプリケーション UI に移動します。詳細については、「[Studio で Code Editor アプリケーションを起動する](code-editor-use-studio.md)」を参照してください。

1. Code Editor UI の左上隅で、メニューボタン (![\[Hamburger menu icon with three horizontal lines.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-menu-icon.png)) を選択します。次に、**[ヘルプ]** を選択し、**[バージョン情報]** を選択します。

# Code Editor アプリケーションインスタンスとイメージ
<a name="code-editor-use-instances"></a>

Code Editor アプリケーションに対応しているのは一部のインスタンスのみです。**[インスタンス]** ドロップダウンメニューから、ユースケースに対応するインスタンスタイプを選択できます。

**[高速起動]** インスタンスは、他のインスタンスよりもはるかに高速に起動します。Studio での高速起動インスタンスタイプの詳細については、「[Amazon SageMaker Studio Classic ノートブックで使用できるインスタンスタイプ](notebooks-available-instance-types.md)」を参照してください。

**注記**  
Code Editor アプリケーションを設定するときに GPU インスタンスタイプを使用する場合は、GPU ベースのイメージを使用する必要があります。Code Editor スペース UI では、インスタンスタイプを選択すると、対応するイメージが自動的に選択されます。

スペース内では、データはインスタンスの存続期間とは別に保持される Amazon EBS ボリュームに保存されます。インスタンスを変更しても、データは失われません。Code Editor のスペースが `Running` の場合は、インスタンスタイプを変更する前にスペースを停止する必要があります。

次の表に、各リージョンで使用可能な Code Editor CPU イメージと GPU イメージの ARN を示します。


|  リージョン  |  CPU  |  GPU  | 
| --- | --- | --- | 
|  us–east–1  | arn:aws:sagemaker:us-east-1:885854791233:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:us-east-1:885854791233:image/sagemaker-distribution-gpu | 
|  us-east-2  | arn:aws:sagemaker:us-east-2:37914896644:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-east-2:37914896644:image/sagemaker-distribution-gpu | 
|  us-west-1  | arn:aws:sagemaker:us-west-1:053634841547:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-west-1:053634841547:image/sagemaker-distribution-gpu | 
|  us-west-2  | arn:aws:sagemaker:us-west-2:542918446943:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:us-west-2:542918446943:image/sagemaker-distribution-gpu | 
|  af-south-1  | arn:aws:sagemaker:af-south-1:238384257742:image/sagemaker-distribution-cpu | arn:aws:sagemaker:af-south-1:238384257742:image/sagemaker-distribution-gpu | 
|  ap-east-1  | arn:aws:sagemaker:ap-east-1:523751269255:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-east-1:523751269255:image/sagemaker-distribution-gpu | 
|  ap-south-1  | arn:aws:sagemaker:ap-south-1:245090515133:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-south-1:245090515133:image/sagemaker-distribution-gpu | 
|  ap-northeast-2  | arn:aws:sagemaker:ap-northeast-2:064688005998:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-2:064688005998:image/sagemaker-distribution-gpu | 
|  ap-southeast-1  | arn:aws:sagemaker:ap-southeast-1:022667117163:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-1:022667117163:image/sagemaker-distribution-gpu | 
|  ap-southeast-2  | arn:aws:sagemaker:ap-southeast-2:648430277019:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-2:648430277019:image/sagemaker-distribution-gpu | 
|  ap-northeast-1  | arn:aws:sagemaker:ap-northeast-1:010972774902:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-1:010972774902:image/sagemaker-distribution-gpu | 
|  ca-central-1  | arn:aws:sagemaker:ca-central-1:481561238223:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ca-central-1:481561238223:image/sagemaker-distribution-gpu | 
|  eu-central-1  | arn:aws:sagemaker:eu-central-1:545423591354:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-central-1:545423591354:image/sagemaker-distribution-gpu | 
|  eu-west-1  | arn:aws:sagemaker:eu-west-1:819792524951:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-1:819792524951:image/sagemaker-distribution-gpu | 
|  eu-west-2  | arn:aws:sagemaker:eu-west-2:021081402939:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-2:021081402939:image/sagemaker-distribution-gpu | 
|  eu-west-3  | arn:aws:sagemaker:eu-west-3:856416204555:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-west-3:856416204555:image/sagemaker-distribution-gpu | 
|  eu-north-1  | arn:aws:sagemaker:eu-north-1:175620155138:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-north-1:175620155138:image/sagemaker-distribution-gpu | 
|  eu-south-1  | arn:aws:sagemaker:eu-south-1:810671768855:image/sagemaker-distribution-cpu | arn:aws:sagemaker:eu-south-1:810671768855:image/sagemaker-distribution-gpu | 
|  sa-east-1  | arn:aws:sagemaker:sa-east-1:567556641782:image/sagemaker-distribution-cpu | arn:aws:sagemaker:sa-east-1:567556641782:image/sagemaker-distribution-gpu | 
|  ap-northeast-3  | arn:aws:sagemaker:ap-northeast-3:564864627153:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-northeast-3:564864627153:image/sagemaker-distribution-gpu | 
|  ap-southeast-3  | arn:aws:sagemaker:ap-southeast-3:370607712162:image/sagemaker-distribution-cpu | arn:aws:sagemaker:ap-southeast-3:370607712162:image/sagemaker-distribution-gpu | 
|  me-south-1  | arn:aws:sagemaker:me-south-1:523774347010:image/sagemaker-distribution-cpu | arn:aws:sagemaker:me-south-1:523774347010:image/sagemaker-distribution-gpu | 
|  me-central-1  | arn:aws:sagemaker:me-central-1:358593528301:image/sagemaker-distribution-cpu | arn:aws:sagemaker:me-central-1:358593528301:image/sagemaker-distribution-gpu | 
|  il-central-1  | arn:aws:sagemaker:il-central-1:080319125002:image/sagemaker-distribution-cpu | arn:aws:sagemaker:il-central-1:080319125002:image/sagemaker-distribution-gpu | 
|  cn-north-1  | arn:aws:sagemaker:cn-north-1:674439102856:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:cn-north-1:674439102856:image/sagemaker-distribution-gpu  | 
|  cn-northwest-1  | arn:aws:sagemaker:cn-northwest-1:651871951035:image/sagemaker-distribution-cpu |  arn:aws:sagemaker:cn-northwest-1:651871951035:image/sagemaker-distribution-gpu  | 
|  us-gov-west-1  | arn:aws:sagemaker:us-gov-west-1:300992924816:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-gov-west-1:300992924816:image/sagemaker-distribution-gpu | 
|  us-gov-east-1  | arn:aws:sagemaker:us-gov-east-1:300993876623:image/sagemaker-distribution-cpu | arn:aws:sagemaker:us-gov-east-1:300993876623:image/sagemaker-distribution-gpu | 

インスタンスの制限が発生した場合は、管理者に連絡してください。ユーザーのストレージとコンピューティングを増やすために、管理者はユーザーの AWS クォータの引き上げをリクエストできます。クォータの引き上げリクエストの詳細については、「[Amazon SageMaker エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)」を参照してください。

# Studio で Code Editor アプリケーションを起動する
<a name="code-editor-use-studio"></a>

Studio を使って Code Editor 統合開発環境を設定し、アクセスするには、Code Editor スペースを作成する必要があります。Studio のスペースの詳細については、「[Amazon SageMaker Studio のスペース](studio-updated-spaces.md)」を参照してください。

![\[Studio UI の Code Editor アプリケーションボタンと概要タイル。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-studio-home.png)


次の手順は、Code Editorスペースを作成して実行する方法を示しています。

**Code Editor スペースを作成して実行するには**

1. 更新された Studio エクスペリエンスを起動します。詳細については、「[Launch Amazon SageMaker Studio](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-launch.html)」を参照してください。

1. 次のいずれかを行います。
   + 更新された Amazon SageMaker Studio UI で、**[アプリケーション]** メニューから **[Code Editor]** を選択します。
   + 更新された Amazon SageMaker Studio UI で、Studio ホームページの **[概要]** セクションにある **[Code Editor スペースを表示]** を選択します。

1. Code Editor ランディングページの右上隅で、**[Code Editor スペースを作成]** を選択します。

1. Code Editor スペースの名前を入力します。名前の長さは 1 ～ 62 文字で、文字、数字、ダッシュのみを使用する必要があります。

1. **[スペースを作成]** を選択します。

1. スペースが作成されたら、スペースを実行する前にいくつかのオプションがあります。
   + **[ストレージ (GB)]**、**[ライフサイクル設定]** または **[カスタム EFS ファイルシステムのアタッチ]** の各設定を編集できます。これらの設定のオプションは、管理者が指定した内容に基づいて使用できます。
   + **[インスタンス]** ドロップダウンメニューから、ユースケースに最も対応するインスタンスタイプを選択できます。**[イメージ]** ドロップダウンメニューから、SageMaker Distribution イメージまたは管理者が提供するカスタムイメージを選択できます。
**注記**  
sagemaker-distribution イメージ間で切り替えを行うと、使用される Code Editor の基盤となるバージョンが変更され、ブラウザキャッシュによる非互換性が生じる可能性があります。イメージを切り替える際は、ブラウザキャッシュをクリアする必要があります。

     Code Editor アプリケーションを設定するときに GPU インスタンスタイプを使用する場合は、GPU ベースのイメージを使用する必要があります。スペース内では、データはインスタンスの存続期間とは別に保持される Amazon EBS ボリュームに保存されます。インスタンスを変更しても、データは失われません。
**重要**  
カスタムイメージを表示するためには、Studio ユーザーにスペースの作成を許可するカスタム IAM ポリシーで、イメージを一覧表示するアクセス許可 (`sagemaker: ListImage`) も付与する必要があります。アクセス許可を追加するには、「*AWS Identity and Access Management* ユーザーガイド」の「[アクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。  
SageMaker AI リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md)には、それらのリソースの作成中にイメージを一覧表示するアクセス許可が既に含まれています。
**注記**  
スペース設定を更新するには、まずスペースを停止する必要があります。NVMe インスタンスストアを使用するインスタンスを Code Editor で使う場合、NVMe ストアに保存されているデータは、スペースが停止すると削除されます。

1. 設定を更新したら、スペースの詳細ページで **[実行スペース]** を選択します。

1. スペースのステータスが `Running` になったら、**[Code Editor を開く]** を選択して Code Editor セッションに移動します。

![\[Studio UI の Code Editor アプリケーションのスペースの詳細ページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-open.png)


# を使用して Code Editor アプリケーションを起動する AWS CLI
<a name="code-editor-launch-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用して Code Editor 統合開発環境を設定し、アクセスするには、Code Editor スペースを作成する必要があります。次のステップに進む前に、必ず「[前提条件を満たす](code-editor-admin-prerequisites.md)」に従ってください。Code Editor スペースを作成して実行するには、次の手順に従います。

**Code Editor スペースを作成して実行するには**

1.  AWS Identity and Access Management (IAM) または AWS IAM アイデンティティセンター 認証を使用してスペースにアクセスします。を使用してスペースにアクセスする方法の詳細については AWS CLI、*「」の「 を使用してスペースにアクセスする AWS Command Line Interface*」を参照してください[Amazon SageMaker Studio のスペース](studio-updated-spaces.md)。

1. 次のコマンドを使用してアプリケーションを作成し、`app-type` として `CodeEditor` を指定します。

   Code Editor アプリケーションを作成するときに GPU インスタンスタイプを使用する場合は、GPU ベースのイメージを使用する必要があります。

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:account-id:image/sagemaker-distribution-cpu"
   ```

   使用可能な Code Editor のイメージ ARN については、「[Code Editor アプリケーションインスタンスとイメージ](code-editor-use-instances.md)」を参照してください。

1. Code Editor アプリケーションが稼働したら、署名付き URL を使用してアプリケーションを起動します。アプリケーションが稼働しているかどうかは、`describe-app` API を使用して確認できます。`create-presigned-domain-url` API を使用して署名付き URL を作成します。

   ```
   aws sagemaker create-presigned-domain-url \
   --domain-id domain-id \
   --space-name space-name \
   --user-profile-name user-profile-name \
   --session-expiration-duration-in-seconds 43200 \
   --landing-uri app:CodeEditor:
   ```

1. 生成された URL を開いて、Code Editor アプリケーションで作業を開始します。

# Code Editor でリポジトリのクローンを作成する
<a name="code-editor-use-clone-a-repository"></a>

Code Editor アプリケーション UI の **[エクスプローラー]** ウィンドウで、フォルダ間を移動したり、リポジトリのクローンを作成したりできます。

リポジトリのクローンを作成するには、次の手順を実行します。

**リポジトリのクローンを作成するには**

1. ブラウザで Code Editor アプリケーションを開き、左側のナビゲーションペインで**探索**ボタン (![\[Icon representing multiple documents or pages stacked on top of each other.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-exploration-icon.png)) を選択します。

1. **[エクスプローラー]** ウィンドウで **[リポジトリのクローンを作成]** を選択します。次に、リポジトリ URL を指定するか、プロンプトでリポジトリソースを選択します。

1. リポジトリのクローンを作成するフォルダを選択します。デフォルトの Code Editor フォルダは `/home/sagemaker-user/` です。リポジトリのクローン作成には時間がかかる場合があります。

1. クローンとして作成されたリポジトリを開くには、**[新しいウィンドウで開く]** または **[開く]** を選択します。

1.  Code Editor アプリケーション UI ホームページに戻るには、**[キャンセル]** を選択します。

1. 新しいリポジトリ内のファイルの作成者を信頼するかどうかをたずねるプロンプトがリポジトリで表示されます。次の 2 つの選択肢があります。

   1. フォルダを信頼してすべての機能を有効にするには、**[はい、作成者を信頼します]** を選択します。

   1. *制限付きモード*でリポジトリコンテンツを参照するには、**[いいえ作成者を信頼しません]** を選択します。

      制限付きモードでは、タスクの実行が許可されず、デバッグが無効になります。さらに、ワークスペース設定は適用されず、拡張機能も制限されます。

      制限付きモードを終了して、現在のフォルダまたはその親フォルダ内のすべてのファイルの作成者を信頼し、すべての機能を有効にするには、**制限付きモード**のバナーで **[管理]** を選択します。

# Code Editor の接続と拡張機能
<a name="code-editor-use-connections-and-extensions"></a>

Code Editor は、 への IDE 接続 AWS のサービス と [Open VSX Registry ](https://open-vsx.org/)で使用できる拡張機能をサポートしています。

## への接続 AWS
<a name="code-editor-use-connections"></a>

Code Editor 環境は [AWS Toolkit for VS Code](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/welcome.html) と統合されており、 AWS のサービスへの接続が可能になっています。への接続を開始するには AWS のサービス、有効な AWS Identity and Access Management (IAM) 認証情報が必要です。詳細については、[AWS 「 Toolkit for Visual Studio Code の認証とアクセス](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/establish-credentials.html)」を参照してください。

Code Editor 環境内で、以下のサービスへの接続を追加できます。
+  [AWS Explorer ](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/aws-explorer.html) – Amazon S3、CloudWatch などの AWS リソースを表示、変更、デプロイします。

   AWS Explorer 内の特定の機能にアクセスするには、特定の AWS アクセス許可が必要です。詳細については、[AWS 「 Toolkit for Visual Studio Code の認証とアクセス](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/establish-credentials.html)」を参照してください。
+ [Amazon CodeWhisperer](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/codewhisperer.html) – AI を活用したコード提案により、アプリケーションを迅速に構築できます。

  Code Editor Amazon CodeWhisperer で を使用するには、SageMaker AI 実行ロールに次のアクセス許可を追加する必要があります。

------
#### [ JSON ]

****  

  ```
  {
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Sid": "CodeWhispererPermissions",
        "Effect": "Allow",
        "Action": ["codewhisperer:GenerateRecommendations"],
        "Resource": "*"
      }
    ]
  }
  ```

------

  詳細については、「*IAM ユーザーガイド*」の「[IAM ポリシーを作成する](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html)」と「[IAM ID のアクセス許可の追加および削除](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html)」を参照してください。

## 拡張子
<a name="code-editor-use-extensions"></a>

Code Editor は、[Open VSX Registry](https://open-vsx.org/) で利用可能な IDE 拡張機能をサポートしています。

Code Editor 環境で拡張機能を使用するには、左側のナビゲーションペインで**拡張機能**アイコン (![\[Icon showing two overlapping squares representing multiple windows or instances.\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-extensions-icon.png)) を選択します。ここで AWS Toolkitをインストールすることで、 AWS への接続を設定できます。詳細については、「[AWS Toolkit for Visual Studio Codeのインストール](https://docs.aws.amazon.com/toolkit-for-vscode/latest/userguide/setup-toolkit.html)」を参照してください。

検索バーでは、 AWS Toolkit、Jupyter、Python など、[Open VSX Registry](https://open-vsx.org/) による追加の拡張機能を直接検索できます。

# Code Editor リソースをシャットダウンする
<a name="code-editor-use-log-out"></a>

Code Editor スペースの使用が終了したら、Studio を使用してスペースを停止できます。こうすることで、スペースのコストの発生を停止できます。

または、 AWS CLIを使用して未使用の Code Editor リソースを削除することもできます。

## Studio を使用して Code Editor スペースを停止する
<a name="code-editor-use-log-out-stop-space"></a>

Studio で Code Editor スペースを停止するには、次の手順を実行します。

**Studio で Code Editor スペースを停止するには**

1. 次のいずれかを実行して、Code Editor のランディングページに戻ります。

   1. 左上隅のナビゲーションバーで、**[Code Editor]** を選択します。

   1. または、左側のナビゲーションペインで、**[アプリケーション]** メニューの **[Code Editor]** を選択します。

1. 作成した Code Editor スペースの名前を見つけます。スペースのステータスが **[実行中]** の場合は、**[アクション]** 列で **[停止]** を選択します。スペースの詳細ページで **[スペースを停止]** を選択して、スペースを直接停止することもできます。スペースが停止するまでに時間がかかる場合があります。

![\[Code Editor アプリケーション UI のスペースの詳細ページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-stop-space.png)


Studio から作成された SageMaker AI エンドポイント、Amazon EMR (Amazon EMR) クラスター、Amazon Simple Storage Service (Amazon S3) バケットなどの追加のリソースは、スペースインスタンスがシャットダウンしても自動的に削除されません。リソースによる料金の発生を停止するには、追加のリソースを削除します。リソースの削除については、「[Delete unused resources](https://docs.aws.amazon.com/sagemaker/latest/dg/studio-updated-jl-admin-guide-clean-up.html)」を参照してください。

## を使用して Code Editor リソースを削除する AWS CLI
<a name="code-editor-use-log-out-shut-down-resources"></a>

Code Editor アプリケーションとスペースは、 AWS Command Line Interface () を使用して削除できますAWS CLI。
+ [DeleteApp](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteApp.html)
+ [DeleteSpace](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteSpace.html)

# Code Editor 管理者ガイド
<a name="code-editor-admin"></a>

オンデマンドインスタンスで Code Editor を使用し、起動時間を短縮したり、ストレージを構成したりできます。Code Editor アプリケーションは、Amazon SageMaker Studio または AWS CLIから起動できます。ドメインコンソール内で Code Editor のデフォルト設定を編集することもできます。詳細については、「[ドメイン設定を編集する](domain-edit.md)」を参照してください。以下のトピックでは、管理者がストレージオプションの変更、環境のカスタマイズ、ユーザーアクセスの管理を行ったり、Code Editor の使用に必要な前提条件に関する情報を指定したりして、Code-OSS (Visual Studio Code - Open Source) に基づく Code Editor を設定する方法を概明しています。

**Topics**
+ [前提条件を満たす](code-editor-admin-prerequisites.md)
+ [ユーザーにプライベートスペースへのアクセスを許可する](code-editor-admin-user-access.md)
+ [デフォルトのストレージサイズを変更する](code-editor-admin-storage-size.md)
+ [Code Editor のライフサイクル設定](code-editor-use-lifecycle-configurations.md)
+ [カスタムイメージ](code-editor-custom-images.md)

# 前提条件を満たす
<a name="code-editor-admin-prerequisites"></a>

Code-OSS (Visual Studio Code - Open Source) に基づく Code Editor を使用するには、次の前提条件を満たす必要があります。

1. まず Amazon SageMaker AI ドメインにオンボードし、ユーザープロファイルを作成する必要があります。詳細については、「[Amazon SageMaker AI ドメインの概要](gs-studio-onboard.md)」を参照してください。

1. を使用して Code Editor アプリケーションを操作する場合は AWS CLI、次の前提条件も満たす必要があります。

   1.  [現在の AWS CLI バージョンのインストール](https://docs.aws.amazon.com/cli/latest/userguide/install-cliv1.html#install-tool-bundled)の AWS CLI 手順に従って、 を更新します。

   1.  ローカルマシンで `aws configure` を実行し、 AWS 認証情報を入力します。 AWS 認証情報の詳細については、[AWS 「認証情報の理解と取得](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html)」を参照してください。

1. (オプション) アプリケーションのストレージとコンピューティングを増やすには、 AWS クォータの引き上げをリクエストできます。クォータの引き上げリクエストの詳細については、「[Amazon SageMaker エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/sagemaker.html)」を参照してください。

# ユーザーにプライベートスペースへのアクセスを許可する
<a name="code-editor-admin-user-access"></a>

**重要**  
Amazon SageMaker Studio または Amazon SageMaker Studio Classic に Amazon SageMaker リソースの作成を許可するカスタム IAM ポリシーでは、これらのリソースにタグを追加するアクセス許可も付与する必要があります。Studio と Studio Classic は、作成したリソースに自動的にタグ付けするため、リソースにタグを追加するアクセス許可が必要になります。IAM ポリシーで Studio と Studio Classic によるリソースの作成が許可されていても、タグ付けが許可されていない場合は、リソースを作成しようとしたときに「AccessDenied」エラーが発生する可能性があります。詳細については、「[SageMaker AI リソースにタグ付けのアクセス許可を付与する](security_iam_id-based-policy-examples.md#grant-tagging-permissions)」を参照してください。  
SageMaker リソースを作成するためのアクセス許可を付与する [AWS Amazon SageMaker AI の マネージドポリシー](security-iam-awsmanpol.md) には、それらのリソースの作成中にタグを追加するためのアクセス許可もあらかじめ含まれています。

このセクションでは、ユーザーにプライベートスペースへのアクセスを許可するためのポリシーを紹介します。またこのポリシーを使用して、プライベートスペースとそれらに関連付けられているアプリケーションを、ユーザープロファイルに関連付けられている所有者にアクセスを制限することもできます。

次へのアクセス許可をユーザーに付与する必要があります。
+ プライベートスペース
+ プライベートスペースへのアクセスに必要なユーザープロファイル

アクセス許可を付与するには、以下のポリシーをユーザーの IAM ロールにアタッチします。

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {

      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioCreatePresignedDomainUrlForUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreatePresignedDomainUrl"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
    },
    {
      "Sid": "SMStudioAppPermissionsListAndDescribe",
      "Effect": "Allow",
      "Action": [
        "sagemaker:ListApps",
        "sagemaker:ListDomains",
        "sagemaker:ListUserProfiles",
        "sagemaker:ListSpaces",
        "sagemaker:DescribeApp",
        "sagemaker:DescribeDomain",
        "sagemaker:DescribeUserProfile",
        "sagemaker:DescribeSpace"
      ],
      "Resource": "*"
    },
    {
      "Sid": "SMStudioAppPermissionsTagOnCreate",
      "Effect": "Allow",
      "Action": [
        "sagemaker:AddTags"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:*/*",
      "Condition": {
        "Null": {
          "sagemaker:TaggingAction": "false"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSharedSpacesWithoutOwners",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*",
      "Condition": {
        "Null": {
          "sagemaker:OwnerUserProfileArn": "true"
        }
      }
    },
    {
      "Sid": "SMStudioRestrictSpacesToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateSpace",
        "sagemaker:UpdateSpace",
        "sagemaker:DeleteSpace"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:space/domain-id/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private",
            "Shared"
          ]
        }
      }
    },
    {
      "Sid": "SMStudioRestrictCreatePrivateSpaceAppsToOwnerUserProfile",
      "Effect": "Allow",
      "Action": [
        "sagemaker:CreateApp",
        "sagemaker:DeleteApp"
      ],
      "Resource": "arn:aws:sagemaker:us-east-1:111122223333:app/domain-id/*",
      "Condition": {
        "ArnLike": {
        "sagemaker:OwnerUserProfileArn": "arn:aws:sagemaker:us-east-1:111122223333:user-profile/domain-id/user-profile-name"
        },
        "StringEquals": {
          "sagemaker:SpaceSharingType": [
            "Private"
          ]
        }
      }
    }
  ]
}
```

------

# デフォルトのストレージサイズを変更する
<a name="code-editor-admin-storage-size"></a>

ユーザーのデフォルトのストレージ設定は変更できます。また、組織の要件やユーザーのニーズに基づいて、デフォルトのストレージ設定を変更することもできます。

ユーザーのストレージサイズを変更するには、次の手順を実行します。

1. ドメインの Amazon EBS ストレージ設定を更新します。

1. ユーザープロファイルを作成し、その中でストレージ設定を指定します。

ドメインを更新するには、次の AWS Command Line Interface (AWS CLI) コマンドを使用します。

```
aws --region $REGION sagemaker update-domain \
--domain-id $DOMAIN_ID \
--default-user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

次の AWS CLI コマンドを使用してユーザープロファイルを作成し、デフォルトのストレージ設定を指定します。

```
aws --region $REGION sagemaker create-user-profile \
--domain-id $DOMAIN_ID \
--user-profile-name $USER_PROFILE_NAME \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":5,
            "MaximumEbsVolumeSizeInGb":100
        }
    }
}'
```

次の AWS CLI コマンドを使用して、ユーザープロファイルのデフォルトのストレージ設定を更新します。

```
aws --region $REGION sagemaker update-user-profile \
--domain-id $DOMAIN_ID \
--user-profile-name $USER_PROFILE_NAME \
--user-settings '{
    "SpaceStorageSettings": {
        "DefaultEbsStorageSettings":{
            "DefaultEbsVolumeSizeInGb":25,
            "MaximumEbsVolumeSizeInGb":200
        }
    }
}'
```

# Code Editor のライフサイクル設定
<a name="code-editor-use-lifecycle-configurations"></a>

Code Editor ライフサイクル設定を使用して、Studio 環境のカスタマイズを自動化できます。このカスタマイズには、カスタムパッケージのインストール、拡張機能の設定、データセットの事前ロード、ソースコードリポジトリの設定が含まれます。

次の手順では、 AWS Command Line Interface (AWS CLI) を使用して、`CodeEditor`アプリケーションタイプのライフサイクル設定を作成、アタッチ、デバッグ、およびデタッチします。
+ [Studio でライフサイクル設定を作成してアタッチする](code-editor-use-lifecycle-configurations-studio-create.md)
+ [Studio でライフサイクル設定をデバッグする](code-editor-use-lifecycle-configurations-studio-debug.md)
+ [Studio でライフサイクル設定をデタッチする](code-editor-use-lifecycle-configurations-studio-detach.md)

# Studio でライフサイクル設定を作成してアタッチする
<a name="code-editor-use-lifecycle-configurations-studio-create"></a>

次のセクションでは、ライフサイクル設定を作成し、新しいユーザープロファイルを作成するときにライフサイクル設定をアタッチし、ユーザープロファイルを更新するときにライフサイクル設定をアタッチする AWS CLI コマンドについて説明します。Studio でライフサイクル設定を作成してアタッチする場合の前提条件と一般的な手順については、「[ライフサイクル設定の作成](jl-lcc-create.md)」を参照してください。

`create-studio-lifecycle-config` コマンドを使用して Studio ライフサイクル設定を作成するときは、`studio-lifecycle-config-app-type` が `CodeEditor` であることを確認してください。次の例は、Code Editor アプリケーションの新しい Studio ライフサイクル設定を作成する方法を示しています。

```
aws sagemaker create-studio-lifecycle-config \
--studio-lifecycle-config-name my-code-editor-lcc \
--studio-lifecycle-config-content $LCC_CONTENT \
--studio-lifecycle-config-app-type CodeEditor
```

レスポンスに記載された、新しく作成されたライフサイクル設定の ARN を書き留めておきます。ライフサイクル設定をアタッチするときには、`CodeEditorAppSettings` の `LifecycleConfigArns` リストでこの ARN を指定します。

ライフサイクル設定はユーザープロファイルまたはドメインの作成時にアタッチできます。次の例は、ライフサイクル設定をアタッチして新しいユーザープロファイルを作成する方法を示しています。[create-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/opensearch/create-domain.html) コマンドを使用して、ライフサイクル設定をアタッチした新しいドメインまたはスペースを作成することもできます。

```
# Create a new UserProfile
aws sagemaker create-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

また、ユーザープロファイルやドメインを更新するときに、ライフサイクル設定をアタッチすることもできます。次の例は、ライフサイクル設定をアタッチしてユーザープロファイルを更新する方法を示しています。[update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html) コマンドを使用して、ライフサイクル設定をアタッチして新しいドメインを更新することもできます。

```
# Update a UserProfile
aws sagemaker update-user-profile \
--domain-id domain-id \
--user-profile-name user-profile-name \
--user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    [lifecycle-configuration-arn-list]
  }
}'
```

# Studio でライフサイクル設定をデバッグする
<a name="code-editor-use-lifecycle-configurations-studio-debug"></a>

Code Editor のライフサイクル設定スクリプトをデバッグするには、Studio を使用する必要があります。Studio でライフサイクル設定をデバッグする手順については、「[ライフサイクル設定をデバッグする](jl-lcc-debug.md)」を参照してください。特定のアプリケーションのログを検索するには、次の形式を使用してログストリームを検索します。

```
domain-id/space-name/CodeEditor/default/LifecycleConfigOnStart
```

# Studio でライフサイクル設定をデタッチする
<a name="code-editor-use-lifecycle-configurations-studio-detach"></a>

Code Editor のライフサイクル設定をデタッチするには、コンソールまたは AWS CLIを使用します。Studio コンソールからライフサイクル設定をデタッチする手順については、「[ライフサイクル設定のデタッチ](jl-lcc-delete.md)」を参照してください。

を使用してライフサイクル設定をデタッチするには AWS CLI、リソースにアタッチされているライフサイクル設定のリストから目的のライフサイクル設定を削除します。そのリストを対応するコマンドの一部として渡します。
+ [update-user-profile](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-user-profile.html)
+ [update-domain](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/sagemaker/update-domain.html)

例えば、次のコマンドは、ドメインにアタッチされている Code Editor アプリケーションのすべてのライフサイクル設定を削除します。

```
aws sagemaker update-domain --domain-id domain-id \
--default-user-settings '{
"CodeEditorAppSettings": {
  "LifecycleConfigArns":
    []
  }
}'
```

# ライフサイクル設定を作成して Code Editor アプリケーションにリポジトリのクローンを作成する
<a name="code-editor-use-lifecycle-configurations-repositories"></a>

このセクションでは、リポジトリのクローンを作成し、ライフサイクル設定をアタッチして Code Editor アプリケーションを作成する方法について説明します。

1. ローカルマシンで、次の内容の `my-script.sh` というファイルを作成します。

   ```
   #!/bin/bash
   set -eux
   ```

1. ライフサイクル設定スクリプトで、任意のリポジトリのクローンを作成します。

   ```
   export REPOSITORY_URL="https://github.com/aws-samples/sagemaker-studio-lifecycle-config-examples.git"
   git -C /home/sagemaker-user clone $REPOSITORY_URL
   ```

1. スクリプトを仕上げたら、ライフサイクル設定を作成してアタッチします。詳細については、「[Studio でライフサイクル設定を作成してアタッチする](code-editor-use-lifecycle-configurations-studio-create.md)」を参照してください。

1. ライフサイクル設定をアタッチして Code Editor アプリケーションを作成します。

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   使用可能な Code Editor のイメージ ARN については、「[Code Editor アプリケーションインスタンスとイメージ](code-editor-use-instances.md)」を参照してください。

# ライフサイクル設定を作成して Code Editor 拡張機能をインストールする
<a name="code-editor-use-lifecycle-configurations-extensions"></a>

このセクションでは、Code Editor 環境でライフサイクル設定を作成して [Open VSX Registry](https://open-vsx.org/) から拡張機能をインストールする方法を示します。

1. ローカルマシンで、次の内容の `my-script.sh` というファイルを作成します。

   ```
   #!/bin/bash
   set -eux
   ```

1. スクリプト内で、任意の [Open VSX Registry](https://open-vsx.org/) 拡張機能をインストールします。

   ```
   sagemaker-code-editor --install-extension AmazonEMR.emr-tools --extensions-dir /opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions
   ```

   [Open VSX Registry](https://open-vsx.org/) の拡張機能の URL から拡張機能名を取得できます。`sagemaker-code-editor` コマンドで使用する拡張機能名には、URL の `https://open-vsx.org/extension/` に続くテキストがすべて含まれている必要があります。スラッシュ (`/`) のインスタンスはすべてピリオド (`.`) に置き換えます。例えば、`AmazonEMR/emr-tools` は `AmazonEMR.emr-tools` になります。  
![\[Open VSX Registry の Amazon EMR 拡張機能ページ。\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/code-editor/code-editor-emr-extension.png)

1. スクリプトを仕上げたら、ライフサイクル設定を作成してアタッチします。詳細については、「[Studio でライフサイクル設定を作成してアタッチする](code-editor-use-lifecycle-configurations-studio-create.md)」を参照してください。

1. ライフサイクル設定をアタッチして Code Editor アプリケーションを作成します。

   ```
   aws sagemaker create-app \
   --domain-id domain-id \
   --space-name space-name \
   --app-type CodeEditor \
   --app-name default \
   --resource-spec "SageMakerImageArn=arn:aws:sagemaker:region:image-account-id:image/sagemaker-distribution-cpu,LifecycleConfigArn=arn:aws:sagemaker:region:user-account-id:studio-lifecycle-config/my-code-editor-lcc,InstanceType=ml.t3.large"
   ```

   使用可能な Code Editor のイメージ ARN については、「[Code Editor アプリケーションインスタンスとイメージ](code-editor-use-instances.md)」を参照してください。接続と拡張機能については、「[Code Editor の接続と拡張機能](code-editor-use-connections-and-extensions.md)」を参照してください。

# カスタムイメージ
<a name="code-editor-custom-images"></a>

SageMaker Distribution が提供する機能とは異なる機能が必要な場合は、カスタムの拡張機能とパッケージを使用した独自のイメージを持ち込むことができます。これを使用して、独自のブランドやコンプライアンスのニーズに合わせて Code Editor UI をパーソナライズすることもできます。

次のページでは、独自のカスタム SageMaker AI イメージを作成するための Code Editor-固有の情報とテンプレートについて説明します。これは、独自の Amazon SageMaker Studio の情報と、独自の SageMaker AI イメージを作成して Studio に取り込む (BYOI) 手順を補足することを目的としています。カスタム Amazon SageMaker AI イメージと Studio に独自のイメージを取り込む (BYOI) 方法については、「[Bring your own image (BYOI)](studio-updated-byoi.md)」を参照してください。

**Topics**
+ [アプリケーションのヘルスチェックと URL](#code-editor-custom-images-app-healthcheck)
+ [Dockerfile サンプル](#code-editor-custom-images-dockerfile-templates)

## アプリケーションのヘルスチェックと URL
<a name="code-editor-custom-images-app-healthcheck"></a>
+ `Base URL` – BYOI アプリケーションのベース URL は `CodeEditor/default` である必要があります。保持できるアプリケーションは 1 つのみで、必ず `default` という名前にする必要があります。
+ ヘルスチェックエンドポイント – SageMaker AI で検出するには、Code Editor サーバーを 0.0.0.0 ポート 8888 でホストする必要があります。
+  認証 - SageMaker AI がユーザーを認証できるようにするには、`sagemaker-code-editor` を開く際に `--without-connection-token` を渡す必要があります。

**注記**  
Amazon SageMaker Distribution をベースイメージとして使用している場合、これらの要件は、含まれている `entrypoint-code-editor` スクリプトの一部として既に処理されています。

## Dockerfile サンプル
<a name="code-editor-custom-images-dockerfile-templates"></a>

以下の例は、上記の情報と[カスタムイメージの仕様](studio-updated-byoi-specs.md)を満たす `Dockerfile` です。

**注記**  
独自のイメージを SageMaker Unified Studio に取り込む (BYOI) 場合は、「*Amazon SageMaker Unified Studio ユーザーガイド*」の「[Dockerfile 仕様](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html)」に従う必要があります。  
SageMaker Unified Studio の `Dockerfile` の例については、「*Amazon SageMaker Unified Studio ユーザーガイド*」の「[Dockerfile の例](https://docs.aws.amazon.com/sagemaker-unified-studio/latest/userguide/byoi-specifications.html#byoi-specifications-example)」を参照してください。

------
#### [ Example micromamba Dockerfile ]

[https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html](https://mamba.readthedocs.io/en/latest/user_guide/micromamba.html) ベースの環境を使用してゼロからイメージを作成するための Dockerfile の例は、以下のとおりです。

```
FROM mambaorg/micromamba:latest
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100

USER root

RUN micromamba install -y --name base -c conda-forge sagemaker-code-editor

USER $NB_UID

CMD eval "$(micromamba shell hook --shell=bash)"; \
    micromamba activate base; \
    sagemaker-code-editor --host 0.0.0.0 --port 8888 \
        --without-connection-token \
        --base-path "/CodeEditor/default"
```

------
#### [ Example SageMaker AI Distribution Dockerfile ]

[Amazon SageMaker AI ディストリビューション](https://github.com/aws/sagemaker-distribution/tree/main)ベースの環境を使用してイメージを作成するための Dockerfile の例は、以下のとおりです。

```
FROM public.ecr.aws/sagemaker/sagemaker-distribution:latest-cpu
ARG NB_USER="sagemaker-user"
ARG NB_UID=1000
ARG NB_GID=100
ENV MAMBA_USER=$NB_USER

USER root

 # install scrapy in the base environment
RUN micromamba install -y --name base -c conda-forge scrapy

 # download VSCodeVim
RUN \
  wget https://github.com/VSCodeVim/Vim/releases/download/v1.27.2/vim-1.27.2.vsix \
  -P /tmp/exts/ --no-check-certificate

 # Install the extension
RUN \
  extensionloc=/opt/amazon/sagemaker/sagemaker-code-editor-server-data/extensions \
  && sagemaker-code-editor \
    --install-extension "/tmp/exts/vim-1.27.2.vsix" \
    --extensions-dir "${extensionloc}"

USER $MAMBA_USER
ENTRYPOINT ["entrypoint-code-editor"]
```

------