データソースに接続する - Amazon SageMaker

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

データソースに接続する

Amazon SageMaker Canvas では、 AWS サービス、SaaS プラットフォーム、または JDBC コネクタを使用するその他のデータベースを通じて、ローカルファイルシステム外の場所からデータをインポートできます。例えば、Amazon Redshift のデータウェアハウスから表をインポートする場合や、Google Analytics データをインポートする場合があります。

インポートワークフローを実行して Canvas アプリケーションにデータをインポートする場合、データソースを選択してから、インポートするデータを選択します。Snowflake や Amazon Redshift などの特定のデータソースでは、認証情報を指定し、データソースへの接続を追加する必要があります。

次のスクリーンショットは、使用可能なすべてのデータソースが強調表示されているインポートワークフローのデータソースツールバーを示しています。使用可能なデータソースからのみデータをインポートできます。希望するデータソースが利用できない場合は、管理者に問い合わせてください。


                Canvas の [インポート] ページの [データソース] ドロップダウンメニュー。

以下のセクションでは、外部データソースとの接続の確立、および外部データソースからのデータのインポートについて説明します。まず、次のセクションを確認して、データソースからデータをインポートするのに必要な権限を決定してください。

権限

次の情報を確認して、データソースからデータをインポートするのに必要な権限があることを確認してください。

  • Amazon S3: ユーザーがバケットにアクセスする権限を持っている場合、Amazon S3 バケットからデータをインポートできます。 AWS IAM を使用して Amazon S3 バケットへのアクセスを制御する方法の詳細については、Amazon S3 ユーザーガイドのAmazon S3 での ID とアクセス管理」を参照してください。

  • Amazon Athena: AmazonSageMakerFullAccessAmazonSageMakerCanvasFullAccessポリシーとポリシーがユーザーの実行ロールにアタッチされている場合は、Amazon Athena AWS Glue Data Catalog を使用してクエリを実行できます。Athena ワークグループに参加している場合は、Canvas ユーザーがデータに対して Athena クエリを実行する権限を持っていることを確認してください。詳細については、「Amazon Athena ユーザーガイド」の「クエリを実行するためのワークグループの使用」を参照してください。

  • Amazon DocumentDB: データベースに接続するための認証情報 (ユーザー名とパスワード) があり、ユーザーの実行ロールに最低限の基本的な Canvas 権限が付与されている限り、どの Amazon DocumentDB データベースからでもデータをインポートできます。Canvas 権限の詳細については、を参照してください。Amazon キャンバスをセットアップするための前提条件 SageMaker

  • Amazon Redshift: Amazon Redshift からデータをインポートするために必要なアクセス権限を自分に付与するには、「Grant Users Permissions to Import Amazon Redshift Data」を参照してください。

  • Amazon RDS: AmazonSageMakerCanvasFullAccessユーザーの実行ロールにポリシーがアタッチされている場合は、Canvas から Amazon RDS データベースにアクセスできます。

  • SaaS プラットフォーム:AmazonSageMakerFullAccessAmazonSageMakerCanvasFullAccessユーザーの実行ロールにポリシーとポリシーがアタッチされている場合、SaaS プラットフォームからデータをインポートするために必要な権限があります。特定の SaaS コネクタへの接続の詳細については、「Canvas で SaaS コネクタを使用する」を参照してください。

  • JDBC コネクタ: Databricks、MySQL、または MariaDB などのデータベースソースでは、Canvas から接続する前に、ソースデータベースでユーザー名とパスワードの認証を有効にする必要があります。Databricks データベースに接続する場合は、必要な認証情報を含む JDBC URL が必要です。

に格納されているデータベースConnect する AWS

保存したデータをインポートしたい場合があります AWS。Amazon S3 からデータをインポートしたり、Amazon Athena を使用して内のデータベースにクエリを実行したり AWS Glue Data Catalog、Amazon RDS からデータをインポートしたり、プロビジョニングされた Amazon Redshift データベース (Redshift サーバーレスではない) に接続したりできます。

Amazon Redshift への複数の接続を作成することができます。Amazon Athena では、AWS Glue Data Catalog にあるすべてのデータベースにアクセスできます。Amazon S3 では、必要な権限がある限り、バケットからデータをインポートできます。

