チュートリアル : Oracle Cloud Infrastructure アドバンスド - 予約IPを利用したパブリックIPアドレスの固定や他インスタンスへの付替え

Version 5
Visibility: Open to anyone

    目次に戻る : チュートリアル : Oracle Cloud Infrastructure を使ってみよう

     

    インスタンスを作成する - Oracle Cloud Infrastructureを使ってみよう(その3) では、「Assign public IP address」チェックをつけることで、インスタンスの終了(Terminate)時まで有効なパブリックIPアドレス (=エフェメラル・パブリックIP) を付与してインスタンスを作成しました。

    この項では、予め取得しておいた予約IPをインスタンスにアタッチすることで、パブリックIPをインスタンスに固定したり、他のインスタンスにパブリックIPを移動する方法について学びます。

     

    所要時間 : 約15分

     

    前提条件 :

    1. クラウドに仮想ネットワーク(VCN)を作る - Oracle Cloud Infrastructureを使ってみよう(その2) を通じて仮想クラウド・ネットワーク(VCN)の作成が完了していること
    2. インスタンスを作成する - Oracle Cloud Infrastructureを使ってみよう(その3) の内容を理解していること
    3. 2048bit 以上のRSA鍵ペアを作成していること (手元にない場合はこちら(作成中)を参考に予め鍵ペアを生成しておいてください)

     

    注意 : チュートリアル内の画面ショットについては Oracle Cloud Infrastructure の現在のコンソール画面と異なっている場合があります

     

     

     

    1. 予約IPの取得

     

     

     

    作業ステップ

    1. Oracle Cloud Infrastrcture のコンソールメニューから NetworkingPublic IPs を選択し、Create Reserved Public IP ボタンを押します
    2. 立ち上がってきた Create Reserver Public IP ウィンドウで以下の項目を入力し、Create Reserved Public IP ボタンを押します
      • COMPARTMENT - 予約IPを作成したいコンパートメントを選択 (今回は Tutorials を選択)
      • NAME - 好きな名前 (今回は TutorialReservedIP と入力)

        WS000315.JPG

    3. 作成された予約IPを確認します。
      Reserved Public IP 欄に表示されているIPアドレスが、今回予約されたパブリックIPアドレスですので、これをメモしておきます。(下記の例では 129.213.76.25 です)
      WS000317.JPG

     

     

    2. 新規インスタンスの作成

    新しくインスタンスを作成します。その際、パブリックIPアドレスのない状態で起動します。そうすることで、予約済のパブリックIPを後から紐付けることができるようになります。

     

    作業ステップ

    1. コンソールメニューから ComputeInstances を選択し、Create Instance ボタンを押します

    2. 立ち上がった Create Instance ウィンドウに以下の項目を入力し、Create Instance ボタンを押します
      • NAME - 任意 (今回は TutorialVM3として入力しています)
      • AVAILABILITY DOMAIN - 集合ハンズオン環境を利用している場合は、講師の指示に従って選択してください。その他の場合は任意のアベイラビリティ・ドメインを選択できます。
      • BOOT VOLUME - ORACLE-PROVIDED OS IMAGE を選択
      • IMAGE OPERATING SYSTEM - Oracle Linux 7.5 を選択
      • SHAPE TYPE - VIRTUAL MACHINE を選択
      • SHAPE - VM.Standard2.1 を選択
      • IMAGE VERSION - デフォルトの選択のまま(最新のイメージが選択されています)
      • CUSTOM BOOT VOLUME SIZE (IN GB) - チェックなし
      • SSH KEYS - Browse というボタンを押して、ローカルPCにある生成済みのキーペアのうち公開鍵を選択
      • VIRTUAL CLOUD NETWORK - 第2章で作成した仮想クラウド・ネットワークを選択 (今回は TutorialVCN を選択しています)
      • SUBNET - Public Subnets の中に表示されている任意のサブネットを選択 (今回は Public Subnet Bjxb:US-ASHBURN-AD-2 を選択しています)
      • ASSIGN PUBLIC IP ADDRESS - チェックをはずす

        WS000318.JPG

    3. 予約IPをインスタンスにアタッチ

    作成したインスタンスに、予約済みのパブリックIPアドレスをアタッチします。

     

    作業ステップ

    1. 作成されたインスタンスの名称のリンクをクリックし、インスタンスの詳細画面にナビゲートします
    2. 左下の Resources メニューから Attached VNICs をクリックします

    3. Attached VNICs フィールドに表示されている インスタンスと同じ名称の仮想NICのリンクをクリックし、仮想NICの詳細画面にナビゲートします

    4. IP Addresses フィールドに表示されているIPアドレスの右側にある ・・・ メニューをマウスオーバーし、Edit を選択します

    5. 立ち上がってきた Edit ウィンドウで、Public IP Address フィールドにある PUBLIC IP TYPE ラジオボックスを、NO PUBLIC IP から RESERVED PUBLIC IP に変更します
      WS000320.JPG

    6. 現れた RESERVED PUBLIC IP フィールドで、先程のステップ1で作成した予約IPを選択します
      WS000321.JPG

    7. Update ボタンをおします

    8. 画面が更新され、IP Addresses フィールドの Public IP Address 欄に、先程アタッチした予約IPがアサインされていることを確認します
      WS000322.JPG

     

    4. パブリックIPに対する外部からの(への)アクセス

     

    インスタンスの仮想NICにパブリックIPアドレスをアタッチすると、仮想NICにアサインされているプライマリのプライベートIPアドレス(今回の例では 10.0.2.2)と、アタッチしたグローバルIPアドレス(今回の例では 129.213.76.26)の間でNAT(Name Address Transfer)が構成されます。

    構成されるNATは、アウトバウンドのトラフィックにおいて送信元アドレスをVCN内部のプライベートIPアドレスからパブリックIPアドレスに変換(SNAT : 送信元NAT)する処理と、インバウンドのトラフィックにおいて宛先アドレスをパブリックIPアドレスからVCN内部のプライベートIPアドレスに変換(DNAT : 宛先NAT)する処理の両方を行う、いわいる双方向NATの構成になっています。

     

    この項では、アタッチした予約パブリックIPアドレス宛に外部からsshでアクセスを行い、またインスタンスから外部サービスにアクセスする際のIPアドレスを確認して、双方向NATが正しく機能していることを確認します。

     

     

    作業ステップ

    1. 任意のターミナルを起動し、sshで先程の手順でアタッチしたパブリックIPアドレス (今回の例では 129.213.76.26) にアクセスします

    2. 正常に構成できていれば、パブリックIPアドレスでsshログインが完了します

    3. ターミナルで以下のコマンドを発行し、仮想NICにアサインされているIPアドレスを確認します。

      ifconfig | grep inet

      OSの中からは、インタフェースに対してはプライベートIPアドレス(今回の例では 10.0.2.2)のみがアサインされており、アタッチしたパブリックIPアドレス(129.213.76.26)は見ることができないことがわかります。

    4. 次に、以下のコマンドを発行し、インターネットにアクセスした際の自分のIPアドレス(送信元アドレス)を確認します

      curl ifconfig.io

      送信元NAT(SNAT)が構成されているため、外部のサイトからは、送信元IPアドレスとしてはVCN内のプライベートIPアドレスではなく、アタッチしたパブリックIPアドレス(今回の例では129.213.76.26)が使われていることがわかります。


    5. 異なるアベイラビリティ・ドメインのインスタンスへのパブリックIPの付け替え

     

    インスタンスにアタッチした予約パブリックIPアドレスは、任意のタイミングでデタッチしたり、また別のインスタンスに再アタッチしたりすることができます。

    他のインスタンスにアタッチする際には、異なるサブネットや異なるアベイラビリティ・ドメインにあるインスタンスにもアタッチすることも可能です。

    この機能を利用することでクライアント側の設定を変えずにトラフィックを別のインスタンスに切り替えることができるようになります。

     

    この項では、別のアベイラビリティ・ドメインに新しくインスタンスを1つ作成し、予約パブリックIPアドレスをそちらに付け替える作業を行って、IPアドレスの付替えについて確認します。

     

    作業ステップ

    1. 2.新規インスタンスの作成 で実施した作業を参考に、別のアベイラビリティ・ドメインで新しくインスタンスを作成します。

    2. クライアントのPCからpingが通るようにセキュリティ・リストを設定します。
      コンソールメニューから Networking → Virtual Cloud Network を選択し、使用している仮想クラウド・ネットワーク(VCN)の名称のリンクをクリックして選択します。

    3. 左下の Resources メニューから Security Lists を選択し、Default Security List for XXX という名前のセキュリティ・リストの名称のリンクをクリックします。

    4. セキュリティ・リストの詳細画面が開くので、上部の Edit All Rules ボタンをクリックします

    5. 立ち上がってきた Edit Security List Rules ウィンドウで、以下を参考にインターネットからのICMPに対してAllで返答するIngressのステートフルルールを設定します
      • SOURCE TYPE - CIDR
      • SOUCRE CIDR - 0.0.0.0/0 (またはお手元のクライアント環境のグローバルIPアドレス)
      • IP PROTOCOL - ICMP
      • TYPE AND CODE - All と入力

        VCN作成時にテンプレートを利用している場合は、SOUCE TYPE、SOURCE CIDR、IP PROTOCOLが同じルール定義がすでにある場合があります。
        同じルールがある場合は、新たなルールを作らずに既存のルールを変更するようにしてください
        WS000326.JPG