Amazon S3 でノートブックの永続性を設定するには - Amazon EMR

Amazon S3 でノートブックの永続性を設定するには

Amazon EMR で JupyterHub クラスターを設定して、ユーザーが保存したノートブックが Amazon S3 (クラスター EC2 インスタンスのエフェメラルストレージの外) に残るようにします。

クラスターの作成時に、jupyter-s3-conf 設定分類を使用して Amazon S3 の永続性を指定します。詳細については、「アプリケーションの設定」を参照してください。

s3.persistence.enabled プロパティを使用して Amazon S3 の永続性を有効にすることに加えて、s3.persistence.bucket プロパティを使用してノートブックが保存される Amazon S3 でバケットを指定します。各ユーザーのノートブックは、指定したバケットの jupyter/jupyterhub-user-name フォルダに保存されます。バケットは Amazon S3 に存在している必要があります。また、クラスターの作成時に指定した EC2 インスタンスプロファイルのロールには、バケットへのアクセス権限が必要です (デフォルトでは、ロールは EMR_EC2_DefaultRole です)。詳細については、AWS サービスに Amazon EMR の許可の IAM ロールを設定を参照してください。

同じ設定分類プロパティを使用して新しいクラスターを起動するとき、ユーザーは保存した場所からの内容を含むノートブックを開くことができます。

Amazon S3 を有効にした状態でノートブックでモジュールとしてファイルをインポートすると、ファイルは Amazon S3 にアップロードされます。Amazon S3 の永続性を有効にせずにファイルをインポートすると、ファイルは JupyterHub コンテナにアップロードされます。

次の例では、Amazon S3 の永続性を有効にします。ユーザーが保存したノートブックは、各ユーザーの s3://MyJupyterBackups/jupyter/jupyterhub-user-name フォルダに保存されます。jupyterhub-user-namediego などのユーザー名です。

[ { "Classification": "jupyter-s3-conf", "Properties": { "s3.persistence.enabled": "true", "s3.persistence.bucket": "MyJupyterBackups" } } ]