

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

# 実装フェーズ
<a name="implement"></a>

大規模なアプローチまたは段階的なアプローチに従う移行には、新しい開発とテストが必要です。 AWS Schema Conversion Tool (AWS SCT) は SSIS パッケージから AWS Glue ジョブを自動的に生成できます。これにより、移行時間と労力が大幅に削減されます。または、 AWS Glue Studio を使用してグラフィカルインターフェイスベースの開発を行ったり、 AWS Glue または Amazon EMR で実行できる Spark ライブラリを構築したりできます。

以下のセクションでは、 AWS SCT、 AWS Glue、および Amazon EMR を使用するための便利なポインタを提供します。

## AWS SCT
<a name="sct"></a>

次の画面図は、 によって変換された AWS Glue ジョブスクリプトを示しています AWS SCT。

![AWS Glue によって変換されたジョブスクリプト AWS SCT](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/migration-ssis-etl/images/ssis-sct-example.png)


AWS SCT は SSIS パッケージを AWS Glue ジョブに一括変換できます。スクリプトを編集して既存のロジックを更新したり、新しい設計に基づいて新しいロジックを追加したりできます。 AWS SCT 変換されたスクリプトの命名規則に従って、スクリプトをカスタマイズすることをお勧めします。

詳細については、 AWS SCT ドキュメントの[「 AWS Glue を使用して SSIS を に変換 AWS SCT](https://docs.aws.amazon.com/SchemaConversionTool/latest/userguide/CHAP-converting-aws-glue-ssis.html)する」を参照してください。

## AWS Glue
<a name="glue"></a>

AWS Glue Studio は、次の画面に示すように、グラフィカルインターフェイスと SSIS に似た開発エクスペリエンスを提供します。

![AWS Glue Studio UI](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/migration-ssis-etl/images/glue-studio.png)


グラフィカルインターフェイスを使用しない場合は、 AWS Glue コンソールから必要な Python ライブラリを使用してカスタムスクリプトを実行することもできます。詳細については、 AWS Glue ドキュメントの[「独自のカスタムスクリプトの提供](https://docs.aws.amazon.com/glue/latest/dg/console-custom-created.html)」を参照してください。

AWS Glue には、データを処理するための一連の組み込み変換が用意されています。これらは SSIS データフロー変換に似ています。SSIS ETL ジョブを移行するときは、次のベストプラクティスに従ってください AWS Glue。
+  AWS Glue 変換から同等の SSIS 変換へのマッピングを準備します。
+ 変換を変換にマッピングできない場合は、Python または Scala カスタムスクリプトを使用して AWS Glue 変換を構築します。
+ カスタムログ記録 (読み取り行、書き込み行、不正なレコードなど) には、[Amazon CloudWatch](https://docs.aws.amazon.com/glue/latest/dg/logging-and-monitoring.html) に加えてカスタムスクリプトを使用します。
+ [開発エンドポイント](https://docs.aws.amazon.com/glue/latest/dg/add-dev-endpoint.html)を追加して、カスタムスクリプトをローカルで開発およびデバッグします。

## Amazon EMR
<a name="emr"></a>

カスタムスクリプト (Python または Scala で記述) またはコンパイルされた Python ライブラリは、 と同様に EMR クラスターで実行できます AWS Glue。以下のベストプラクティスに従ってください。
+ Spark フレームワークで EMR クラスターを作成するときに、メモリ最適化インスタンスタイプから始めます。(SSIS はメモリバッファを使用します）。
+ 各 SSIS タスクまたは変換と同等の汎用 Python メソッドを構築します。たとえば、次の図では、2 つのデータフレームを入力として受け取るメソッドは、2 つのデータフレームから一致するレコードを出力として持つ 3 番目のデータフレームを生成します。これはマー[ジ結合](https://learn.microsoft.com/en-us/sql/integration-services/data-flow/transformations/merge-join-transformation)変換として機能します。

![SSIS タスクのサンプル Python マージ関数](http://docs.aws.amazon.com/ja_jp/prescriptive-guidance/latest/migration-ssis-etl/images/ssis-merge-function.png)


## テスト
<a name="test"></a>

データの完全性と正確性を検証するには、テストフレームワークが必要です。このフレームワークは、既存のシナリオと、ジョブの移行中に行った改善をすべて網羅している必要があります AWS。
+ 完全性の検証:
  + すべてのジョブはターゲット状態に移行されます。
  + すべての機能は各ジョブで移行されます。
  + ジョブ実行の詳細、エラーメッセージ、不良レコード、行数など、すべてのタイプのログを使用できます。
+ 正確性の検証:
  + データの品質は、既存の環境と新しい環境で一貫しています。
  + すべてのテーブルのすべての列が一致しているか、テーブルが改善されています AWS。
  + すべての監査情報とログ記録情報が一致します。

また、移行したジョブのパフォーマンスが既存のジョブのパフォーマンスと一致していることを確認する必要があります。