データ・サイエンス・テナンシの手動構成

このチュートリアルでは、データ・サイエンスのテナンシを設定し、ノートブック・セッションを作成してテストします。

このチュートリアルは管理者ユーザー向けです。必要なアクセス権限が付与されているためです。

このチュートリアルの内容:

1. データ・サイエンティスト・ユーザー・グループの作成

2. 作業のためのコンパートメントの作成

3. (オプション) VCNとサブネットの作成

4. ポリシーの作成

5.ポリシーを使用した動的グループの作成

6. ノートブック・セッションの作成

開始する前に

このチュートリアルを実行するには、次が必要です:

  • 支払済Oracle Cloud Infrastructure (OCI)アカウントまたはOracle Cloudプロモーションの新しいアカウント。無料Oracle Cloudプロモーションのリクエストおよび管理を参照してください。

  • OCIアカウントの管理者権限。
  • データ・サイエンス・サービスにアクセスするテナンシの少なくとも1人のユーザー。このユーザーは、IAMで作成する必要があります。

1. データ・サイエンティスト・ユーザー・グループの作成

データ・サイエンティストが活動するためのユーザー・グループを作成します。

  1. サポートされているブラウザを開き、コンソールURLを入力します:
    https://cloud.oracle.com
  2. クラウド・アカウント名(テナンシ名とも呼ばれる)を入力し、「次」を選択します。
  3. ユーザー名とパスワードでサイン・インします。
  4. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ドメイン」をクリックします。

    テナンシ内のドメインのリストが表示されます。

  5. 作業するドメインの名前を選択します。
  6. 「グループの作成」のステップに従ってグループを作成します。
  7. 新しいグループに data-scientistsを指定して、説明を入力します。
  8. 「グループへのユーザーの追加」のステップに従って、作成したグループにユーザーを追加します。
  9. データ・サイエンティスト・グループへのすべてのデータ・サイエンティスト・ユーザーの追加を繰り返します。

2. 作業のためのコンパートメントの作成

データ・サイエンス・リソースのコンパートメントを作成します。

  1. コンパートメントの作成のステップに従って、コンパートメントを作成します。
  2. 新規コンパートメントのdata-science-workを指定し、説明を入力します。
  3. コンパートメントがコンパートメント・リストに表示されることを確認します。

3.(オプション) VCNとサブネットの作成

このステップはオプションです。ステップ6でノートブック・セッションを作成する場合。ノートブック・セッションの作成では、ノートブック・セッションの適切な設定でデフォルト・ネットワークを作成できます。

重要

ノートブックの作成時にデフォルトのネットワークを選択した場合、ネットワークの作成およびサブネットおよびゲートウェイの設定をスキップできます。ノートブックでデフォルトのネットワークが構成されている場合、ノートブックを再アクティブ化するときに変更できません。

この項では、VCNsへのアクセスが必要なユーザー、VCNの作成方法、および後でノートブック・セッションに推奨されるサブネットを選択する方法を示します。たとえば、データ・サイエンス・ジョブ実行のスケジュール・チュートリアルを実行している場合は、このネットワークを作成して、データ・サイエンスのノートブック・セッションとデータ統合サービスのワークスペースの両方に使用します。

  1. VCNの作成のステップに従ってVCNを作成します。
  2. VCN名datascience-vcnと入力します。
  3. データ・サイエンス・ワーク・コンパートメントを選択します。このコンパートメントは、このセクションで作成したVCNをホストします。この新しいコンパートメントがコンパートメント・リストに表示されるまで時間がかかるため、表示されるまでページをリフレッシュします。
  4. 「VCNおよびサブネットの構成」で、デフォルトを保持します:
    • VCN CIDRブロック: 10.0.0.0/16
    • パブリック・サブネットCIDRブロック: 10.0.0.0/24
    • プライベート・サブネットCIDRブロック: 10.0.1.0/24
    • このVCNでDNSホスト名を使用:選択した

    ノートブック・セッションの作成時に、このVCNとそのプライベート・サブネットPrivate Subnet-datascience-vcnを使用します。

  5. VCNおよびサブネットを確認するには、「Virtual Cloudネットワークの表示」を選択します。
ノート