詳細については、以下のセクションを参照してください。

Amazon S3、Amazon Athena、または Amazon RDS のデータに接続する

Amazon S3 では、バケットへのアクセス権限を持っているユーザーは、Amazon S3 バケットからデータをインポートできます。

Amazon Athena では、Amazon Athena AWS Glue Data Catalog ワークグループを通じてアクセス権限を持っている限り、内のデータベースにアクセスできます。

Amazon RDS では、AmazonSageMakerCanvasFullAccessユーザーのロールにポリシーがアタッチされていれば、Amazon RDS データベースから Canvas にデータをインポートできます。

Amazon S3 バケットからのデータのインポート、または Amazon Athena でクエリを実行したデータテーブルのインポートについては、「データセットを作成する」を参照してください。Amazon Athena からは表形式のデータのみをインポートでき、Amazon S3 からは表形式データと画像データをインポートできます。

Amazon DocumentDB データベースConnect する

Amazon DocumentDB は、フルマネージド型のサーバーレスのドキュメントデータベースサービスです。Amazon DocumentDB データベースに保存されている非構造化ドキュメントデータを表形式のデータセットとして SageMaker Canvas にインポートし、そのデータを使用して機械学習モデルを構築できます。

重要

Amazon DocumentDB に接続を追加するには、 SageMaker ドメインを VPC 専用モードに設定する必要があります。Amazon DocumentDB クラスターには、キャンバスアプリケーションと同じ Amazon VPC 内でのみアクセスできます。さらに、キャンバスは TLS 対応の Amazon DocumentDB クラスターにのみ接続できます。Canvas を VPC 専用モードで設定する方法の詳細については、を参照してくださいインターネットにアクセスせずに VPC で Amazon SageMaker Canvas を設定する

Amazon DocumentDB データベースからデータをインポートするには、Amazon DocumentDB データベースにアクセスするための認証情報が必要で、データベース接続の作成時にユーザー名とパスワードを指定する必要があります。Amazon DocumentDB のユーザー権限を変更することで、より詳細な権限を設定し、アクセスを制限できます。Amazon DocumentDB のアクセスコントロールの詳細については、Amazon DocumentDB 開発者ガイドの「ロールベースのアクセスコントロールを使用したデータベースアクセス」を参照してください。

Amazon DocumentDB からインポートすると、Canvas はフィールドをテーブルの列にマッピングして、非構造化データを表形式のデータセットに変換します。データ内の複雑なフィールド (またはネストされた構造) ごとに、列が複合フィールドのサブフィールドに対応する追加のテーブルが作成されます。このプロセスとスキーマ変換の例の詳細については、Amazon DocumentDB JDBC ドライバースキーマ検出ページを参照してください。 GitHub

キャンバスは Amazon DocumentDB 内の 1 つのデータベースにしか接続できません。別のデータベースからデータをインポートするには、新しい接続を作成する必要があります。

Amazon DocumentDB から Canvas にデータをインポートするには、以下の方法を使用します。

データのインポートを続行するには、上記のリストにリンクされている方法のいずれかの手順に従ってください。

いずれかのワークフローでデータソースを選択するステップ (データセットを作成する場合はステップ 5、データフローを作成する場合はステップ 6) に到達したら、次の操作を行います。

  1. [データソース] では、ドロップダウンメニューを開いて [DocumentDB] を選択します。

  2. [Add connection (接続の追加)] を選択します。

  3. ダイアログボックスで、Amazon DocumentDB の認証情報を指定します。

    1. [接続名] を入力します。この名前は Canvas でこの接続を識別するために使用されます。

    2. [クラスター] では、データを保存する Amazon DocumentDB 内のクラスターを選択します。Canvas では、Canvas アプリケーションと同じ VPC にある Amazon DocumentDB クラスターがドロップダウンメニューに自動的に入力されます。

    3. Amazon DocumentDB クラスターのユーザー名を入力します

    4. Amazon DocumentDB クラスターのパスワードを入力します

    5. 接続するデータベースの名前を入力します

    6. Read プリファレンスオプションによって、Canvas クラスタ上のどのインスタンスからデータを読み取るかが決まります。次のいずれかを選択します。

      • セカンダリ優先 — Canvas はデフォルトでクラスターのセカンダリインスタンスから読み取りを行いますが、セカンダリインスタンスが利用できない場合、Canvas はプライマリインスタンスから読み取ります。

      • セカンダリ — Canvas はクラスターのセカンダリインスタンスからのみ読み取りを行うため、読み取り操作がクラスターの通常の読み取り/書き込み操作に干渉することを防ぎます。

    7. [Add connection (接続の追加)] を選択します。以下の画像は、Amazon DocumentDB 接続用の前述のフィールドを含むダイアログボックスを示しています。

      
                                        Canvas の「新しい DocumentDB 接続を追加」ダイアログボックスのスクリーンショット。

