https://blogs.oracle.com/pshuff/entry/networking_differences_between_cloud_providers
このエントリでは、Apache Web ServerをLinuxサーバ上で使えるようにするというシンプルなタスクを、Oracle Cloud、Amazon AWS、Microsoft Azureで実行していきます。先週Oracle Cloudで実施したのですが、これを再度簡単に確認します。この手順を進めると、新規インスタンスの作成時に3つのクラウドベンダーそれぞれのやり方があり、異なる選択肢があることを目の当たりにすることでしょう。Linuxのバージョンは重要ではありません。クラウドのツール、インスタンスのデプロイ、保護にあたって必要なものに着目します。今回のゴールは以下に設定します。
- Linuxインスタンスをクラウドサービスにデプロイする
- 22/tcpを有効にしてデスクトップからLinuxインスタンスへの通信を可能にする
- 80/tcpを有効にして、パブリックなインターネットからLinuxインスタンスへの通信を可能にする
- その他のサービスは全て無効化する
- 最初はDHCPを使ってIPアドレスを割り当てるが、最後には静的IPアドレスを確認する
Step 1
Linuxインスタンスを小さなComputeサービスにデプロイします。最小のComputeシェイプを使ってお金を節約しましょう。メモリ割り当ても最小にしておきましょう。テスト用のWebサーバにそんなにメモリはいりません。デフォルトのネットワークインターフェースを使い、IPアドレスを割り当て、手順のスピードアップのため、最小のディスクを使うことにしましょう。Step 1a - Oracle Public Cloud
Computeコンソールで[インスタンスの作成]をクリックします。この操作で、オペレーティング・システム、コア数とメモリサイズを選択可能な画面に遷移します。インスタンスの設定に到達すると、セキュリティ・リストを使いネットワーク・セキュリティ・ルールを定義することができます。新しいセキュリティ・リストを作成することも、既存のセキュリティ・リストを選択することもできますが、22/tcpへの接続が許可されており、後ほどセキュリティリストを変更することができるので、デフォルトのセキュリティ・リストを選択しておきましょう。以前実施したように、セキュリティ・リストからWebServerエントリを選択することもできますが、今回はデフォルトを選択し、後ほど別のアクセスポイントを追加することにしましょう。確認画面に到達したら、インスタンスを作成できます。ネットワークに関する唯一の質問は、どのセキュリティリスト定義を使うのか、というものでした。Step 1b - Amazon AWS
AWSマネジメントコンソールでEC2をクリックし、インスタンスの作成をクリックします。Linux OSを選択し、構成を始めます。ネットワークやサブネットのメニューを使って、インスタンスをIPアドレス・レンジに入れることができます。これはOracle Cloudとは異なります。Oracle Cloudの場合、入れようとしているサーバに基づくプライベートIPアドレス・レンジに割り当てられます。これらは、単一サーバのためのプライベートIPアドレスなので、これは重要な問題ではありません。私たちは、デフォルトのまま受け入れ、複数の画面でポートを設定しようとしています。現在作成しているWebサーバに接続できるようにするため、DHCPパブリップIPアドレスを使用していきます。デフォルトのストレージを受け入れ、インスタンスとの接続のために開きたいポートを構成します。新たにセキュリティ・グループを定義することも、既存のセキュリティ・グループを受け入れることもできます。この例では、この時点で単純に追加し、この構成で先に進むためにHTTP(80/tcp)を追加します。事前定義済みの構成(80/tcpと22/tcpの許可)を使うこともできましたが、この例では新規のセキュリティ・グループを作成しています。その後、確認し、インスタンスを立ち上げます。
Step 1c - Microsoft Azure
Azureポータル(ダッシュボード)にアクセスし、Virtual Machines>[追加]をクリックすると、Marketplace画面に遷移します。検索フィールドにLinuxと入力して、どれか一つのLinux OSを選択します。Oracle Cloudの場合と同様にサブネットが割り当てられるので、80/tcpと22/tcpを使ったパブリック・インターネットからのアクセスを許可するファイアウォール・ルールを追加することができます。この定義が完了すると、確認し、インスタンスを立ち上げることができます。Step 2:
インスタンスにログインし、Apache HTTP Serverを追加します。これは以下のコマンドで簡単に実現できます。その後、Webサーバからの応答を確認できるように /var/www/index.html ファイルを編集します。yum install apache2
Step 3:
インスタンスのネットワーク・セキュリティ構成を確認し、80/tcpと22/tcpが開いていることを確認しましょう。Step 3a: Oracle Cloud
インスタンス作成時に22/tcpのみ開いているデフォルトネットワーク構成を使ったので、このタイミングで、パブリックインターネットからのインバウンドポートとして80/tcpを開く必要があります。これはComputeインスタンス・コンソールでWeb Serverインスタンスを表示して実施します。インスタンスを見ると、デフォルト・セキュリティ・リストがインスタスに関連付けられていることがわかります。80/tcp用にルールを定義する場合、[セキュリティ・リストの追加]をクリックして設定を追加するだけでよいのです。今回、ルールはまだ設定しておらず、ルールの設定が必要という前提にします。WebServerというセキュリティリストに、パブリック・インターネットからHTTPトラフィックを許可することを可能にする新しいルールを作成します。いったん戻って、新しいセキュリティ・リストをインスタンスに追加し、80/tcpと22/tcpを許可するWebServerを選択する必要があります。Step 3b and 3c: AWS and Azure
AWS、Azureともメニュー作成システムでポート定義の追加機能があるので、ここでは何もする必要はありません。事前定義済みのセキュリティ・リストを選択している場合、Step 3はどのサービスであっても必要ありません。ちゃんとできましたね。シンプルなネットワーク構成は3ベンダーにとっても単純です。重要な違いは、AmazonとMicrosoftは個々のポート定義をインスタンス作成時に定義できるというところです。Oracleの場合、各インスタンス用に一度に定義するのではなく、セキュリティ・ルールとセキュリティ・リストを使ってこの定義を実施する必要があります。どのプラットフォームであっても、ファイアウォール・ルールを事前に構成し、構成として追加することができます。この例では、通常はありえない最初の経験を想定していました。目立った違いは、Amazonの場合、サブネットの割り当てを選択できる、というところです。OracleとMicrosoftの場合、IPレンジを割り当てる選択肢はありません。3社とも静的パブリックIPアドレスのオプションがあります。試したところ、クラウドベンダー間でプロビジョニングやファイアウォール構成の管理において大きな差はありません。
0 件のコメント:
コメントを投稿