パブリック・インターネットへのエグレス・アクセスには、NAT Gatewayへのルートを持つプライベート・サブネットを使用することをお薦めします。NATゲートウェイは、プライベート・サブネットのインスタンスにインターネットへのアクセス権を提供します。このステップで作成するVCNは、VCNのNAT Gatewayを介してインターネットにエグレス・アクセスするプライベート・サブネットを作成します。

4. ポリシーの作成

ユーザーがノートブック・セッションを開始する前に、データ・サイエンス・ポリシーを構成する必要があります。

  1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ポリシー」をクリックします。
  2. 「ポリシーの作成」を選択します。
  3. 名前data-science-policyを入力します。
  4. 「説明」データ・サイエンス・ユーザーおよびサービスのポリシーと入力します。
  5. データ・サイエンス- ワーク・コンパートメントを選択します。
  6. 「手動エディタの表示」を選択します。
  7. 「ポリシー・ビルダー」フィールドに、次の5つのポリシー・ステートメントを入力します:
    allow service datascience to use virtual-network-family in compartment data-science-work
    allow group data-scientists to manage data-science-family in compartment data-science-work
    allow group data-scientists to use virtual-network-family in compartment data-science-work 
    allow group data-scientists to manage buckets in compartment data-science-work 
    allow group data-scientists to manage objects in compartment data-science-work 
  8. 「作成」を選択して、ポリシーを作成します。

ポリシーの説明:

  • データ・サイエンス・サービスがVCNをノートブック・セッションにアタッチし、ノートブック環境からエグレス・トラフィックをルーティングできるようにするには、次を追加します:

    allow service datascience to use virtual-network-family in compartment data-science-work
  • data-scientistsグループがdata-science-workコンパートメント(プロジェクト、ノートブック・セッション、モデル、モデル・デプロイメント、作業リクエスト、ジョブおよびジョブ実行)内のすべてのデータ・サイエンス・リソースに対する操作を実行できるようにするには、次を追加します:

    allow group data-scientists to manage data-science-family in compartment data-science-work
  • 作成したVCNをこれらのデータ・科学者が使用し、ノートブック・セッションにアタッチできるようにするには、次を追加します:

    allow group data-scientists to use virtual-network-family in compartment data-science-work 
  • アーティファクトやconda環境のバケットへの追加など、これらのデータ・科学者がバケットを作成および管理できるようにするには、次を追加します:

    allow group data-scientists to manage buckets in compartment data-science-work
    allow group data-scientists to manage objects in compartment data-science-work 
ヒント

バケット、オブジェクト、仮想ネットワーク・ファミリなど、管理するリソースを指定するかわりに、データ・サイエンティストがコンパートメントに対する管理権限を許可し、OCIサービスのすべてのリソースを管理できるようにするには、前の5つのポリシーを次の2つのポリシーに置き換えます:
allow group data-scientists to manage all-resources in compartment data-science-work
allow service datascience to use virtual-network-family in compartment data-science-work 

5. ポリシーを使用した動的グループの作成

データ・サイエンス・リソースの動的グループを作成し、この動的グループがオブジェクト・ストレージやロギングなどの他のOCIリソースにアクセスできるようにします。