これで Amazon DocumentDB 接続が確立されたはずです。Canvas の Amazon DocumentDB データを使用して、データセットまたはデータフローを作成できます。

Amazon Redshift データベースに接続する

組織がデータを保持するデータウェアハウスである、Amazon Redshift からデータをインポートできます。Amazon Redshift からデータをインポートする前に、使用する AWS IAM AmazonRedshiftFullAccess ロールに管理ポリシーがアタッチされている必要があります。このポリシーをアタッチする方法については、「Amazon Redshift データをインポートする権限をユーザーに付与する」を参照してください。

Amazon Redshift からデータをインポートするには、次の手順に従います。

  1. Amazon Redshift データベースへの接続を作成します。

  2. インポートするデータを選択します。

  3. データをインポートします。

Amazon Redshift エディタを使用してデータセットをインポートペインにドラッグし、Canvas SageMaker にインポートできます。データセットで返される値をより詳細に制御するには、以下を使用します。

  • SQL クエリ

  • Joins

SQL クエリを使用すると、データセットの値をインポートする方法をカスタマイズできます。例えば、データセットで返される列や、列の値の範囲を指定できます。

結合を使用すると、Amazon Redshift の複数のデータセットを 1 つのデータセットに結合できます。データセットは、Amazon Redshift からパネルにドラッグすることによって結合できます。

SQL エディタを使用すると、結合したデータセットを編集したり、結合したデータセットを 1 つのノードに変換したりできます。別のデータセットをノードに結合できます。選択したデータを SageMaker Canvas にインポートできます。

次の手順に従って、Amazon Redshift からデータをインポートします。

  1. SageMaker Canvas アプリケーションで、データセットページに移動します

  2. [作成] を選択して、ドロップダウンメニューで[表形式] を選択します。

  3. データセットの名前を入力し、[作成] を選択します。

  4. [データソース] でドロップダウンメニューを開いて、[Redshift] を選択します。

  5. [Add connection (接続の追加)] を選択します。

  6. ダイアログボックスで、Amazon Redshift の認証情報を指定します。

    1. [認証方法][IAM] を選択します。

    2. [クラスター識別子] を入力して、接続するクラスターを指定します。Amazon Redshift クラスターの完全なエンドポイントではなく、クラスター識別子のみを入力します。

    3. 接続するデータベースの [データベース名] を入力します。

    4. [データベースユーザー] を入力して、データベースへの接続に使用するユーザーを特定します。

    5. [ARN] に、Amazon Redshift クラスターがデータを移動して Amazon S3 に書き込むことを引き受けるロールの IAM ロール ARN を入力します。このロールの詳細については、『Amazon Redshift 管理ガイド』の「Amazon Redshift AWS がユーザーに代わって他のサービスにアクセスすることを許可する」を参照してください。

    6. [接続名] を入力します。この名前は Canvas でこの接続を識別するために使用されます。

  7. 接続の名前が表示されているタブから、インポートする.csv ファイルを [Drag and drop table to import] (インポートするテーブルをドラッグアンドドロップ) ペインにドラッグします。

  8. オプション: 追加のテーブルをインポートペインにドラッグします。GUI を使用してテーブルを結合できます。結合の詳細を確認するには、[Edit in SQL] (SQL で編集) を選択します。

  9. オプション: SQL を使用してデータをクエリする場合は、[Context] (コンテキスト) をクリックし、以下の値を指定して、接続にコンテキストを追加できます。

    • ウェアハウス

    • データベース

    • スキーマ

  10. [データをインポート] を選択します。

