

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

# Git ベースのリポジトリと EMR Notebooks の関連付け
<a name="emr-git-repo"></a>

Git ベースのリポジトリを Amazon EMR Notebooks に関連付けて、バージョン管理された環境でノートブックを保存できます。ノートブックには最大 3 つのリポジトリを関連付けることができます。以下の Git ベースのサービスがサポートされています。
+ [AWS CodeCommit](https://aws.amazon.com/codecommit)
+ [GitHub](https://www.github.com)
+ [Bitbucket](https://bitbucket.org/)
+ [GitLab](https://about.gitlab.com/)

**注記**  
EMR Notebooks は、コンソールで EMR Studio Workspace として使用できます。コンソールの **[ワークスペースの作成]** ボタンを使用すると、新しいノートブックを作成できます。EMR Notebooks ユーザーが Workspace にアクセスしたり作成したりするには、追加の IAM ロール権限が必要です。詳細については、「[Amazon EMR Notebooks are Amazon EMR Studio Workspaces in the console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)」および「[Amazon EMR console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)」を参照してください。

Git ベースのリポジトリをノートブックに関連付けることには、以下のような利点があります。
+ **バージョン管理** - コードの変更をバージョン管理システムに記録できるため、変更の履歴を確認し、変更を選択して元に戻すことができます。
+ **コラボレーション** - 異なるノートブックで作業を行う同僚がリモートの Git ベースのリポジトリを使用してコードを共有できます。ノートブックは、リモートリポジトリからコードを複製またはマージし、それらのリモートリポジトリに変更を返すことができます。
+ **コードの再利用** - データ分析や機械学習の手法を示す多くの Jupyter Notebook は、GitHub などのパブリックにホストされるリポジトリで利用できます。ノートブックをリポジトリに関連付けて、リポジトリに含まれる Jupyter Notebook を再利用できます。

EMR Notebooks で Git ベースのリポジトリを使用するには、Amazon EMR コンソールでリポジトリをリソースとして追加し、認証が必要なリポジトリに認証情報を関連付けて、リポジトリをノートブックにリンクします。アカウントに保存されているリポジトリのリストと各リポジトリの詳細は、Amazon EMR コンソールで表示できます。ノートブックを作成するとき、既存の Git ベースのリポジトリを関連付けることができます。

**Topics**
+ [EMR ノートブックをリポジトリと統合する際の前提条件と考慮事項](emr-managed-notebooks-git-considerations.md)
+ [Git ベースのリポジトリを Amazon EMR に追加する](emr-git-repo-add.md)
+ [EMR Studio Workspace から Git ベースのリポジトリを更新または削除する](emr-git-repo-delete.md)
+ [EMR Studio で Git ベースのリポジトリをリンクまたはリンク解除する](emr-git-repo-link.md)
+ [EMR Studio で Git リポジトリが関連付けられた新しいノートブックを作成する](emr-git-repo-create-notebook.md)
+ [EMR Studio Notebook で Git リポジトリを使用する](emr-git-repo-open.md)

# EMR ノートブックをリポジトリと統合する際の前提条件と考慮事項
<a name="emr-managed-notebooks-git-considerations"></a>

Git ベースのリポジトリを EMR Notebooks と統合することを計画している場合は、コミット、権限、ホスティングに関する以下のベストプラクティスを考慮してください。

**注記**  
EMR Notebooks は、コンソールで EMR Studio Workspace として使用できます。コンソールの **[ワークスペースの作成]** ボタンを使用すると、新しいノートブックを作成できます。EMR Notebooks ユーザーが Workspace にアクセスしたり作成したりするには、追加の IAM ロール権限が必要です。詳細については、「[Amazon EMR Notebooks are Amazon EMR Studio Workspaces in the console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)」および「[Amazon EMR console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)」を参照してください。

## AWS CodeCommit
<a name="code-commit-considerations"></a>

CodeCommit リポジトリを使用する場合は、CodeCommit で Git 認証情報と HTTPS を使用する必要があります。SSH キー、および AWS CLI 認証情報ヘルパーを含む HTTPS はサポートされていません。CodeCommit は、個人用アクセストークン (PAT) をサポートしていません。詳細については、[「IAM ユーザーガイド」の「Using IAM with CodeCommit: Git credentials, SSH keys, and AWS access keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_ssh-keys.html)」および「 ユーザーガイド」の[「Setup for HTTPS users using Git credentials](https://docs.aws.amazon.com/codecommit/latest/userguide/setting-up-gc.html)」を参照してください*AWS CodeCommit *。 **

## アクセスとアクセス許可に関する考慮事項
<a name="access-considerations"></a>

リポジトリをノートブックに関連付ける前に、クラスター、EMR Notebooks の IAM ロール、およびセキュリティグループの設定とアクセス許可が正しいことを確認してください。「[EMR Notebooks 用にプライベートにホストされた Git リポジトリを設定する](#emr-managed-notebooks-private-git-repo)」の手順に従って、プライベートネットワークでホストしている Git ベースのリポジトリを設定することもできます。
+ **クラスターのインターネットアクセス** - 起動されるネットワークインターフェイスにはプライベート IP アドレスしかありません。つまり、ノートブックが接続するクラスターは、ネットワークアドレス変換 (NAT) ゲートウェイに接続されたプライベートサブネット内にあるか、仮想プライベートゲートウェイを介してインターネットにアクセスできる必要があります。詳細については、「[Amazon VPC のオプション](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-clusters-in-a-vpc.html)」を参照してください。

  ノートブックのセキュリティグループには、クラスターからインターネットにトラフィックをルーティングすることをノートブックに許可するアウトバウンドルールが含まれている必要があります。独自のセキュリティグループを作成することをお勧めします。詳細については、「[EMR Notebooks の EC2 セキュリティグループの指定](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html)」を参照してください。
**重要**  
ネットワークインターフェイスがパブリックサブネットに起動された場合、インターネットゲートウェイ (IGW) を介してインターネットと通信できなくなります。
+ アクセス**許可 AWS Secrets Manager** – Secrets Manager を使用してリポジトリへのアクセスに使用するシークレットを保存する場合、 には `secretsmanager:GetSecretValue`アクションを許可するアクセス許可ポリシーがアタッチされている[EMR Notebooks のサービスロール](emr-managed-notebooks-service-role.md)必要があります。

## EMR Notebooks 用にプライベートにホストされた Git リポジトリを設定する
<a name="emr-managed-notebooks-private-git-repo"></a>

次の手順を使用して、EMR Notebooks 用にプライベートにホストされたリポジトリを設定します。DNS サーバーおよび Git サーバーに関する情報が含まれた設定ファイルを用意する必要があります。Amazon EMR は、この情報を使用して、プライベートにホストされたリポジトリにトラフィックをルーティングできる EMR notebooks を設定します。

**前提条件**

EMR Notebooks 用にプライベートにホストされた Git リポジトリを設定する前に、次のものが必要です。
+ EMR ノートブックのファイルが保存される Amazon S3 Control 場所。

**EMR Notebooks 用にプライベートにホストされた 1 つ以上の Git リポジトリを設定するには**

1. 提供されたテンプレートを使用して、設定ファイルを作成します。設定で指定する Git サーバーごとに次の値を含めます。
   + **`DnsServerIpV4`** - DNS サーバーの IPv4 アドレス。`DnsServerIpV4` と `GitServerIpV4List` の両方に値を指定した場合、`DnsServerIpV4` の値が優先され、`GitServerDnsName` を解決するために使用されます。
**注記**  
プライベートにホストされた Git リポジトリを使用するには、DNS サーバーで EMR Notebooks からのインバウンドアクセスを許可する必要があります。DNS サーバーを他の不正アクセスから保護することを強くお勧めします。
   + **`GitServerDnsName`** - Git サーバーの DNS 名。例: `"git.example.com"`。
   + **`GitServerIpV4List`** - Git サーバーに属する IPv4 アドレスのリスト。

   ```
   [
       {
           "Type": "PrivatelyHostedGitConfig",
           "Value": [
               {
                   "DnsServerIpV4": "<10.24.34.xxx>",
                   "GitServerDnsName": "<enterprise.git.com>",
                   "GitServerIpV4List": [
                       "<xxx.xxx.xxx.xxx>",
                       "<xxx.xxx.xxx.xxx>"
                   ]
               },
               {
                   "DnsServerIpV4": "<10.24.34.xxx>",
                   "GitServerDnsName": "<git.example.com>",
                   "GitServerIpV4List": [
                       "<xxx.xxx.xxx.xxx>",
                       "<xxx.xxx.xxx.xxx>"
                   ]
               }
           ]
       }
   ]
   ```

1. `configuration.json` という名前で設定ファイルを保存します。

1. 設定ファイルを指定された Amazon S3 ストレージの場所にある `life-cycle-configuration` というフォルダーにアップロードします。例えば、デフォルトの S3 の場所が `s3://amzn-s3-demo-bucket/notebooks` の場合、設定ファイルは `s3://amzn-s3-demo-bucket/notebooks/life-cycle-configuration/configuration.json` に配置する必要があります。
**重要**  
`life-cycle-configuration` フォルダへのアクセスを EMR Notebooks 管理者および EMR Notebooks のサービスロールのみに制限することを強くお勧めします。また、`configuration.json` を不正アクセスから保護する必要があります。手順については、「[ユーザーポリシーを使用したバケットへのアクセスの制御](https://docs.aws.amazon.com/AmazonS3/latest/userguide/walkthrough1.html)」または「[Amazon S3 のセキュリティベストプラクティス](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)」を参照してください。

   アップロードの手順については、「*Amazon Simple Storage Service ユーザーガイド*」の「[フォルダの作成](https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-folders.html#create-folder)」と「[オブジェクトのアップロード](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html)」を参照してください。

# Git ベースのリポジトリを Amazon EMR に追加する
<a name="emr-git-repo-add"></a>

Git ベースのリポジトリを古いコンソールの EMR Notebooks、またはコンソールの EMR Studio Workspace に追加する方法については、以下のセクションを参照してください。

**注記**  
EMR Notebooks は、コンソールで EMR Studio Workspace として使用できます。コンソールの **[ワークスペースの作成]** ボタンを使用すると、新しいノートブックを作成できます。EMR Notebooks ユーザーが Workspace にアクセスしたり作成したりするには、追加の IAM ロール権限が必要です。詳細については、「[Amazon EMR Notebooks are Amazon EMR Studio Workspaces in the console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)」および「[Amazon EMR console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)」を参照してください。

------
#### [ Console ]

EMR Notebooks は新しいコンソールの EMR Studio Workspace なので、「[GIT ベースのリポジトリを EMR Studio Workspace にリンクする](emr-studio-git-repo.md)」の手順に従って最大 3 つの Git リポジトリを Workspace に関連付けることができます。

JupyterLab Git 拡張機能を使用することもできます。Jupyterlab ノートブックの左側のサイドバーから **[Git]** アイコンを選択し、拡張機能にアクセスします。拡張機能についての情報は、「[jupyterlab-git](https://github.com/jupyterlab/jupyterlab-git) GitHub repo」を参照してください。

Git リポジトリを Workspace に関連付けるには、Studio 管理者が Git リポジトリのリンクを許可するように Studio を設定する手順を実行する必要があります。詳細については、「[Git ベースのリポジトリのアクセス権とアクセス許可を設定する](emr-studio-enable-git.md)」を参照してください。

------

# EMR Studio Workspace から Git ベースのリポジトリを更新または削除する
<a name="emr-git-repo-delete"></a>

Git ベースのリポジトリを古いコンソールの EMR Notebooks、またはコンソールの EMR Studio Workspace から削除する方法については、以下のセクションを参照してください。

**注記**  
EMR Notebooks は、コンソールで EMR Studio Workspace として使用できます。コンソールの **[ワークスペースの作成]** ボタンを使用すると、新しいノートブックを作成できます。EMR Notebooks ユーザーが Workspace にアクセスしたり作成したりするには、追加の IAM ロール権限が必要です。詳細については、「[Amazon EMR Notebooks are Amazon EMR Studio Workspaces in the console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)」および「[Amazon EMR console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)」を参照してください。

------
#### [ Console ]

EMR Notebooks は新しいコンソールの EMR Studio Workspace なので、Workspace 内の Git リポジトリの操作について詳しくは、「[GIT ベースのリポジトリを EMR Studio Workspace にリンクする](emr-studio-git-repo.md)」を参照してください。ただし、現時点では、Git リポジトリを Workspace から削除することはできません。

------

# EMR Studio で Git ベースのリポジトリをリンクまたはリンク解除する
<a name="emr-git-repo-link"></a>

以下の手順を使用して、Git ベースのリポジトリを古いコンソールの EMR Notebooks、またはコンソールの EMR Studio Workspace にリンクまたはリンク解除します。

**注記**  
EMR Notebooks は、コンソールで EMR Studio Workspace として使用できます。コンソールの **[ワークスペースの作成]** ボタンを使用すると、新しいノートブックを作成できます。EMR Notebooks ユーザーが Workspace にアクセスしたり作成したりするには、追加の IAM ロール権限が必要です。詳細については、「[Amazon EMR Notebooks are Amazon EMR Studio Workspaces in the console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)」および「[Amazon EMR console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)」を参照してください。

------
#### [ Console ]

EMR Notebooks は新しいコンソールの EMR Studio Workspace なので、Workspace 内の Git リポジトリの操作について詳しくは、「[GIT ベースのリポジトリを EMR Studio Workspace にリンクする](emr-studio-git-repo.md)」を参照してください。ただし、現時点では、Git リポジトリを Workspace から削除することはできません。

------

## リポジトリのステータスについて
<a name="emr-managed-notebooks-repository-status"></a>

Git リポジトリは、リポジトリリスト内で以下のいずれかのステータスを持つことができます。EMR Notebooks と Git リポジトリのリンクの詳細については、「[EMR Studio で Git ベースのリポジトリをリンクまたはリンク解除する](#emr-git-repo-link)」を参照してください。


| ステータス | 意味 | 
| --- | --- | 
|  リンク  |  Git リポジトリがノートブックにリンク中です。リポジトリのステータスが [**Linking (リンク中)**] である間は、ノートブックを停止できません。  | 
|  リンク済み  |  Git リポジトリがノートブックにリンク済みです。リポジトリのステータスが [**リンク済み**] である間は、リモートリポジトリにノートブックが接続されています。  | 
|  Link Failed (リンク失敗)  |  Git リポジトリがノートブックへのリンクに失敗しました。リンクを再試行できます。  | 
|  Unlinking (リンク解除中)  |  Git リポジトリがノートブックからリンク解除中です。リポジトリのリンクが [**Unlinking (リンク解除中)**] である間は、ノートブックを停止できません。Git リポジトリをノートブックからリンク解除すると、リモートリポジトリからノートブックが切断されるだけで、ノートブックからコードは削除されません。  | 
|  Unlink Failed (リンク解除に失敗)  |  Git リポジトリがノートブックからのリンク解除に失敗しました。リンク解除を再試行できます。  | 

# EMR Studio で Git リポジトリが関連付けられた新しいノートブックを作成する
<a name="emr-git-repo-create-notebook"></a>

**注記**  
EMR Notebooks は、コンソールで EMR Studio Workspace として使用できます。コンソールの **[ワークスペースの作成]** ボタンを使用すると、新しいノートブックを作成できます。EMR Notebooks ユーザーが Workspace にアクセスしたり作成したりするには、追加の IAM ロール権限が必要です。詳細については、「[Amazon EMR Notebooks are Amazon EMR Studio Workspaces in the console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)」および「[Amazon EMR console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)」を参照してください。

**古い Amazon EMR コンソールでノートブックを作成して Git リポジトリに関連付けるには**

1. [EMR Studio でノートブックを作成する](emr-managed-notebooks-create.md) の指示に従います。

1. [**セキュリティグループ**] で、[**Use your own security group (独自のセキュリティグループを使用)**] を選択します。
**注記**  
ノートブックのセキュリティグループには、クラスター経由でインターネットにトラフィックをルーティングすることをノートブックに許可するアウトバウンドルールが含まれている必要があります。独自のセキュリティグループを作成することをお勧めします。詳細については、「[EMR Notebooks の EC2 セキュリティグループの指定](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-security-groups.html)」を参照してください。

1. [**Git リポジトリ**] の [**リポジトリの選択**] を選択して、ノートブックに関連付けるリポジトリを選択します。

   1. アカウントにリソースとして保存されているリポジトリを選択し、[**Save (保存)**] を選択します。

   1. アカウントに新しいリポジトリをリソースとして追加するには、[**新しいリポジトリの追加**] を選択します。新しいウィンドウで [**Add repository (リポジトリの追加)**] ワークフローを完了します。

# EMR Studio Notebook で Git リポジトリを使用する
<a name="emr-git-repo-open"></a>

**注記**  
EMR Notebooks は、コンソールで EMR Studio Workspace として使用できます。コンソールの **[ワークスペースの作成]** ボタンを使用すると、新しいノートブックを作成できます。EMR Notebooks ユーザーが Workspace にアクセスしたり作成したりするには、追加の IAM ロール権限が必要です。詳細については、「[Amazon EMR Notebooks are Amazon EMR Studio Workspaces in the console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-managed-notebooks-migration.html)」および「[Amazon EMR console](https://docs.aws.amazon.com/emr/latest/ManagementGuide/whats-new-in-console.html)」を参照してください。

ノートブックを開くときに、[**Open in JupyterLab (JupyterLab で開く)**] または [**Jupyter で開く**] を選択できます。

Jupyter でノートブックを開くことを選択すると、ノートブック内の展開可能なファイルとフォルダのリストが表示されます。ノートブックセルで以下のような Git コマンドを手動で実行できます。

```
!git pull origin primary
```

追加のリポジトリを開くには、他のフォルダに移動します。

JupyterLab インターフェイスでノートブックを開くことを選択した場合、プリインストールされている JupyterLab Git 拡張機能を使用できます。拡張機能の詳細については、「[jupyterlab-git](https://github.com/jupyterlab/jupyterlab-git)」を参照してください。