

# AWS Glue Studio での SAP HANA に対する接続
<a name="connecting-to-data-saphana"></a>

 AWS Glue は、SAP HANA のための組み込みサポートを提供します。AWS Glue Studio は、SAP HANA に接続してデータ統合ジョブをオーサリングし、AWS Glue Studio サーバーレス Spark ランタイム上でそれらのジョブを実行するためのビジュアルインターフェイスを提供します。

 AWS Glue Studio は SAP HANA の統合接続を作成します。詳細については、「[考慮事項](using-connectors-unified-connections.md#using-connectors-unified-connections-considerations)」を参照してください。

**Topics**
+ [SAP HANA 接続の作成](creating-saphana-connection.md)
+ [SAP HANA ソースノードの作成](creating-saphana-source-node.md)
+ [SAP HANA ターゲットノードを作成する](creating-saphana-target-node.md)
+ [詳細オプション](#creating-saphana-connection-advanced-options)

# SAP HANA 接続の作成
<a name="creating-saphana-connection"></a>

AWS Glue から SAP HANA に接続するには、SAP HANA 認証情報を作成して AWS Secrets Manager シークレットに保存し、そのシークレットを SAP HANA AWS Glue 接続に関連付ける必要があります。SAP HANA サービスと AWS Glue の間のネットワーク接続を設定する必要があります。

**前提条件**:
+ SAP HANA サービスが Amazon VPC 内にある場合は、トラフィックがパブリックインターネットを経由することなく、AWS Glue ジョブが SAP HANA サービスと通信できるように Amazon VPC を設定します。

  Amazon VPC で、AWS Glue がジョブの実行中に使用する **[VPC]**、**[サブネット]**、および **[セキュリティグループ]** を特定または作成します。さらに、SAP HANA エンドポイントとこの場所の間のネットワークトラフィックを許可するように Amazon VPC が設定されているようにする必要があります。ジョブでは、SAP HANA JDBC ポートとの TCP 接続を確立する必要があります。SAP HANA ポートの詳細については、[SAP HANA のドキュメント](https://help.sap.com/docs/HANA_SMART_DATA_INTEGRATION/7952ef28a6914997abc01745fef1b607/88e2e8bded9e4041ad3ad87dc46c7b55.html?locale=en-US)を参照してください。ネットワークレイアウトに基づいて、セキュリティグループルール、ネットワーク ACL、NAT ゲートウェイ、およびピアリング接続の変更が必要になる場合があります。

**SAP HANA に対する接続を設定するには:**

1. AWS Secrets Manager で、SAP HANA 認証情報を使用してシークレットを作成します。Secrets Manager でシークレットを作成するには、AWS Secrets Manager ドキュメントの [AWS Secrets Manager シークレットを作成する](https://docs.aws.amazon.com//secretsmanager/latest/userguide/create_secret.html) にあるチュートリアルに従ってください。シークレットを作成したら、次のステップのためにシークレット名 *secretName* を保存しておきます。
   + **[key/value ペア]** を選択する際に、*saphanaUsername* という値を持つキー `username/USERNAME` のペアを作成します。
   + **[key/value ペア]** を選択する際に、*saphanaPassword* という値を持つキー `password/PASSWORD` のペアを作成します。

1. AWS Glue コンソールで、「[AWS Glue 接続の追加](console-connections.md)」にあるステップに従って接続を作成します。接続を作成したら、将来的に AWS Glue で使用するために、接続名 *connectionName* を維持します。
   + **[接続タイプ]** を選択する際に、[SAP HANA] を選択します。
   + **[SAP HANA URL]** を入力する場合は、インスタンスの URL を入力します。

     SAP HANA JDBC URL の形式は `jdbc:sap://saphanaHostname:saphanaPort/?databaseName=saphanaDBname,ParameterName=ParameterValue` です

     AWS Glue には次の JDBC URL パラメータが必要です。
     + `databaseName` – 接続先の SAP HANA のデフォルトデータベース。
   + **[AWS Secret]** をクリックして、*secretName* を入力します。

AWS Glue SAP HANA 接続を作成した後、AWS Glue ジョブを実行する前に次のステップを実行する必要があります。
+ AWS Glue ジョブに関連付けられている IAM ロールに *secretName* を読み取るアクセス許可を付与します。

# SAP HANA ソースノードの作成
<a name="creating-saphana-source-node"></a>

## 必要な前提条件
<a name="creating-saphana-source-node-prerequisites"></a>
+ 前のセクション [SAP HANA 接続の作成](creating-saphana-connection.md) で説明したように、AWS Secrets Manager シークレットを使用して設定された AWS Glue SAP HANA 接続。
+ 接続で使用されるシークレットを読み取るためのジョブに対する適切なアクセス許可。
+ 読み取り元とする SAP HANA テーブル、*tableName*、またはクエリ *targetQuery*。

  テーブルは、SAP HANA テーブル名とスキーマ名 (形式: `schemaName.tableName`) を使用して指定できます。テーブルがデフォルトのスキーマ「public」にある場合、スキーマ名と「.」区切り文字は必要ありません。この *tableIdentifier* を呼び出します。データベースは `connectionName` の JDBC URL パラメータとして指定されることに注意してください。

## SAP HANA データソースの追加
<a name="creating-saphana-source-node-add"></a>

****[データソース — SAP HANA]** ノードを追加するには:**

1.  SAP HANA データソース用の接続を選択します。すでに作成したので、ドロップダウンに表示されているはずです。接続を作成する必要がある場合は、**[SAP HANA 接続を作成]** を選択します。詳細については、前の「[SAP HANA 接続の作成](creating-saphana-connection.md)」セクションを参照してください。

    接続を選択したあとは、**[プロパティを表示]** をクリックすると、接続のプロパティを表示できます。

1.  **[SAP HANA ソース]** のオプションを選択します。
   +  **[単一のテーブルを選択]** – 単一のテーブルからすべてのデータにアクセスします。
   +  **[カスタムクエリを入力]** — カスタムクエリに基づいて、複数のテーブルからデータセットにアクセスします。

1.  単一のテーブルを選択した場合は、*tableName* を入力します。

    **[カスタムクエリを入力]** を選択した場合は、SQL SELECT クエリを入力します。

1.  **[SAP HANA のカスタムプロパティ]** で、必要に応じてパラメータと値を入力します。

# SAP HANA ターゲットノードを作成する
<a name="creating-saphana-target-node"></a>

## 必要な前提条件
<a name="creating-saphana-target-node-prerequisites"></a>
+ 前のセクション [SAP HANA 接続の作成](creating-saphana-connection.md) で説明したように、AWS Secrets Manager シークレットを使用して設定された AWS Glue SAP HANA 接続。
+ 接続で使用されるシークレットを読み取るためのジョブに対する適切なアクセス許可。
+ 書き込み先とする SAP HANA テーブルである *tableName*。

  テーブルは、SAP HANA テーブル名とスキーマ名 (形式: `schemaName.tableName`) を使用して指定できます。テーブルがデフォルトのスキーマ「public」にある場合、スキーマ名と「.」区切り文字は必要ありません。この *tableIdentifier* を呼び出します。データベースは `connectionName` の JDBC URL パラメータとして指定されることに注意してください。

## SAP HANA データターゲットの追加
<a name="creating-saphana-target-node-add"></a>

****[データターゲット — SAP HANA]** ノードを追加するには:**

1.  SAP HANA データソース用の接続を選択します。すでに作成したので、ドロップダウンに表示されているはずです。接続を作成する必要がある場合は、**[SAP HANA 接続を作成]** を選択します。詳細については、前の「[SAP HANA 接続の作成](creating-saphana-connection.md)」セクションを参照してください。

    接続を選択したあとは、**[プロパティを表示]** をクリックすると、接続のプロパティを表示できます。

1. *tableName* を指定して **[テーブル名]** を設定します。

1.  **[Teradata のカスタムプロパティ]** で、必要に応じてパラメータと値を入力します。

## 詳細オプション
<a name="creating-saphana-connection-advanced-options"></a>

SAP HANA ノードを作成する際に、高度なオプションを指定できます。これらのオプションは Spark AWS Glue スクリプトのプログラミング時に使用できるオプションと同じです。

「[SAP HANA 接続](aws-glue-programming-etl-connect-saphana-home.md)」を参照してください。