ノート:

サービス・ゲートウェイの使用

イントロダクション

典型的なOracle Cloud Infrastructureの顧客であれば、パブリックにアドレス可能なエンドポイントを持つOracle Cloud Infrastructure Object Storageサービスにアクセスする必要がある仮想クラウド・ネットワーク(VCN)内にリソースが存在する場合があります。これまでは、パブリック・サブネットまたはNATインスタンスを使用し、VCN内のインターネット・ゲートウェイを使用してサービスにアクセスできます。ただし、プライバシー、セキュリティー、または運用上の問題のために、これらのオプションを使用する必要がない場合もあります。

サービス・ゲートウェイは、次の機能を有効にすることで、前述の懸念事項を緩和します。

キー・ポイント

クロムまたはエッジをブラザーとして使用することをお薦めします。また、ブラウザのズームを80%に設定します。

ノート:スクリーンショットは実際のUIとは異なる場合があります。

前提条件

  1. Oracle Cloud Infrastructureアカウント資格証明(ユーザー、パスワード、テナントおよびコンパートメント)。

  2. OCIトレーニング

  3. OCIコンソールの理解

  4. ネットワーキングの概要

  5. コンパートメントの知識

  6. コンピュート・インスタンスへの接続

OCIコンソールにサインインして、オブジェクト・ストレージ・バケットとVCNを作成します

  1. クラウド・テナント名、ユーザー名およびパスワードを使用して、Oracle Cloud Infrastructureコンソールにサインインします。

  2. 「OCIサービス」メニューから、「オブジェクト・ストレージ」をクリックします。

    オブジェクト・ストレージ

  3. 左側のナビゲーション・ペインの「リスト・スコープ」でコンパートメントを選択します。

  4. 「バケットの作成」をクリックし、ダイアログ・ボックスに入力します:

    • バケット名:名前を指定します
    • ストレージ層:標準
    • 暗号化: ENCRYPT USING ORACLE-MANAGED KEYS
  5. 「バケットの作成」をクリックします。

  6. ツールバーの「Apps」アイコンをクリックし、「Git-Bash」を選択します。

    Git-Bash

    または、端末ウィンドウを開き、Gitコマンドを実行します。

  7. ディレクトリを「ダウンロード」フォルダに変更します。コマンドの入力:

    $ cd /c/Users/PhotonUser/Downloads/
    

    ディレクトリの変更コマンド

  8. サンプル・ファイルを作成します。コマンドの入力:

    touch samplefile
    

    「ダウンロード」フォルダに"samplefile"という名前のファイルを作成します。

  9. OCIコンソール・ウィンドウに切り替えて、バケット名をクリックします。

    ヒント: 「ウィンドウの切替え」をクリックすると、OCIコンソール・ウィンドウと他のアプリケーション(git-bashなど)を切り替えることができます。

    ウィンドウ・アイコンの切替え

  10. バケットの詳細ウィンドウが表示されます。「オブジェクトのアップロード」をクリックします。

    「オブジェクトのアップロード」ボタン

  11. 「オブジェクトのアップロード」をクリックします。ダイアログ・ボックスに入力します。

    • OBJECT NAME PREFIX:接頭辞を指定します(オプション)
    • あなたの会社からのCHOSEファイル: 「ファイルの選択」をクリックし、「サンプル・ファイル」が作成された場所を参照します。
  12. ファイルを選択し、ダイアログ・ボックスで「オブジェクトのアップロード」をクリックします。

    ファイルは「オブジェクト」の下に表示されます。

  13. 「OCIサービス」メニューから、「ネットワーキング」の下の「仮想クラウド・ネットワーク」をクリックします。

    「ネットワーキング」の下の画面左側のドロップダウン・メニューからコンパートメントを選択し、「VCNウィザードの起動」をクリックします。

    ノート:「コンパートメント」リストで正しいコンパートメントが選択されていることを確認します。

  14. 「インターネット接続性を持つVCN」をクリックし、「ワークフローの開始」をクリックします。

  15. ダイアログ・ボックスに入力し、「次へ」をクリックします。

    • VCN名:名前を指定します
    • COMPARTMENT:自分のコンパートメントが選択されていることを確認してください
    • VCN CIDR BLOCK: CIDRブロック(10.0.0.0/16)を指定します
    • PUBLIC SUBNET CIDR BLOCK: CIDRブロックを指定します(10.0.1.0/24)
    • プライベート・サブネットCIDRブロック: CIDRブロックを指定します(10.0.2.0/24)
  16. すべての情報を確認して、「作成」をクリックします。

    これにより、VCN、パブリック・サブネット、プライベート・サブネット、インターネット・ゲートウェイ(IG)、NATゲートウェイ(NAT)、サービス・ゲートウェイ(SG)の各コンポーネントを含むVCNが作成されます。

  17. VCNの詳細を表示するには、「仮想クラウド・ネットワークの表示」をクリックします。

  18. 「サブネットの作成」をクリックします。ダイアログ・ボックスに入力します。

    • 名前:名前を入力します
    • サブネット・タイプ:リージョン
    • CIDRブロック: 10.0.5.0/24と入力します
    • ルート表:デフォルト・ルート表を選択します

    ノート:本番デプロイメントでは、個別のルート表を作成することを強くお薦めします。

    • サブネット・アクセス:「プライベート・サブネット」を選択します
    • DHCPオプション:デフォルトを選択します
    • セキュリティ・リスト:「デフォルト・セキュリティ・リスト」を選択します

    ノート:本番デプロイメントでは、個別のセキュリティ・リストを作成することを強くお薦めします。

  19. その他のオプションはデフォルトのままにし、「サブネットの作成」をクリックします。

    サブネットの作成

