Google Cloud Platform 仮想マシンに SCP/SFTP でアクセスする方法:WinSCP、FileZilla、CData SFTP ドライバー



Google Cloud Platform(GCP)でワークロードをデプロイする際、仮想マシン(VM)インスタンスとの間でファイルをやり取りする必要がよく発生します。SSH によるコマンドラインアクセスが標準的ですが、WinSCP、FileZilla、CData SFTP ドライバーなどのツールを使うと、セキュアなファイル転送や統合を効率化できます。

本記事では、GCP VM に SCP/SFTP で接続する方法を、一般的なクライアントと CData JDBC ドライバーを例に解説します。

前提条件

  • VM インスタンスが作成済みの GCP アカウント(例:リージョン:us-central1、マシンタイプ:n1-standard-1
  • OpenSSH が利用可能なローカル環境(ssh-keygen コマンド)
  • ファイル転送ツール(WinSCP、FileZilla、または CData SFTP ドライバー)のいずれか

ステップ 1. SSH キーを生成する

まず、ローカルマシンで RSA キーペアを生成します:

ssh-keygen

これにより、秘密鍵と公開鍵が作成されます。

ステップ 2. GCP に公開鍵を登録する

GCP コンソールで以下の手順を実行します:

  1. Compute Engine > メタデータに移動します。
  2. SSH 認証鍵タブを開きます。
  3. ステップ 1 で生成した公開鍵の内容を追加します。

これでキーが登録され、VM へのセキュアなアクセスが可能になります。

ステップ 3. SSH でアクセスをテストする

VM にアクセスできることを確認します:

ssh {VM インスタンスの IP アドレス} -i {キーファイル名}

成功すると、GCP VM へのターミナルアクセスが可能になります。

ステップ 4. ツール互換性のためにキーを変換する

一部のクライアントでは、特定のキー形式が必要です:

  • PuTTY/WinSCP:PuTTYgen を使って秘密鍵を .ppk 形式に変換します。
  • FileZilla:設定に応じて .ppk または .pem キーを使用します。
  • CData SFTP ドライバー:RSA(.pem)、PPK、または秘密鍵ファイルの直接使用に対応しています。

ステップ 5. WinSCP で接続する

  1. WinSCP を起動します。
  2. 新しいセッションを作成します:
    • 転送プロトコル:SCP
    • ホスト名:VM の外部 IP
    • ユーザ名:GCP のユーザー名
  3. 「設定」→「SSH」→「認証」で、秘密鍵ファイルに変換した .ppk を指定します。
  4. 保存して接続します。これで、ローカルマシンと VM 間でファイルの閲覧と転送が可能になります。

ステップ 6. FileZilla で接続する

  1. FileZilla を開きます。
  2. サイトマネージャーを起動し、新しいサイトを作成します。
  3. プロトコルとして SFTP を選択し、前述と同様にホストフィールドに接続先の IP アドレスを入力し、ポートに 22 を指定します。
  4. ログオンタイプ鍵ファイルに変更し、秘密鍵を生成したユーザーの ID と対象の秘密鍵を指定します。
  5. 「接続」をクリックして接続を確立します。
  6. 接続後、ドラッグ&ドロップでファイル転送を開始できます。

ステップ 7. CData SFTP ドライバー(JDBC)で接続する

CData SFTP ドライバーを使用すると、リモートファイルシステムに SQL ライクな操作が可能になります。

CData SFTP JDBC ドライバーの 30 日間無料トライアルをダウンロードしてください。

この例では、人気のデータベース管理ツール DBeaver を JDBC クライアントとして使用し、SFTP サーバーに接続します。

CData SFTP ドライバーをダウンロードしてセットアップした後、DBeaver を起動して接続を設定します。

DBeaver でドライバーと接続を設定する

以下の手順でドライバーの .jar ファイルを追加します:

  1. DBeaver アプリケーションを開き、「データベース」メニューから「ドライバーマネージャー」オプションを選択します。「新規」をクリックして「新規ドライバーの作成」フォームを開きます。
  2. 「ドライバ名」ボックスに、ドライバーのわかりやすい名前を入力します。
  3. .jar ファイルを追加するには、「ライブラリ」タブで「ファイルを追加」をクリックします。インストールディレクトリの lib サブフォルダにある cdata.jdbc.sftp.jar ファイルを選択します。(注:.lic ファイルは .jar ファイルと同じフォルダに配置する必要があります。
  4. クラスを見つけるをクリックし、リストから「cdata.jdbc.sftp.SFTPDriver」を選択します。
  5. 「URL テンプレート」フィールドに jdbc:cdata:sftp: と入力します。

データベース接続を作成する

CData SFTP ドライバーを使用して接続を設定します:

DBeaver で、先ほど登録した CData SFTP ドライバーをドライバーとして選択し、データベース URL を入力します。

データベース URL の入力パターンはいくつかあります。例えば:

  • RSA を使用する場合は、次のように指定します:jdbc:sftp:RemoteHost={GCP VM インスタンスの IP アドレス};Remote Port=22;SSH Client Cert={RSA 秘密鍵のファイルパス};SSHClientCertType=PUBLIC_KEY_FILE;User=UserName;SSH Auth Mode=PublicKey;
  • PPK ファイルまたは PEM ファイルを指定することもできます:jdbc:sftp:RemoteHost={GCP VM インスタンスの IP アドレス};Remote Port=22;SSH Client Cert={PPK ファイルのパス};SSHClientCertType=PPKFILE;User=sugim;SSH Auth Mode=PublicKey;
  • ポイントは「SSH Auth Mode」を Public Key に設定することです。User には、キーを作成したユーザー(ssh-keygen を実行したユーザー)を指定します。
  • 接続が完了すると、以下のようにルートフォルダがリスト表示され、テーブルのような形式でデータにアクセスできるようになります。 例えば、Home フォルダを見ると、以下のように対象ユーザーのフォルダが存在していることがわかります。

    このアプローチにより、BI ツール、ETL パイプライン、自動化スクリプトとのシームレスな統合が可能になります。

    まとめ

    WinSCPFileZilla などの GUI クライアントを好む場合でも、CData SFTP ドライバーの柔軟性を活用する場合でも、GCP VM インスタンスへの SCP/SFTP によるセキュアな接続は簡単に実現できます。

    データワークフローに SFTP ファイルアクセスを直接統合したい開発者やアナリストにとって、CData SFTP ドライバーには独自の利点があります。リモートファイルをクエリ可能なテーブルとして扱えるのです。

    ぜひお試しください

    CData では、SFTP ドライバーをはじめとする全製品の 30 日間無料トライアルを提供しています。クラウドプラットフォーム全体でファイルアクセスと統合を簡素化する方法をぜひお試しください。

    今すぐ CData SFTP ドライバーページにアクセスして始めましょう!