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

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

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

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

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. 新しいグループにdata-scientistsという名前を付け、説明を入力します。
  7. 「作成」をクリックします。
  8. 「ユーザーをグループに追加」をクリックします。
  9. 追加するユーザーを選択し、「追加」をクリックします。
  10. データ・サイエンティスト・グループへのすべてのデータ・サイエンティスト・ユーザーの追加を繰り返します。

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

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

  1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「コンパートメント」をクリックします。
  2. 「コンパートメントの作成」をクリックします。
  3. 新規コンパートメントのdata-science-workに名前を付け、説明を入力します。
  4. 「コンパートメントの作成」をクリックします。
  5. コンパートメントがコンパートメント・リストに表示されることを確認します。

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

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

重要

ノートブックが提供するデフォルトのネットワークは、ノートブックでのみ使用されます。デフォルト・ネットワーク・オプションでは、ネットワークの作成と、サブネットおよびゲートウェイの設定をスキップできます。このステップをスキップしてデフォルト・ネットワークを使用する場合は、ノートブックの指定されたデフォルト・ネットワークに、別の目的でアクセス、変更または使用できません。

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

  1. ナビゲーション・メニューを開いて「ネットワーキング」をクリックし、「仮想クラウド・ネットワーク」をクリックします。
  2. 「VCNウィザードの起動」をクリックします。
  3. 「インターネット接続性を持つVCNの作成」を選択し、「VCNウィザードの起動」をクリックします。
  4. 「VCN名」datascience-vcnと入力します。
  5. data-science-workコンパートメントを選択します。このコンパートメントは、このセクションで作成したVCNをホストします。この新規コンパートメントがコンパートメント・リストに表示されるので、ページが表示されるまでリフレッシュします。
  6. 「VCNおよびサブネットの構成」で、デフォルトを保持します:
    • VCN CIDRブロック: 10.0.0.0/16
    • パブリック・サブネットCIDRブロック: 10.0.0.0/24
    • プライベート・サブネットCIDRブロック: 10.0.1.0/24
    • このVCNでDNSホスト名を使用:選択した
  7. 「次」をクリックします。
  8. VCN構成を確認します。
  9. 「作成」をクリックして、VCNおよびパブリックおよびプライベート・サブネット、インターネット・ゲートウェイ、NATゲートウェイ、サービス・ゲートウェイなどの関連リソースを作成します。

    このVCNおよびそのプライベート・サブネットであるPrivate Subnet-datascience-vcnは、ノートブック・セッションを作成する場合に使用します。

  10. VCNおよびサブネットを確認するには、「仮想クラウド・ネットワークの表示」をクリックします。
ノート

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

4. ポリシーの作成

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

  1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」をクリックします。「アイデンティティ」で、「ポリシー」をクリックします。
  2. 「ポリシーの作成」をクリックします。
  3. 名前data-science-policyを入力します。
  4. 「説明」データ・サイエンス・ユーザーおよびサービスのポリシーと入力します。
  5. data-science-workコンパートメントを選択します。
  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 buckets 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. 「動的グループの作成」をクリックします。
  7. 次を入力します:
    • 名前: data-science-dynamic-group
    • 説明: データ・サイエンス動的グループ
  8. 「一致ルール」セクションで、「下で定義したいずれかのルールに一致」をクリックします。
  9. 次の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のメンバーであることを意味します。

  10. 「作成」をクリックします。

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

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

    テナンシを使用しない場合、ポリシーの作成は失敗します。
  16. 「手動エディタの表示」をクリックします。
  17. 「ポリシー・ビルダー」フィールドに、次のポリシー・ステートメントを入力します:
    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
  18. 「作成」をクリックして、ポリシーを作成します。

この動的グループを使用して、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. (オプション)「名前」Initial Projectと入力します。
  5. (オプション)「説明」my first projectと入力します。
  6. 「作成」をクリックします。
  7. 「ノートブック・セッションの作成」をクリックします。
  8. 「コンパートメント」で、「data-science-work」を選択します。
  9. (オプション)「名前」my-first-notebook-sessionと入力します。
  10. 「コンピュート・シェイプ」で、「選択」をクリックします。
  11. 次のオプションを選択します。
    • インスタンス・タイプ:仮想マシン
    • シェイプ・シリーズ: Intel
    • シェイプ名: VM.Standard3。フレックス
  12. VM.Standard3の場合。フレックス。デフォルトの割当てを保持します。
    • OCPU数: 1
    • メモリー量(GB): 16
  13. 「シェイプの選択」をクリックします。
  14. 「ブロック・ストレージ・サイズ」に、仮想マシンにアタッチする100 GBを入力します。
  15. 「カスタム・ネットワーキング」をクリックし、「datascience-VCN」VCNと「Private Subnet-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は、テストが成功したことを示し、ノートブック・セッションでパブリック・インターネットにアクセスできることを示します。