ノート:
- このチュートリアルではOracle Cloudへのアクセスが必要です。無料アカウントにサインアップするには、Oracle Cloud Infrastructure Free Tierの開始を参照してください。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習が完了したら、これらの値をクラウド環境に特有の値に置き換えます。
プライベート・コンピュート・インスタンスのNATゲートウェイの構成
イントロダクション
多くのOracle Cloud Infrastructureのお客様は、仮想クラウド・ネットワーク(VCN)内にコンピュート・インスタンスを持ち、プライバシ、セキュリティまたは運用上の懸念がプライベート・サブネットに接続されています。これらのリソースがソフトウェアの更新、CRLチェックなどのためにパブリック・インターネットにアクセスできるようにするには、顧客の唯一のオプションが、パブリック・サブネットにNATインスタンスを作成し、プライベート・サブネット内からルート・ターゲットとしてプライベートIPアドレスを使用してそのインスタンスを介してトラフィックをルーティングするようになりました。多くの企業がこのアプローチをうまく利用していますが、簡単に拡張できず、管理上の課題や運用上の課題も数多くあります。
NATゲートウェイによりこれらの課題に対処し、ネットワーク・セキュリティ・ニーズに対応するシンプルで直感的なツールをOracle Cloud Infrastructureのお客様に提供します。NATゲートウェイには次の機能があります。
-
拡張性と完全管理:プライベート・サブネット上のインスタンスは、パブリック・インターネットへの多数の接続を開始できます。インターネットから開始された接続はブロックされます。
-
セキュア: NATゲートウェイを介したトラフィックは、ボタンのクリックで無効にできます。
-
専用IPアドレス:各NATゲートウェイには、セキュリティ・ホワイトリストに確実に追加できる専用IPアドレスが割り当てられます。
OCIコンソールへのサインインおよびVCNの作成
ノート:手順のスクリーンショットは、実際のUIとは異なる場合があります。
-
テナント名、ユーザー名およびパスワードを使用してOracle Cloud Infrastructureコンソールにサインインします。
-
「OCIサービス」メニューから、「ネットワーキング」の下の「仮想クラウド・ネットワーク」をクリックし、適切なコンパートメントを選択します。「VCNウィザードの起動」をクリックします。
ノート: COMPARTMENTリストで正しいコンパートメントが選択されていることを確認します。
-
「インターネット接続性を持つVCN」をクリックし、「VCNウィザードの起動」をクリックします。
-
ダイアログ・ボックスに入力し、「次へ」をクリックします。
- VCN NAME:名前を指定します
- COMPARTMENT:コンパートメントが選択されていることを確認します
- VCN CIDR BLOCK: CIDRブロックの指定(10.0.0.0/16)
- PUBLIC SUBNET CIDR BLOCK: CIDRブロックの指定(10.0.1.0/24)
- PRIVATE SUBNET CIDR BLOCK: CIDRブロックの指定(10.0.2.0/24)
-
すべての情報を確認して、「作成」をクリックします。
これにより、次のコンポーネントを持つVCNが作成されます: VCN、パブリック・サブネット、プライベート・サブネット、インターネット・ゲートウェイ(IG)、 NATゲートウェイ(NAT)、サービス・ゲートウェイ(SG)。
-
VCNの詳細を表示するには、「仮想クラウド・ネットワークの表示」をクリックします。
コンピュート・インスタンスの作成および接続
-
鍵を格納するディレクトリにターミナル・ウィンドウを開き、次のOpenSSHコマンドを発行して、VMへのログインに使用できるSSH暗号化鍵を作成します。ここで、<my-key>は必要なキー名です。
ssh-keygen -t rsa -N "" -b 2048 -C <my-key> -f <my-key>
このコマンドは、鍵の生成に使用されるランダムなテキストアートを生成します。完了したら、次の2つのファイルが必要です。
- 秘密キー・ファイル: <my-key>
- 公開鍵ファイル: <my-key>.pub
これらのファイルを使用して、コンピュート・インスタンスに接続します。
-
OCIコンソールに移動します。「OCIサービス」メニューの「コンピュート」で、「インスタンス」をクリックします。
-
「インスタンスの作成」をクリックし、ダイアログ・ボックスに入力します:
- インスタンスの名前付け:名前を入力します
- オペレーティング・システムまたはイメージ・ソースの選択:イメージの場合は、使用可能な最新のOracle Linuxを使用することをお薦めします。
- 可用性ドメイン:可用性ドメインの選択
- インスタンス・タイプ:「仮想マシン」を選択します
- インスタンス・シェイプ: VMシェイプを選択します
「ネットワーキングの構成」で:
-
仮想クラウド・ネットワーク・コンパートメント:コンパートメントを選択します
-
仮想クラウド・ネットワーク: VCNを選択します
-
サブネット・コンパートメント:コンパートメントを選択します
-
サブネット: 「パブリック・サブネット」でパブリック・サブネットを選択します
-
ネットワーク・セキュリティ・グループを使用してトラフィックを制御:選択を解除したままにします
-
パブリックIPアドレスの割当て:このオプションを選択します
次の項目を入力します。
- ブート・ボリューム:デフォルトのままにします
- SSHキーの追加: 「SSHキーの貼付け」を選択し、以前に保存した公開キーを貼り付けます
-
「作成」をクリックします。
ノート:「サービス制限」エラーが表示された場合は、VM.Standard2.1、VM.Standard.E2.1、VM.Standard1.1、VM.Standard.B1.1とは異なるシェイプを選択するか、別のADを選択します。
-
インスタンスが実行中状態になるまで待機します。クラウド・シェル端末で、次のコマンドを入力します。
cd .ssh
-
lsと入力して、SSH鍵ファイルが存在することを確認します。
-
次のコマンドを入力します。
bash
ssh -i id_rsa opc@PUBLIC_IP_OF_COMPUTE
ヒント:「権限拒否エラー」が表示された場合は、SSHコマンドで
-i
を使用していることを確認してください。コマンドを入力する必要があります。SSHコマンドをコピーして貼り付けないでください。 -
セキュリティ・メッセージのプロンプトが表示されたら、
yes
と入力します。 -
プロンプトにopc@
<COMPUTE_INSTANCE_NAME>
が表示されることを確認します。
NATゲートウェイの構成
VCN内にルート表を作成します。
-
OCIコンソールに切り替えます。「OCIサービス」メニューから、「ネットワーキング」の下の「仮想クラウド・ネットワーク」をクリックします。VCNを検索し、VCN名をクリックしてVCNの詳細を表示します。
-
「NATゲートウェイ」をクリックします。
-
「ルート表」、「ルート表の作成」の順にクリックします。ダイアログ・ボックスに入力します。
- コンパートメントに作成:このフィールドのデフォルト値は現在のコンパートメントです。正しいコンパートメントが選択されていることを確認してください
- 名前:名前を入力します
+Additional「ルート・ルール」をクリックします
- ターゲット・タイプ: 「NATゲートウェイ」を選択します
- 宛先CIDRブロック: 0.0.0.0/0と入力します
- コンパートメント:正しいコンパートメントが選択されていることを確認します
- ターゲットNATゲートウェイ: VCNのNATゲートウェイを選択します
-
「ルート表の作成」をクリックします。
-
VCN名をクリックして、VCNの詳細を表示します。サブネットの作成をクリックします。ダイアログ・ボックスに入力します。
- 名前:名前を入力します
- サブネット・タイプ:地域
- CIDRブロック: CIDR (例: 10.0.5.0/24)
- ルート表:以前に作成されたルート表を選択します
ノート: デフォルト・ルート表を選択しないでください。これを行うには、このサブネット内のコンピュート・インスタンスのすべてのルーティングがNATゲートウェイを経由します。
- サブネット・アクセス:プライベート・サブネット
- DHCPオプション:デフォルトを選択します
- セキュリティ・リスト:以前に作成したセキュリティ・リストを選択します
-
その他のオプションはデフォルトのままにし、「サブネットの作成」をクリックします。
-
クラウド・シェル・ターミナルに移動し、SSH鍵ペアを生成します。次のコマンドを入力します。
ssh-keygen
-
Enter File in which to save the key
、Created Directory
、Enter passphrase
およびEnter Passphrase
を再度尋ねられたら、[Enter]を押します。 -
次のコマンドを入力します。
cd ~/.ssh
次に
ls
秘密キーと公開キーが必要です: /home/opc/.ssh/<sshkeyname> (秘密キー)と/home/opc/.ssh/<sshkeyname>.pub (公開キー)。
-
次のコマンドを入力します。
cat ~/.ssh/id_rsa.pub
公開キーの内容をメモ帳にコピーして貼り付けます。この公開キーを使用して、VCNのプライベート・サブネット内のコンピュート・インスタンスを起動します。
-
OCIコンソール・ウィンドウに切り替え、以前に実行した2つ目のコンピュート・インスタンスを起動します。選択したサブネットが、以前に作成したプライベート・サブネットであることを確認します。
-
インスタンスの実行後、(インスタンス名をクリックして)インスタンスの詳細ページからインスタンスのプライベートIPアドレスをメモします。
-
SSHセッションをパブリック・コンピュート・インスタンスに切り替える(最初に作成したコンピュート・インスタンス)次のコマンドを入力します。
cd ~/.ssh
then
bash
ssh –i id_rsa opc@Private_IP_OF_COMPUTE_INSTANCE
ノート:ユーザー名はopcです。
ヒント:「権限拒否エラー」が表示された場合は、SSHコマンドで
-i
を使用していることを確認してください。ノート:前に説明した2つ目のコンピュート・インスタンスのプライベートIPを使用します。
-
セキュリティ・メッセージのプロンプトが表示されたら、
Yes
と入力します。 -
プライベート・コンピュート・インスタンスで、次のコマンドを入力します。
ping 8.8.8.8
インターネット接続があることを確認します。
プライベート・サブネットのコンピュート・インスタンスにはインターネット・アクセスがあります。トラフィックは、VCNで作成およびアタッチしたNATゲートウェイを介してルーティングされるため、これが発生する可能性があります。次に、NATゲートウェイのトラフィック・トグル機能を使用して、1回のクリックでトラフィックをブロック/許可する。
-
OCIコンソール・ウィンドウに切り替えます。VCNの詳細ページで、「NATゲートウェイ」をクリックします。
-
「アクション」アイコンにカーソルを置き、「ブロック・トラフィック」を選択します。
-
SSHセッションにプライベート・コンピュート・インスタンスに切り替えて、コマンド
ping 8.8.8.8
を入力します(まだ実行されていない場合)。レスポンスがないことを確認します。 -
OCIコンソール・ウィンドウに戻り、前述のステップを使用して「トラフィックの許可」を選択します。SSHセッションに戻り、
ping
レスポンスを受信していることを確認します。
リソースの削除
-
OCIコンソール・ウィンドウに切り替えます。
-
コンピュート・インスタンスが表示されない場合は、OCIサービス・メニューから「コンピュート」の下の「インスタンス」をクリックします。
-
コンピュート・インスタンスを探し、「アクション」アイコンをクリックし、「終了」をクリックします。
-
「アタッチされたブート・ボリュームを完全に削除」が選択されていることを確認し、「インスタンスの終了」をクリックします。インスタンスが完全に終了するまで待ちます。
-
手順を繰り返して、2つ目のコンピュート・インスタンスを削除します。
-
OCIサービス・メニューから、「ネットワーキング」の下の「仮想クラウド・ネットワーク」をクリックします。すべてのVCNのリストが表示されます。
-
VCNを探し、「アクション」アイコンをクリックし、「終了」をクリックします。確認ウィンドウで「すべて終了」をクリックします。VCNの削除後、「閉じる」をクリックします。
謝辞
- 原本著者 - Flavio Pereira、Larry Beausoleil
- コントリビュータ - Kamryn Vinson (QAインターン)、Yaisah Granillo (クラウド・ソリューション・エンジニア)
その他の学習リソース
docs.oracle.com/learnのその他のラボを確認するか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracleラーニング・エクスプローラになることもできます。
製品ドキュメントは、Oracleヘルプ・センターを参照してください。
Configure NAT gateway for private compute instances
F49957-01
November 2021
Copyright © 2021, Oracle and/or its affiliates.