見出し画像

AWSを駆使したクラウドデータサイエンティストになるための教科書:EC2インスタンス上のJupyter notebookでGoogle Drive等のファイルを扱う方法

セール中

〜2月3日 10:00

EC2インスタンスにJupyter notebookをインストールしつつ、参照先のルートフォルダを例えばGoogle Driveなどにすることで、これまで作成してきたPythonファイルやipynbファイルをそのままEC2インスタンスのスペックを使って分析することができますよね。
その場合、Google DriveをEC2インスタンスにマウントする必要があります。マウントしたドライブをJupyter Notebookの作業ディレクトリとして設定します。Google DriveをEC2インスタンスにマウントする方法にはいくつかの方法がありますが、Google Drive のファイルをマウントすることが目的であれば、rclone を使用する方がシンプルで、セットアップも速いです。
ファイルシステムとして利用する場合はgoogle-drive-ocamlfuse を設定する必要がありますが、Amazon-LinuxのようなRedhat系のLinux OSだと依存パッケージが直接インストールできないものがあり、設定手順が複雑になります(その場合UbuntuのようなDebian系のAMIのEC2インスタンスを使うほうが良いです)。

Rcloneとは?

rclone は、クラウドストレージサービスを効率的に管理するためのオープンソースのコマンドラインツールです。rcloneを用いることでファイルのコピー、移動、削除、同期、暗号化、マウントなど、多彩な操作をコマンドから行うことが可能になります。Google Drive、Dropbox、Amazon S3、Microsoft OneDrive など、50以上のクラウドストレージサービスをサポートしており、Windows、macOS、Linux、FreeBSD など、さまざまなプラットフォームで利用可能です。

インストール:
以下のコマンドで rclone をインストールします。その前に依存パッケージのインストールも行います。

sudo yum install -y fuse fuse3 fuse3-devel
curl https://rclone.org/install.sh | sudo bash

設定:Google Drive を設定します。対話型のプロンプトが表示されます。

  • 新しいリモートを作成し、Google Drive を選択します。

  • 指示に従って認証を完了させます。

rclone config

設定の途中でClient_idを聞かれます。なくても動作はしますが、自分のClient_idを作成して、設定することを強く推奨されています。以下がGoogle Drive用のClient_idを作成する方法です。

  1. Google API コンソールにログインする
    お使いの Google アカウントで Google API コンソール にログインします。
    ※アクセスしたい Google Drive のアカウントと同じである必要はありません。

  2. プロジェクトを選択または作成する
    既存のプロジェクトを選択するか、新しいプロジェクトを作成します。

  3. 「API とサービスを有効化」
    左側のメニューから「API とサービスを有効化」を選択し、「Drive」を検索します。
    次に「Google Drive API」を有効化します。

  4. 「認証情報」をクリック
    左側のパネルで「認証情報」をクリックします(「認証情報を作成」ではなく、「認証情報」のメニューを選択します)。
    ※「認証情報を作成」はウィザードを開くので間違えないように注意してください。

  • 既に「OAuth 同意画面」を設定済みの場合
    → この手順をスキップして次のステップに進んでください。
    まだ設定していない場合は、右側のパネル上部にある「CONFIGURE CONSENT SCREEN」(同意画面を設定)ボタンをクリックします。

  • 「ユーザータイプ」の選択
    「外部(External)」
    を選択し、「CREATE」(作成)をクリックします。
    ※ GSuite(Google Workspace)ユーザーの場合は「内部(Internal)」を選択することもできます。ただし、この場合は API 利用が組織内のユーザーに限定されます。

  • 「アプリケーション情報」の入力

  • 「アプリケーション名」 に「rclone」と入力します(他の名前でも可)。

  • 「ユーザーサポートメール」 に自身のメールアドレスを入力します

  • 「開発者の連絡先メール」 にも自身のメールアドレスを入力します。
    ※その他の項目はオプションなので入力しなくても構いません。

  • 入力が完了したら「Save」(保存)をクリックします。

  • スコープを追加する
    必要なスコープ(API 権限)を追加します。以下のスコープを含めることを推奨します:

https://www.googleapis.com/auth/docs
https://www.googleapis.com/auth/drive
https://www.googleapis.com/auth/drive.metadata.readonly
上記を一度に追加する場合は、以下のようにカンマ区切りで入力できます: https://www.googleapis.com/auth/docs,https://www.googleapis.com/auth/drive,https://www.googleapis.com/auth/drive.metadata.readonly

  • スコープを追加したら、「Save and continue」(保存して続行)をクリックします。

  • テストユーザーの追加

    1. テストユーザーに自身の Google アカウントを追加します。

    2. ユーザーを追加後、変更を保存します。

  • 認証情報の作成に戻る
    左側のメニューから「Credentials」(認証情報)をクリックし、認証情報画面に戻ります。

  • OAuth クライアント ID を作成する

    • 画面上部にある「+ CREATE CREDENTIALS」(認証情報を作成)ボタンをクリックし、リストから「OAuth クライアント ID」を選択します。

  • アプリケーションの種類として「デスクトップアプリ」を選択し、「Create」(作成)をクリックします。
    ※ 名前はデフォルトのままで問題ありません。

  • クライアント ID とクライアントシークレットを保存
    作成完了後、クライアント ID とクライアントシークレットが表示されます。これを控えておきます。

  • アプリの公開(外部ユーザーの場合)

    1. 「OAuth 同意画面」に戻り、「PUBLISH APP」(アプリを公開)ボタンをクリックして確定します。

    2. 必要に応じてテストユーザーに自身を追加します。

ここから先は

2,085字 / 4画像

セール中
¥300
¥ 100

1月4日 10:00 〜 2月3日 10:00

期間限定!Amazon Payで支払うと抽選で
Amazonギフトカード5,000円分が当たる

この記事が気に入ったらチップで応援してみませんか?