

# AWS Glue ETL のユーザーバックグラウンドセッション
<a name="user-background-sessions"></a>

ユーザーのバックグラウンドセッションにより、ユーザーがノートブックのインターフェイスからログオフした後でも、長時間実行される分析と機械学習のワークロードを続行できます。この機能は、AWS Glue の信頼できる ID 伝達機能を通じて実装されます。次のページでは、ユーザーバックグラウンドセッションの設定オプションと動作を説明します。

**注記**  
ユーザーバックグラウンドセッションは、SageMaker Unified Studio などのノートブックインターフェイスを介して開始された AWS Glue インタラクティブセッションに適用されます。この機能を有効または無効にすると、新しいインタラクティブセッションにのみ影響し、既存のアクティブなセッションには影響しません。

## ユーザーバックグラウンドセッションを設定する
<a name="configure-user-background-sessions"></a>

適切に機能させるには、ユーザーバックグラウンドセッションを 2 つのレベルで有効にする必要があります。

1. IAM Identity Center インスタンスレベル (IdC 管理者が設定)

1. AWS Glue Identity Center 設定レベル (AWS Glue 管理者が設定)

### AWS Glue のユーザーバックグラウンドセッションを有効にする
<a name="enable-user-background-sessions-glue"></a>

AWS Glue のユーザーバックグラウンドセッションを有効にするには、設定を作成または更新するときに Identity Center 設定で `userBackgroundSessionsEnabled` パラメータを `true` に設定する必要があります。

前提条件
+ AWS Glue Identity Center 設定の作成/更新に使用される IAM ロールには、`sso:PutApplicationSessionConfiguration` アクセス許可が必要です。このアクセス許可により、AWS Glue は AWS Glue マネージド IdC アプリケーションレベルでユーザーバックグラウンドセッションを有効にできます。
+ AWS Glue インタラクティブセッションでは、AWS Glue バージョン 5.0 以降を使用し、信頼できる ID の伝播を有効にする必要があります。

AWS CLI を使用してユーザーバックグラウンドセッションを有効にするには:

```
aws glue create-glue-identity-center-configuration \
    --instance-arn "arn:aws:sso:::instance/ssoins-1234567890abcdef" \
    --user-background-sessions-enabled
```

既存の設定を更新するには:

```
aws glue update-glue-identity-center-configuration \
    --user-background-sessions-enabled
```

#### 設定マトリックス
<a name="configuration-matrix"></a>

有効なユーザーバックグラウンドセッションの設定は、AWS Glue 設定と IAM Identity Center インスタンスレベルの設定の両方によって異なります。


| IAM Identity Center userBackgroundSession は有効になっていますか? | AWS Glue userBackgroundSessionsEnabled | 行動 | 
| --- | --- | --- | 
| あり | 正 | ユーザーバックグラウンドセッションが有効 | 
| あり | 誤 | ユーザーログアウトでセッションの有効期限が切れる | 
| なし | 正 | セッションの作成が例外で失敗する | 
| なし | 誤 | ユーザーログアウトでセッションの有効期限が切れる | 

## デフォルトのユーザーバックグラウンドセッション期間
<a name="default-user-background-session-duration"></a>

デフォルトでは、IAM Identity Center のすべてのユーザーバックグラウンドセッションの期間制限は 7 日間です。管理者は、IAM Identity Center コンソールでこの期間を変更できます。この設定は IAM Identity Center インスタンスレベルで適用され、そのインスタンス内でサポートされているすべての IAM Identity Center アプリケーションに影響します。
+ 期間は 15 分から 90 日までの任意の値に設定できます。
+ この設定は、IAM Identity Center コンソールの設定 → 認証 → 設定 (非インタラクティブジョブセクション) で設定されます。

**注記**  
AWS Glue インタラクティブセッションには、デフォルトで 48 時間のアイドルタイムアウト制限が別途あります。セッションは、AWS Glue セッションアイドルタイムアウト、またはユーザーバックグラウンドセッション期間のいずれか早い方に達した時点で終了します。

## ユーザーのバックグラウンドセッションを無効にした場合の影響
<a name="impact-disabling-user-background-sessions"></a>

AWS Glue 設定レベルでユーザーバックグラウンドセッションが無効になっている場合:
+ **既存のインタラクティブセッション:** ユーザーバックグラウンドセッションを有効にして開始した場合、中断することなく実行を継続します。これらのセッションは、自然に終了するか明示的に停止されるまで、既存のバックグラウンドセッショントークンを使用し続けます。
+ **新しいインタラクティブセッション:** 標準の信頼できる ID 伝達フローを使用し、ユーザーがログアウトするか、インタラクティブセッションの有効期限が切れると終了します (SageMaker Unified Studio JupyterLab ノートブックを閉じる場合など）。

### ユーザーバックグラウンドセッションの期間の変更
<a name="changing-user-background-sessions-duration"></a>

IAM Identity Center でユーザーバックグラウンドセッションの期間設定が変更された場合:
+ **既存のインタラクティブセッション:** 開始したのと同じバックグラウンドセッション期間で実行を継続します
+ **新しいインタラクティブセッション:** バックグラウンドセッションに新しいセッション期間を使用します

## ランタイムの考慮事項
<a name="runtime-considerations"></a>

### セッション終了条件
<a name="session-termination-conditions"></a>

ユーザーバックグラウンドセッションを使用する場合、AWS Glue インタラクティブセッションは次のいずれかが発生するまで実行され続けます。
+ ユーザーバックグラウンドセッションの有効期限が切れる (IdC 設定に基づく、最大 90 日間)
+ ユーザーバックグラウンドセッションが管理者によって手動で取り消される
+ AWS Glue インタラクティブセッションがアイドルタイムアウトに達する (デフォルト: 最後に実行されたステートメントから 48 時間後)
+ ユーザーが、ノートブックカーネルを明示的に停止または再起動する

### データの永続性
<a name="data-persistence"></a>

ユーザーバックグラウンドセッションを使用する場合:
+ ユーザーはログアウトすると、ノートブックのインターフェースに再接続して結果を表示することはできません
+ 実行が完了する前に結果を永続ストレージ（Amazon S3 など）に書き込むように Spark ステートメントを設定します

### コストへの影響
<a name="cost-implications"></a>
+ ジョブは、ユーザーが SageMaker Unified Studio JupyterLab セッションを終了した後も完了まで実行され続け、完了した実行の全期間に対して料金が発生します
+ アクティブなバックグラウンドセッションを監視して、忘れられたセッションや放棄されたセッションによる不要なコストを回避します

### 機能を利用できるリージョン
<a name="feature-availability"></a>

AWS Glue のユーザーバックグラウンドセッションは、以下に使用できます。
+ AWS Glue インタラクティブセッションのみ (AWS Glue ジョブとストリーミングジョブはサポートされていません)
+ AWS Glue バージョン 5.0 以降
+ Trusted Identity Propagation が有効な設定のみ