以下の画像は、Amazon Redshift 接続で指定されるフィールドの例を示しています。


                        Canvas の「新しい Redshift 接続を追加」ダイアログボックスのスクリーンショット。

以下の画像は、Amazon Redshift でデータセットを結合するために使用されるページを示しています。


                        Canvas の Import ページのスクリーンショット。2 つのデータセットが結合されている様子が映っています。

以下の画像は、Amazon Redshift で結合を編集するために使用される SQL クエリを示しています。


                        キャンバスの [インポート] ページにある [SQL の編集] エディタの SQL クエリのスクリーンショット。

JDBC コネクタを使用してデータに接続する

JDBC を使用すると、Databricks、SQLServer、MySQL、PostgreSQL、MariaDB、Amazon RDS、Amazon Aurora などのソースからデータベースに接続できます。

Canvas から接続を作成するための認証情報と権限があることを確認する必要があります。

  • Databricks の場合は、JDBC URL を指定する必要があります。URL フォーマットは Databricks インスタンスによって異なる場合があります。URL の検索とその URL 内のパラメーターの指定について詳しくは、Databricks のドキュメントの「JDBC 設定と接続パラメーター」を参照してください。以下は URL のフォーマットの例です。 jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3122619508517275/0909-200301-cut318;AuthMech=3;UID=token;PWD=personal-access-token

  • 他のデータベースソースでは、ユーザー名とパスワードによる認証を設定し、Canvas からデータベースに接続する際にそれらの認証情報を指定する必要があります。

さらに、データソースはパブリックインターネット経由でアクセスできる必要があります。または、Canvas アプリケーションが VPC 専用モードで実行されている場合は、データソースを同じ VPC 内で実行する必要があります。VPC での Amazon RDS データベースの設定の詳細については、「Amazon RDS ユーザーガイド」の「Amazon VPC VPC とAmazon RDS」を参照してください。

データソースの認証情報を設定したら、Canvas アプリケーションにサインインして、データソースへの接続を作成します。接続を作成する際に、認証情報 (Databricks の場合は URL) を指定します。

OAuth を使用してデータソースに接続する

Canvas は、Snowflake と Salesforce Data Cloud 内のデータに接続するための認証方法として OAuth の使用をサポートしています。OAuth は、パスワードを共有せずにリソースへのアクセスを許可するための一般的な認証プラットフォームです。

注記

各データソースで確立できる OAuth 接続は 1 つのみです。

接続を認証するには、「OAuth を使用してデータソースへの接続を設定する」で説明されている初期設定に従う必要があります。

OAuth 認証情報を設定したら、次の操作を行って OAuth による Snowflake 接続または Salesforce Data Cloud 接続を追加できます。

  1. Canvas アプリケーションにサインインします。

  2. 表形式のデータセットを作成します。データをアップロードするように求められたら、データソースとして Snowflake または Salesforce Data Cloud を選択します。

  3. Snowflake または Salesforce Data Cloud のデータソースへの新しい接続を作成します。認証方法として OAuth を指定し、接続の詳細を入力します。

これで、Snowflake または Salesforce Data Cloud のデータベースからデータをインポートできるようになりました。

SaaS プラットフォームに接続する

ユーザーは、Snowflake および 40 以上の外部 SaaS プラットフォームからデータをインポートできます。コネクタの完全なリストについては、「Canvas にデータをインポートする」の表を参照してください。

注記

SaaS プラットフォームからは、データテーブルなどの表形式データのみインポートできます。

Snowflake を Canvas で使用する

Snowflakeはデータストレージおよび分析サービスであり、SnowflakeからCanvasにデータをインポートできます。 SageMaker Snowflake の詳細については、「Snowflake ウェブサイト」を参照してください。

