SSHトンネルを通してのDatabase Cloud Service (DBaaS)インスタンスへの接続

概要

目的

このチュートリアルでは、SSHトンネリングを使用してOracle Database Cloud Service - Database as a Service (DBaaS)アカウントでデータベース・インスタンスに接続する方法について説明します。

所要時間

約30分。

概要

DBaaSインスタンスが作成されると、インスタンスへのネットワーク・アクセスは、ポート22上のセキュア・シェル(SSH)接続に限定されます。このアクセス制約により、デフォルトでインスタンスが確実にセキュアになります。クラウド・サービス管理者にポートを開くことを依頼できます。または、このチュートリアルで学習するように、SSHクライアント・ソフトウェアを使用してSSHトンネルを作成し、データベースおよびそのツールに安全に接続することもできます。Linuxプラットフォーム上のSSHユーティリティ、およびWindowsプラットフォーム上のPuTTYユーティリティを含む、複数のSSHクライアントを無料で利用できます。

非ブロックまたはトンネル

Oracle Database Cloud Service (Database as a Service)内のデータベース・インスタンスおよびそのツールへの接続の詳細は、ドキュメント『Oracle Database Cloud Service (Database as a Service)の使用』を参照してください。

注意: このチュートリアルでは、Oracle Database Cloud Service (Database Schema)内のデータベース・スキーマへの接続については説明しません。そのクラウド・サービスについては、ドキュメント『Oracle Database Cloud Serviceの使用 (Database Schema)』を参照してください。

シナリオ

このチュートリアルでは、Windows上のPuTTYユーティリティを使用して、VM上でホストされているDatabase Cloud ServiceインスタンスまでSSH接続を介してトンネル接続します。この接続が確立されたら、ローカルPCを使用してDBaaSデータベースおよびそのツール上で作業を行うことができるようになります。このチュートリアルでは、ポート転送を使用して、ローカルPCのブラウザからDBaaSデータベース・インスタンス内のEnterprise Manager Expressツールに接続します。

このチュートリアルを実行する前に必要なSSH接続の手順:

  1. DBaaSデータベースが作成される前に、あなたまたは同僚が、おそらくPuTTYキー・ジェネレータを使用してSSH秘密鍵とSSH公開鍵のペアを生成しました。

注意: Windows上でSSHクライアント・ツールとしてPuTTYを使用する予定の場合、PuTTYキー・ジェネレータ(PuTTYgen)ユーティリティを使用して秘密鍵を生成することにより、PuTTY対応バージョンの秘密鍵を作成する必要があります。

PuTTYキー・ジェネレータ

注意: SSH秘密鍵/公開鍵のペアの生成の詳細は、ドキュメント『Oracle Database Cloud Service (Database as a Service)の使用』セキュア・シェル(SSH)秘密鍵/公開鍵のペアの生成に関する項を参照してください。

  1. データベース・インスタンスの作成時に公開鍵が指定されました。この公開鍵のコピーが、データベースをホストしているVMに格納されました。
インスタンスの作成時に使用された公開鍵

注意: データベースの作成の詳細は、ドキュメント『Oracle Database Cloud Service (Database as a Service)の使用』Database Cloud Service (DBaaS)インスタンスの作成に関する項を参照してください。

このチュートリアルで実行するSSH鍵認証の手順:

データベースをホストしているVMへのSSH接続をPuTTYで定義する場合、ローカルPCに格納されている秘密鍵のコンポーネントを指定します。PuTTY接続を開始すると、秘密鍵が、VMに格納されている対応する公開鍵と比較されます。秘密鍵と公開鍵が有効な鍵のペアとして一致すると、接続が許可されます。

鍵ベースの認証

ソフトウェア要件

  • Windows用のPuTTY SSHクライアント
  • 次の表にリストされているサポート対象のブラウザの1つが必要です。
     ブラウザ  バージョン
     Microsoft Internet Explorer  9または10; ブラウザ・モードをIE9またはIE10に設定
     Mozilla Firefox  24以上
     Google Chrome  29以上
     Apple Safari  6

注意: このリリースではモバイル・ブラウザをサポートしていません。

前提条件