OCIリソースに他のOCIリソースにアクセスする権限を付与するには、最初に、ユーザー・グループではなく動的グループにリソースを追加します。次に、動的グループが指定したリソースにアクセスできるようにするポリシーを記述します。ここで、動的グループには3つのデータ・サイエンス・リソース(ノートブック・セッションモデル・デプロイメントおよびジョブ実行)があります。

  1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「コンパートメント」をクリックします。
  2. data-science-workコンパートメントを選択します。
  3. 「OCID」属性で、「コピー」をクリックしてOCID全体をノートパッドに保存します。
  4. 現在のページが表示された証跡で、「コンパートメント」をクリックしてコンパートメントのリストに戻ります。
  5. 「動的グループの作成」のステップに従って、動的グループを作成します。
  6. 次を入力します:
    • 名前: data-science-dynamic-group
    • 説明:データ・サイエンス動的グループ
  7. 「一致ルール」セクションで、「次に定義したルールに一致」を選択します。
  8. 次の3つの一致ルールを入力します。<compartment-ocid>を、コピーしたコンパートメントOCIDに置き換えます。
    ルール1:
    ALL {resource.type='datasciencenotebooksession', resource.compartment.id='<compartment-ocid>'}

    前述のマッチング・ルールは、コンパートメントで作成されたすべてのノートブック・セッションdata-science-dynamic-groupのメンバーであることを意味します。

    「追加ルール」をクリックし、次のルールを追加します。

    ルール2:

    ALL {resource.type='datasciencemodeldeployment', resource.compartment.id='<compartment-ocid>'}

    前述と一致するルールは、コンパートメントで作成されたすべてのモデル・デプロイメントdata-science-dynamic-groupのメンバーであることを意味します。

    「追加ルール」をクリックし、次のルールを追加します。

    ルール 3:

    ALL {resource.type='datasciencejobrun', resource.compartment.id='<compartment-ocid>'}

    前述のマッチング・ルールは、コンパートメントで作成されたすべてのジョブ実行data-science-dynamic-groupのメンバーであることを意味します。

  9. 「作成」を選択します。

    次に、この動的グループのリソースが他のOCIサービスにアクセスできるようにするポリシーを記述します。

  10. 現在のページを表示するトレイルで、「アイデンティティ」をクリックします。
  11. 「ポリシー」を選択します。
  12. 「ポリシーの作成」を選択します。
  13. 次を入力します:
    • 名前: data-science-dynamic-group-policy
    • 説明:データ・サイエンス動的グループのポリシー
  14. data-science-workコンパートメントのかわりに、最上位のコンパートメント(テナント)を選択します。
    重要

    テナンシを使用しない場合、ポリシーの作成は失敗します。
  15. 「手動エディタの表示」を選択します。
  16. 「ポリシー・ビルダー」フィールドに、次のポリシー・ステートメントを入力します:
    allow dynamic-group data-science-dynamic-group to manage data-science-family in compartment data-science-work
    allow dynamic-group data-science-dynamic-group to manage dataflow-family in compartment data-science-work
    allow dynamic-group data-science-dynamic-group to read compartments in tenancy
    allow dynamic-group data-science-dynamic-group to read users in tenancy
    allow dynamic-group data-science-dynamic-group to use log-content in compartment data-science-work
    allow dynamic-group data-science-dynamic-group to use log-groups in compartment data-science-work
    allow dynamic-group data-science-dynamic-group to manage object-family in compartment data-science-work
  17. 「作成」を選択してポリシーを作成します。

この動的グループを使用して、data-science-workコンパートメントにあるノートブック・セッションおよびモデル・デプロイメントにテナンシ内の他のOCIリソースへのアクセス権を付与できます。

ポリシーの説明:

  • ノートブック・セッションがモデル・カタログ、プロジェクトおよびノートブック・セッション・リソースのエントリに対するCRUD操作を実行できるようにするには、次を追加します:

    allow dynamic-group data-science-dynamic-group to manage data-science-family in compartment data-science-work
    
  • ノートブック・セッションがデータ・フロー・アプリケーションに対するCRUD操作を実行できるようにするには、次を追加します:

    allow dynamic-group data-science-dynamic-group to manage dataflow-family in compartment data-science-work
  • ノートブック・セッションがテナンシ内のコンパートメントおよびユーザー名をリストおよび読取りできるようにするには、次を追加します:

    allow dynamic-group data-science-dynamic-group to read compartments in tenancy
    allow dynamic-group data-science-dynamic-group to read users in tenancy
  • モデル・デプロイメントがロギング・サービスにログを生成できるようにするには、次を追加します:

    allow dynamic-group data-science-dynamic-group to use log-content in compartment data-science-work
  • ジョブ実行がログを作成し、ジョブ実行の詳細をロギング・サービスに記録できるようにするには、次を追加します:

    allow dynamic-group data-science-dynamic-group to use log-groups in compartment data-science-work
  • ノートブック・セッションおよびモデル・デプロイメントがオブジェクト・ストレージ・バケットに対してファイルを読み書きできるようにするには、data-science-workコンパートメントで次を追加します:

    allow dynamic-group data-science-dynamic-group to manage object-family in compartment data-science-work