Snowflake アカウントからデータをインポートするには、次の手順に従います。

  1. Snowflake データベースへの接続を作成します。

  2. 左側のナビゲーションメニューからテーブルをエディタにドラッグアンドドロップして、インポートするデータを選択します。

  3. データをインポートします。

Snowflake エディターを使用してデータセットをインポートペインにドラッグし、Canvas にインポートできます。 SageMaker データセットで返される値をより詳細に制御するには、以下を使用します。

  • SQL クエリ

  • Joins

SQL クエリを使用すると、データセットの値をインポートする方法をカスタマイズできます。例えば、データセットで返される列や、列の値の範囲を指定できます。

SQL または Canvas インターフェイスを使用して Canvas にインポートする前に、複数の Snowflake データセットを 1 つのデータセットに結合できます。Snowflake からデータセットをドラッグしてデータセットを結合したり、SQL で結合を編集して SQL を単一ノードに変換したりできます。変換したノードには他のノードを結合できます。結合したデータセットを 1 つのノードに結合すると、そのノードを別の Snowflake データセットに結合できます。その後、選択したデータを Canvas にインポートできます。

以下の手順を使用して、スノーフレークから Amazon SageMaker Canvas にデータをインポートします。

  1. SageMaker Canvas アプリケーションで、データセットページに移動します

  2. Import (インポート) を選択します。

  3. [データソース] でドロップダウンメニューを開いて、[Snowflake] を選択します。

  4. [Add connection (接続の追加)] を選択します。

  5. [新しい Snowflake 接続の追加] ダイアログボックスで、Snowflake の認証情報を指定します。[認証方法] では、[基本 - ユーザー名、パスワード][ARN]、または [OAuth] を選択できます。OAuth を選択すると、パスワードを入力しなくても認証できますが、追加の設定が必要です。Snowflake 用の OAuth 認証情報設定の詳細については、「OAuth を使用してデータソースへの接続を設定する」を参照してください。

  6. [Add connection (接続の追加)] を選択します。

  7. 接続の名前が表示されているタブから、インポートする.csv ファイルを [Drag and drop table to import] (インポートするテーブルをドラッグアンドドロップ) ペインにドラッグします。

  8. オプション: 追加のテーブルをインポートペインにドラッグします。ユーザーインターフェイスを使用してテーブルを結合できます。結合の詳細を確認するには、[Edit in SQL] (SQL で編集) を選択します。

  9. オプション: SQL を使用してデータをクエリする場合は、[Context] (コンテキスト) をクリックし、以下の値を指定して、接続にコンテキストを追加できます。

    • ウェアハウス

    • データベース

    • スキーマ

    接続にコンテキストを追加すると、後でクエリを指定しやすくなります。

  10. [データをインポート] を選択します。

以下の画像は、Snowflake 接続で指定されるフィールドの例を示しています。


                        Canvas の [Snowflake 接続の新規追加] ダイアログボックスのスクリーンショット。

以下の画像は、接続にコンテキストを追加するために使用されるページを示しています。


                        Canvas の Import ページのスクリーンショット。コンテキストダイアログボックスを表示しています。

以下の画像は、Snowflake でデータセットを結合するために使用されるページを示しています。


                        Canvas の Import ページのスクリーンショット。結合中のデータセットを示しています。

以下の画像は、Snowflake で結合を編集するために使用される SQL クエリを示しています。


                        キャンバスの [インポート] ページにある [SQL の編集] エディタの SQL クエリのスクリーンショット。

Canvas で SaaS コネクタを使用する

注記

SaaS プラットフォームでは、Snowflake に加えて、データソースごとに 1 つの接続しか使用できません。

SaaS プラットフォームからデータをインポートする前に、管理者は認証を行い、データソースへの接続を作成する必要があります。管理者が SaaS プラットフォームとの接続を作成する方法の詳細については、Amazon AppFlow ユーザーガイドのAmazon AppFlow 接続の管理」を参照してください。

初めて Amazon を使い始める管理者の場合は、Amazon AppFlow AppFlow ユーザーガイドのはじめに」を参照してください。

SaaS プラットフォームからデータをインポートするには、標準の「表形式データをインポートする」手順に従って表形式のデータセットを Canvas にインポートします。