このチュートリアルを始める前に次の用意をする必要があります。

  • トライアルをすでに入手およびアクティブ化しているか、Oracle Database Cloud Service (DBaaS)のサブスクリプションに対して支払済であること。
  • ローカル・コンピュータ上で秘密鍵ファイルのコピーとともにセキュア・シェル(SSH)秘密鍵/公開鍵のペアが生成されていること。SSH公開鍵は、データベース・インスタンスの作成時に指定されています。SSH秘密鍵/公開鍵のペアの生成の詳細は、ドキュメント『Oracle Database Cloud Service (Database as a Service)の使用』セキュア・シェル(SSH)秘密鍵/公開鍵のペアの生成に関する項を参照してください。
  • データベース・インスタンスがすでに作成されていること。データベースの作成の詳細は、ドキュメント『Oracle Database Cloud Service (Database as a Service)の使用』Database Cloud Service (DBaaS)インスタンスの作成に関する項を参照してください。
  • データベース・インスタンスの作成時に指定された管理パスワードが付与されていること。このチュートリアルでは、Enterprise Manager Expressにログインするためにこのパスワードが必要です。

データベース・インスタンスの接続の詳細の検索

PuTTYプログラムを使用してデータベースに接続する前に、IPアドレスを探す必要があります(SQL Developerなどのツールを使用してデータベースに接続する場合は、データベースのSIDも必要です)。
  1. Oracle Cloudアカウント管理者から提供された資格証明を使用してOracle Database Cloud Service (DBaaS)コンソールにログインします。

    • 管理者からは、マイ・サービス・コンソールへのリンクが提供される場合があります。ここから、Oracle Database Cloud Service (DBaaS)を選択できます。
    • または、管理者から、Oracle Database Cloud Service (DBaaS)コンソールへの直接リンクが提供される場合もあります。  

    データベース・コンソール
  2. 接続するデータベースの名前をクリックします。

    データベース名をクリック
  3. IPアドレスおよびSID名をメモします。(このチュートリアルの場合のようにEnterprise Managerを使用してデータベースに接続する場合、SIDは必要ありません。しかし、SQL Developerなどのツールを使用してデータベースに接続する場合、SID名が必要になります。)

    接続情報

PuTTY接続の定義


前の手順でメモした接続情報を使用して、データベースへのPuTTY接続を定義します。
  1. ローカルWindows PCでPuTTYユーティリティを開きます。最初のダイアログで、メモしたIPアドレスを「Host Name」フィールドに入力します。接続タイプとして、「SSH」を選択します。

    PuTTYのIPおよびSSH
  2. 「Connection」カテゴリで、「Data」を選択します。「Auto-login username」では、oracleを指定します。

    「Data」を選択、oracleを指定

    注意: 大部分の操作は、ユーザーoracleとして接続して実行します。このユーザーはVMへのrootアクセス権を持っていません。このチュートリアルの対象ではないバックアップ操作やリストア操作を実行する場合など、rootアクセス権が必要な場合は、自動ログイン名としてopcユーザーを指定します。opcユーザーは、sudoコマンドを使用して、VMへのrootアクセス権を得ることができます。

  3. 「Connection」カテゴリで、「SSH」を選択します。「Protocol Options」の下で、ボックス「Don't start a shell or command at all」を選択します。(これにより、PuTTY接続時にPuTTYコマンドライン・シェルをバイパスし、ポート転送を使用してEnterprise Manager Expressのログイン画面に直接アクセスできるようになります。)

    シェルまたはコマンドを起動しない

  4. 「Connection」カテゴリで、「SSH」を展開し、「Auth」を選択します。「Browse」をクリックし、ローカルPCで生成および格納したSSH秘密鍵ファイルを選択します。

    「Browse」をクリックして鍵を選択

    秘密鍵ファイルを選択

    注意: このチュートリアルでは、Windows上でSSHクライアント・ツールとしてPuTTYを使用する方法を示します。PuTTY互換バージョンの秘密鍵(.ppkファイル拡張子を必要とするもの)を作成するには、PuTTYキー・ジェネレータ(PuTTYgen)ユーティリティを使用して秘密鍵を生成します。
  5. 「Tunnels」を選択します。
    1. ソース・ポートについては、ローカルPC上で使用可能なポートを指定します。このPuTTY接続定義を識別する際は便宜上、転送先の宛先ポートと同じポート番号を使用することをお薦めします。このチュートリアルでは、「Source port」には「5500」を指定します。なぜなら、ポートの転送先はEnterprise Manager Expressであり、DBaaS VM上のこのポートは5500であるからです。
    2. ターゲット・ポートについては、クラウドVM用としてメモしたIPアドレスを指定し、これに「:5500」を追加します。

    「Tunnels」のソースおよびターゲットのポート転送
  6. 「Add」をクリックします。「Forwarded ports」フィールドに移入されます。次のスクリーンショットでは、ローカル・ポート5500が、IPアドレスが129.152.145.60であるクラウド・データベースVM上の宛先ポート5500に転送されています。
    実際のIPアドレスはこの例とは異なります。

    ポート転送のために「Add」をクリック

  7. スクロールしてダイアログの左側の「Category」パネルに戻り、「Session」をクリックします。「Saved Sessions」フィールドで、このPuTTY接続定義用の名前(「Connect to EM Express」など)を入力し、「Save」をクリックします。

    「Save」をクリック