ヒント

  • 前述のポリシーにより、モデル・デプロイメントdata-science-workコンパートメント内の任意のバケットにアクセスできます。
  • モデル・デプロイメントdata-science-workコンパートメントの外部にある特定のバケットへの読取りアクセス権を付与するには、ポリシーにバケット名とそのコンパートメントを指定します。
  • 例: モデル・デプロイメントがバケットpublished-conda-envから公開されたconda環境にアクセスし、バケットmodel-artifactsからアーティファクトをモデル化できるようにするには、次を追加します:
    allow dynamic-group data-science-dynamic-group to read objects in compartment <another-compartment> where ANY {target.bucket.name='published-conda-envs', target.bucket.name='model-artifacts'}
  • ポリシー・ステートメントにテナンシが指定されているか、data-science-workコンパートメントの外部にコンパートメントが含まれている場合は、「ポリシーの作成」ダイアログで、「コンパートメント」オプションの<your-tenancy> (root)を選択します。このように、コンパートメントに加えて、テナンシ内の他のコンパートメントのルールをポリシーに含めることができます。

6. ノートブック・セッションの作成

最後に、ノートブック・セッションを作成し、パブリック・インターネットへのアクセスをテストします。

  1. ナビゲーション・メニューを開き、「分析とAI」を選択します。「機械学習」で、「データ・サイエンス」を選択します。
  2. 「プロジェクトの作成」を選択します。
  3. data-science-workコンパートメントを選択します。
  4. (オプション)「名前」「初期プロジェクト」と入力します。
  5. (オプション)「説明」my first projectと入力します。
  6. 「作成」を選択します。
  7. 「ノートブック・セッションの作成」を選択します。
  8. 「コンパートメント」で、「data-science-work」を選択します。
  9. (オプション)「名前」my-first-notebook-sessionと入力します。
  10. 「コンピュート・シェイプ」で、「選択」をクリックします。
  11. 次のオプションを選択します。
    • インスタンス・タイプ:仮想マシン
    • シェイプ・シリーズ: Intel
    • シェイプ名: VM.Standard3。フレックス
  12. VM.Standard3の場合。Flexでは、デフォルトの割当てを保持します。
    • OCPU数: 1
    • メモリー量(GB): 16
  13. 「シェイプの選択」を選択します。
  14. 「ブロック・ストレージ・サイズ」に、仮想マシンにアタッチする100 GBを入力します。
  15. 「カスタム・ネットワーキング」を選択し、datascience-vcn VCNとプライベート・サブネット-datascience-vcnサブネットを選択して、ノートブック・セッションからエグレス・トラフィックを送信します。
    「カスタム・ネットワーキング」のかわりに、ネットワークを作成する「デフォルト・ネットワーキング」オプションを選択できます。デフォルトのネットワークでは、ステップ3をスキップできます。このチュートリアルのVCNとサブネットの作成に関する項。このチュートリアルでは、カスタム設定を持つユーザーのカスタム・ネットワーキングを示し、ステップを確認できます。
  16. 「作成」をクリックして詳細ページを表示を選択します。
  17. 「作成」を選択して、最初のノートブック・セッションを作成します。

    ノートブック・セッションの作成には数分かかります。ノートブック・セッションのステータスが「アクティブ」に変わったら、ノートブック・セッションを開くことができます。

  18. 「開く」を選択します。
  19. JupyterLab UIにアクセスするには、Oracle Cloud Infrastructureの資格証明を入力します。
  20. ランチャというタブがない場合は、「ファイル」「新規ランチャ」の順に選択します。
  21. ランチャの「その他」で、「ターミナル」アイコンを選択して新しいターミナル・セッションを開始します。
  22. 単純なテストを実行するには、次のコマンドを実行して、ノートブック・セッションからパブリック・インターネットにアクセスできることを確認します:

    次のようなレスポンスが表示されるはずです:

    (base) bash-4.2$ wget --spider https://www.oracle.com
    Spider mode enabled. Check if remote file exists.
    --<date>--  https://www.oracle.com/
    Resolving www.oracle.com (www.oracle.com)... 
    Connecting to www.oracle.com (www.oracle.com)... connected.
    HTTP request sent, awaiting response... 200 OK
    Length: unspecified [text/html]
    Remote file exists and could contain further links,
    but recursion is disabled -- not retrieving.

    HTTP request sent, awaiting response... 200 OKは、テストが成功したことを示し、ノートブック・セッションでパブリック・インターネットにアクセスできることを示します。