Amazon EMR ノートブックを Git リポジトリにリンクしたいと考えています。
解決方法
Git リポジトリを Amazon EMR Notebooks に関連付けると、バージョン管理された環境でノートブックを保存できます。ノートブックには最大 3 つのリポジトリを関連付けることができます。
新しい EMR ノートブックを作成して、それを既存の Git リポジトリに関連付けるには、以下を実行します。
1. 仮想プライベートクラウド (VPC) にプライベートサブネットを作成します。
2. NAT ゲートウェイを作成します。
3. NAT ゲートウェイをポイントするようにルートテーブルを更新します。
4. プライベートサブネットで Amazon EMR クラスターを起動します。[Software configuration] (ソフトウェア設定) セクションで、Apache Spark、Apache Hadoop、および Apache Livy を含む設定を選択してください。
5. EMR クラスターが WAITING (待機中) 状態になるのを待っている間に、Git リポジトリを追加します。Git 認証情報で、[Create a new secret] (新しいシークレットを作成) を選択します。Username が E メールアドレスではなく、Git アカウントのエイリアスであることを確認してください。詳細については、「エイリアスの使用」を参照してください。
6. 次のアウトバウンドルールを使用して、セキュリティグループを作成します。
ルール 1
タイプ: カスタム TCP ルール
プロトコル: TCP
ポート範囲: 18888
送信先: ElasticMapReduceEditors-Livy
ルール 2
タイプ: HTTPS
プロトコル: TCP
ポート範囲: 443
送信先: 0.0.0.0/0
これにより、ノートブックはクラスターを使用してインターネットにアクセスできるようになります。詳細については、「ノートブックを Git リポジトリに関連付ける場合の EMR Notebooks のカスタム EC2 セキュリティグループ」を参照してください。
7. ElasticMapReduceEditors-Livy セキュリティグループにインバウンドルールを追加します。
タイプ: カスタム TCP ルール
プロトコル: TCP
ポート範囲: 18888
送信先: 前の手順で作成したセキュリティグループ名を入力します。
8. EMR Notebooks のサービスロール (EMR_Notebooks_DefaultRole) を変更して、secretsmanager:GetSecretValue アクションを許可します。
9. 次のセキュリティグループ設定を使用して、EMR ノートブックを作成します。
[Security groups] (セキュリティグループ) セクションで、[Choose security groups] (セキュリティグループの選択) を選択します。
[Security groups for master instance] (マスターインスタンスのセキュリティグループ) で、ElasticMapReduceEditors-Livy を選択します。
[Security groups for notebook instance] (ノートブックインスタンスのセキュリティグループ) で、ステップ 6 で作成したセキュリティグループを選択します。
Git リポジトリのステータスが [Linked] (リンク済み) に変わります。これで、ノートブックで Git リポジトリを使用できるようになりました。
関連情報
Git ベースのリポジトリと EMR Notebooks の関連付け
EMR ノートブック