SSHキーの作成、OCI CLIを事前インストールした2つのコンピュート・インスタンスの作成

  1. ツールバーの「Apps」アイコンをクリックし、「Git-Bash」を選択します。

    アプリケーション・アイコン

    または、端末ウィンドウを開き、Gitコマンドを実行します。

  2. コマンドの入力:

    ssh-keygen
    

    ヒント:「ウィンドウの切替え」アイコンをクリックして、OCIコンソール・ウィンドウ、git-bashセッションおよびその他のアプリケーション(メモ帳など)とスワップできます。

    アイコン・ウィンドウの切替え

  3. キーを保存するファイルの入力を求められたら、[Enter]を押して、キーを保存する「作成ディレクトリ」、「パスフレーズの入力」および「パスフレーズの入力」を再度入力します。

    パスフレーズ

  4. これで、公開鍵と秘密鍵が表示されます。

    /C/Users/ PhotonUser/.ssh/id_rsa (秘密キー)

    /C/Users/PhotonUser/.ssh/id_rsa.pub (公開キー)

    ノート: id_rsa.pubを使用してコンピュート・インスタンスを作成し、id_rsaを使用してSSHを介してコンピュート・インスタンスに接続します。

    ヒント:次のコマンドを入力します。

    cd /C/Users/PhotonUser/.ssh (No Spaces)
    

    次に:

    ls 
    
    

    2つのファイルが存在することを検証します。

  5. git-bashで、次のコマンドを入力します。

    cat /C/Users/PhotonUser/.ssh/id_rsa.pub
    

    キーを強調表示してコピーします。

    キー

  6. 「Apps」アイコンをクリックし、メモ帳を起動し、バックアップとしてメモ帳にキーを貼り付けます。

    メモ帳

  7. OCIコンソールに切り替えます。「OCIサービス」メニューから、「コンピュート」の下の「インスタンス」をクリックします。

  8. 「インスタンスの作成」をクリックします。ダイアログ・ボックスに入力します。

    • インスタンスの名前:名前を入力します

    • オペレーティング・システムまたはイメージ・ソースの選択: 「イメージ・ソースの変更」をクリックします。新しいウィンドウで、「Oracleイメージ」をクリックし、「Oracle Cloud Developer Image」を選択します。下にスクロールして契約に同意し、「イメージの選択」をクリックします。

      Oracleイメージ

    • 可用性ドメイン:可用性ドメインを選択します

    • インスタンス・タイプ:「仮想マシン」を選択します

    • インスタンス・シェイプ: VMシェイプを選択します

    「Configure Networking」の下

    • 仮想クラウド・ネットワーク・コンパートメント:コンパートメントを選択します

    • 仮想クラウド・ネットワーク: VCNを選択します

    • サブネット・コンパートメント:コンパートメントを選択します

    • サブネット: 「パブリック・サブネット」の下のパブリック・サブネットを選択します

    • ネットワーク・セキュリティ・グループを使用してトラフィックを制御:選択を解除したままにします

    • パブリックIPアドレスの割当て:このオプションを選択します

      パブリックIPアドレスの割当て

    • ブート・ボリューム:デフォルトのままにします

    • SSHキーの追加:「SSHキーの貼付け」を選択し、以前に保存した公開キーを貼り付けます。

  9. 作成」をクリックする。

  10. コンピュート・インスタンスのパブリックIPアドレスを書き留めます。

  11. 事前に概説されたステップに従って、2番目のコンピュート・インスタンスを作成します。「コンピュート」の下の「インスタンス」をクリックします。

  12. 「インスタンスの作成」をクリックします。ダイアログ・ボックスに入力します。

    • 名前:名前を入力します

    • Image Operating System: 「Change Image Source」をクリックします。新しいウィンドウで、「Oracleイメージ」をクリックし、「Oracle Cloud Developer Image」を選択します。下にスクロールして契約に同意し、「イメージの選択」をクリックします。

      イメージの選択

    • 可用性ドメイン:可用性ドメインを選択します

    • インスタンス・タイプ:「仮想マシン」を選択します

    • インスタンス・シェイプ: VMシェイプを選択します

    「Configure Networking」の下

    • 仮想クラウド・ネットワーク・コンパートメント:コンパートメントを選択します
    • 仮想クラウド・ネットワーク: VCNを選択します
    • サブネット・コンパートメント:コンパートメントを選択します
    • サブネット: 「プライベート・サブネット」の下のプライベート・サブネットを選択します
    • ネットワーク・セキュリティ・グループを使用してトラフィックを制御:選択を解除したままにします
    • ブート・ボリューム:デフォルトのままにします
    • SSHキーの追加:「SSHキーの貼付け」を選択し、以前に保存した公開キーを貼り付けます
  13. 作成」をクリックする。

    ノート:「サービス制限」エラーが表示された場合は、VM.Standard.E2.2またはVM.Standard2.2などの別のシェイプを選択します。

  14. インスタンスが実行状態になったら、「インスタンス名」をクリックし、そのプライベートIPアドレスをノートにとります。

    プライベートIPアドレス

  15. プライベート・インスタンスにSSH接続するには、SSHプロキシ・コマンドを使用します。このコマンドを使用すると、要塞ホストを介してプライベート・インスタンスにトンネリングできます。

    プライベートSSHキーを要塞ホスト(最初のコンピュート・インスタンス)などのパブリック・サーバーに格納することはお薦めしません。

  16. 最初のコンピュートのパブリックIPと2番目のコンピュートのプライベートIPの両方があることを確認します。git-bashウィンドウで、/C/Users/PhotonUser/.sshディレクトリにいることを確認します。コマンドの入力:

    bash 
    ssh -t -o ProxyCommand='ssh -i <SSH_Private_Key_Name> opc@<FIRST_COMPUTE_PUBLIC_IP> -W %h:%p %r' -i <SSH_Private_Key_Name> opc@<SECOND_COMPUTE_PRIVATE_IP>   
    

    SSHコマンド

  17. セキュリティ・プロンプトで「Yes」と入力します。

  18. oci CLIのインストール・バージョンを確認します。コマンドの入力:

    oci -v
    

    ノート:バージョンは2.4.2X以上である必要があります。

    OCI CLIバージョン

  19. 次に、OCI CLIを構成します。コマンドの入力:

    oci setup config
    
  20. デフォルトのディレクトリの場所を受け入れます。

    ユーザーOCIの場合は、OCIコンソール・ウィンドウに切り替えます。「Human」アイコンをクリックし、ユーザー名をクリックします。ユーザーの詳細ページで、「コピー」をクリックしてOCIDをコピーします。また、OCIコンソール・ウィンドウに表示されるように、リージョン名をノートにとります。SSHセッションでOCIDを貼り付けます。

    ユーザー詳細ページ

  21. ステップを繰り返して、テナンシOCIDを検索します(ヒューマン・アイコンに続いてテナンシ名をクリックします)。SSHセッションのテナンシOCIDをコンピュート・インスタンスに貼り付け、続けてリージョン名(us-ashburn-1、us-phoneix-1など)を指定します。

  22. 新しいRSAキー・ペアを生成しますか。、Yと回答します。残りの質問については、[Enter]を押してデフォルトを受け入れます。

    RSAキー・ペア・プロンプト