クラウド・データベース・インスタンス用のEnterprise Manager Expressへのアクセス

Database Cloud Service (DBaaS)データベース・インスタンス用としてSSHトンネルを介してEnterprise Manager Expressに接続するためにPuTTY定義を作成しました。ここで、この定義を開き、Enterprise Manager Expressに接続します。
  1. 「Open」をクリックします。

    「Open」をクリック

  2. これがVMへの初回の接続であるため、sshユーティリティにより公開鍵の確認を求められます。「Yes」をクリックします。

    SSHトンネルを開いたまま保持

  3. 「Don't start a shell or command at all」を指定したため、ポート転送が実行され、コマンドライン・プロンプトなしでウィンドウが表示されます。このPuTTYウィンドウを開いたままにし、ローカルPCからDatabase Cloud Serviceインスタンス内のEnterprise Manager ExpressへのSSHトンネリングを保持します。必要な場合、このウィンドウは最小化できます。

    SSHトンネルを開いたまま保持

Enterprise Manager Expressへのログイン

ポート5500へのSSHトンネルを作成しました。PuTTYセッションは開いたままにしながら、ここで、Enterprise Manager Expressにアクセスできます。

  1. ブラウザでURL https://localhost:5500/emを指定します。Enterprise Manager Expressのログイン・ページが表示された後、ユーザー名として「SYSTEM」を入力します。パスワードとして、データベース・インスタンスの作成時に指定された管理パスワードを入力します。次に、「Login」をクリックします。

    EM Expressにログイン

  2. ログインしたEM Express

    注意: Oracle SQL Developer 4.0.3以降など、一部のデータベース・アクセス製品には、SSHトンネル経由でデータベースに接続する機能があります。これらの製品を使用する場合、製品内でSSHトンネルを作成します。このチュートリアルの手順を使用する必要はありません。

概要

このチュートリアルでは、次の操作を学びました。

  • PuTTYユーティリティを使用して、SSHトンネルを介してDatabase Cloud Service (DBaaS)データベース・インスタンスに接続する
  • PuTTY接続でポート転送を指定して、ローカルPCのブラウザからDBaaSデータベース・インスタンス内のEnterprise Manager Expressに接続する

リソース

クレジット

  • 主要カリキュラム開発者: Rick Green
  • 他の貢献者: Mike Fitch、Ben Gelernter、Dom Lindars、Brian Spendolini

このOracle by Exampleチュートリアルを移動する際の留意点は次のとおりです。

トピック一覧:
トピックをクリックするとその項に移動します。
すべてのトピックを開く
このボタンをクリックすると各項の詳細が表示または非表示になります。デフォルトではすべてのトピックが縮小されます。
すべてのイメージを非表示:
このボタンをクリックするとスクリーンショットが表示または非表示になります。デフォルトではすべてのイメージが表示されます。
印刷:
このボタンをクリックするとコンテンツが印刷されます。現在、表示または非表示になっているコンテンツが印刷されます。

このチュートリアルで特定の項に移動する場合は、リストからトピックを選択します。