APIキーのアップロードと機能の検証

  1. oci setup configもAPIキーを生成しました。APIコールの認証のために、このAPIキーをOCIアカウントにアップロードする必要があります。SSHセッションに切り替えて、APIキーの内容を表示します。コマンドの入力:

    cat ~/.oci/oci_api_key_public.pem
    
  2. SSHセッションからコンテンツを強調表示してコピーします。OCIコンソールに切り替えて、「Human」アイコンに続けてユーザー名をクリックします。ユーザーの詳細ページで、「公開キーの追加」をクリックします。ダイヤル・ボックスで、公開キー・コンテンツを貼り付け、「追加」をクリックします。

    公開キー

    「公開キーの追加」ボタン

  3. 新しい指紋が生成されます。git-bashウィンドウに切り替えて、次のコマンドを入力します。

    cat /home/opc/.oci/config 
    

    構成ファイルの出力にある指紋をOCIコンソール・ウィンドウの指紋と比較し、一致していることを確認します。

    今度はオブジェクトをオブジェクト・ストレージにアップロードし、2番目のコンピュート・インスタンスからアクセスします。このダウンロードでは、コンピュート・インスタンスのパブリックIPが使用されます。

  4. OCIコンソール・ウィンドウに戻り、オブジェクト・ストレージ・バケットの詳細ページに移動します。名前空間とオブジェクト・ストレージ名を書き留めます。

    ネームスペース

  5. git-bashウィンドウ(2番目のコンピュート・インスタンスへのSSHセッション)に切り替えて、samplefileをダウンロードします。コマンドの入力:

    `bash oci os object get --namespace <NAME_SPACE> --bucket-name <BUCKET_NAME> --name samplefile --file ./
    

    ヒント:この例では、コマンドは次のようになります: oci os object get --namespace us_training --bucket-name Service-Gateway-Bucket --name samplefile --file ./samplefile

    OCI OSオブジェクト取得コマンド

  6. 出力が表示されず、ファイルはダウンロードされません。Ctrl+Cと入力してコマンドを終了します。コマンドの入力:

    ls
    

    サンプルファイルがダウンロードされていないことを確認します。

    2番目のコンピュート・インスタンスにはパブリックIPがないため、オブジェクト・ストレージにアクセスできません。次に、ルート表を初期化し、ファイルを再度ダウンロードします。

  7. OCIコンソールに切り替えます。「OCIサービス」メニューから、「ネットワーキング」の下の「仮想クラウド・ネットワーク」をクリックします。VCNを検索し、VCN名をクリックしてVCNの詳細を表示します。

  8. 「ルート表」をクリックし、<VCN_NAME>のデフォルト・ルート表」をクリックします。

    ルート表

  9. 「ルート・ルールの追加」をクリックします。ダイアログ・ボックスに入力します。

    • TARGET TYPE:サービス・ゲートウェイ
    • 宛先サービス: OCI IAD - ObjectStorage
    • COMPARTMENT:コンパートメントを選択します
    • TARGET SERVICE GATEWAY:以前に作成したサービス・ゲートウェイを選択します
  10. 「ルート・ルールの追加」をクリックします。新しいルート・エントリを作成する必要があります。

    ルート・ルールの追加

  11. VCNで、「セキュリティ・リスト」<VCN_NAME>のデフォルト・セキュリティ・リスト」の順にクリックします。「エグレス・ルールの追加」をクリックします。

  12. 次のエグレス・ルールを追加します。STATELESSフラグを未チェックのままにしてください。

    • DESTINATION TYPE:サービス
    • 宛先サービス: OCI IAD Object Storage
    • ソース・ポート範囲:すべて
    • 宛先ポート範囲: ALL

    接続先設定

  13. 「エグレス・ルールの追加」をクリックします。

  14. git-bashウィンドウ(2番目のコンピュート・インスタンスへのSSHを使用)に切り替えます。

  15. ダウンロード・コマンドを再入力します。

    bash oci os object get --namespace <NAME_SPACE> --bucket-name <BUCKET_NAME> --name samplefile --file ./
    

    OCI OSオブジェクト取得コマンド

サービス・ゲートウェイを使用すると、コンピュート・インスタンスはObject Storageに格納されたObjectにアクセスできました。これは、パブリック・インターネットではなくOCIのプライベート・バックボーン・ネットワークを使用して行われました。

リソースの削除

実際には、リソースの削除中に発生したエラーを特定する必要があります。

  1. OCIコンソール・ウィンドウに切り替えます。

  2. コンピュート・インスタンスが表示されない場合は、「OCIサービス」メニューから「コンピュート」の下の「インスタンス」をクリックします。

  3. コンピュート・インスタンスを見つけて、「アクション」アイコンをクリックし、「終了」をクリックします。

    設定の終了

  4. 「アタッチされたブート・ボリュームを完全に削除」が選択されていることを確認し、「インスタンスの終了」をクリックします。インスタンスが完全に終了するまで待機します。

    「インスタンスの終了」ボタン

  5. この手順を繰り返して、2番目のコンピュート・インスタンスを削除します。

  6. 「OCIサービス」メニューから、「ネットワーキング」の下の「仮想クラウド・ネットワーク」をクリックします。

    すべてのVCNのリストが表示されます。

  7. VCNを見つけて「アクション」アイコンをクリックし、「終了」をクリックします。確認ウィンドウで「すべて削除」をクリックします。VCNが削除されたら、「閉じる」をクリックします。

    VCNの終了

  8. 「OCIサービス」メニューから、OBject Storageに移動します。バケット名をクリックします。「オブジェクト」で、ファイルが表示されます。「アクション」アイコン(縦の3つのドット)をクリックし、「削除」をクリックしてオブジェクトを削除します。

  9. オブジェクトが削除されたら、「削除」をクリックしてバケットを削除します。

謝辞

その他の学習リソース

docs.oracle.com/learnの他のラボを調べるか、Oracle Learning YouTubeチャネルでさらに無料の学習コンテンツにアクセスします。さらに、education.oracle.com/learning-explorerにアクセスしてOracle Learning Explorerにします。

製品ドキュメントは、Oracleヘルプ・センターを参照してください。