ノート:
- このチュートリアルは、Oracle提供の無料ラボ環境で使用できます。
- Oracle Cloud Infrastructureの資格証明、テナンシおよびコンパートメントの値の例を使用します。演習が完了したら、これらの値をクラウド環境に特有の値に置き換えます。
コンピュート・インスタンスでのWebサーバーの作成
イントロダクション
Oracle Cloud Infrastructure Computeでは、インスタンスと呼ばれるコンピュート・ホストをプロビジョニングおよび管理できます。コンピュートおよびアプリケーションの要件に応じてインスタンスを起動できます。インスタンスを起動したら、コンピュータからインスタンスに安全にアクセスし、再起動、ボリュームのアタッチやデタッチを行い、完了時にはインスタンスを終了できます。インスタンスのローカル・ドライブに対して行った変更内容は、インスタンスを終了すると失われます。インスタンスにアタッチされたボリュームに保存された変更内容は保持されます。
前提条件
-
Oracle Cloud Infrastructure Computeインスタンスの操作の詳細は、「コンピュート・インスタンスのベスト・プラクティス」を参照してください。
-
このチュートリアルでは、Oracle Cloud InfrastructureでのSSHキーの生成方法を知っていることを前提としています。SSHキーは役に立たないでください。
コンピュート・インスタンスでのWebサーバーの作成
Oracle Cloud Infrastructureには、ベア・メタル・インスタンスと仮想マシン・インスタンスの両方が用意されています:
- Bare Metal -ベア・メタル・コンピュート・インスタンスによって、最高のパフォーマンスと強力な分離を備えた専用の物理サーバーにアクセスできます。
- 仮想マシン -仮想マシン(VM)は、物理ベア・メタル・ハードウェア上で稼働する独立コンピューティング環境です。仮想化によって、相互に分離された複数のVMを実行できるようになります。VMは、物理マシン全体のパフォーマンスおよびリソース(CPU、メモリー、ネットワーク帯域幅、ストレージ)を必要としないアプリケーションの実行に適しています。
Oracle Cloud Infrastructure VMコンピュート・インスタンスは、ベアメタル・インスタンスと同じハードウェアで実行され、同じクラウド最適化ハードウェア、ファームウェア、ソフトウェア・スタックおよびネットワーク・インフラストラクチャを活用します。
-
「コンピュート」タブに移動し、「インスタンスの作成」をクリックします。この演習のためにVMインスタンスを起動します。
-
コンピュート・インスタンスの作成ウィザードが起動します。サーバー名を Web-Serverに設定します。「シェイプ、ネットワーキング、ストレージ・オプションの表示」リンクをクリックして、ページのその領域を展開します。
-
既定値のほとんどは、この目的に適しています。ただし、ページの「ネットワーキングの構成」領域まで下にスクロールし、「パブリックIPアドレスの割当て」オプションを選択する必要があります。
ノート:この演習の後半で実行中のインスタンスにSSH接続できるように、パブリックIPアドレスが必要です。
-
ページのSSH領域までスクロール・ダウンします。前に作成したSSHキーを選択します。「作成」ボタンをクリックしてインスタンスを作成します。
インスタンスの起動は簡単で直感的であり、選択するオプションはほとんどありません。コンピュート・インスタンスのプロビジョニングは1分未満で完了し、インスタンスの状態はプロビジョニングから実行に変わります。
-
インスタンスの状態が「実行中」に変わったら、インスタンスのパブリックIPアドレスにSSHできます。
インスタンスに接続し、Apache HTTPサーバーをインストールします
-
インスタンスに接続するには、MACを使用している場合は
Terminal
、Windowsを使用している場合はGitbash
を使用できます。端末またはgitbashで次のコマンドを入力します。注意: Oracle Linux VMの場合、デフォルトのユーザー名はopcです。
ssh opc@<public_ip_address>
SSHキーのパスが異なる場合は、次のように入力します。
ssh -i <path_to_private_ssh_key> opc@<public_ip_address>
-
この演習では、Apache HTTP Webサーバーをインストールして、パブリック・インターネットを介して接続しようとします。LinuxインスタンスにSSHで接続し、次のコマンドを実行します。
ノート: Apache HTTP Serverは、Apache Software Foundationによって開発されたオープン・ソースWebサーバーです。ApacheサーバーはWebコンテンツをホストし、Chromeや FirefoxなどのWebブラウザからこのコンテンツの要求に応答します。
-
Apache httpのインストール
sudo yum install httpd -y
-
apacheサーバーを起動して、システムの再起動後に開始するように構成します。
sudo apachectl start sudo systemctl enable httpd
-
apache構成に対してクイック・チェックを実行します。
sudo apachectl configtest
-
ファイアウォール・ルールを作成して、HTTPサーバーがリスニングするポートへのアクセスを許可します。
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --reload
Webサーバーの索引ファイルの作成
sudo bash -c 'echo This is my Web-Server running on Oracle Cloud Infrastructure >> /var/www/html/index.html'
-
-
ブラウザを開き、
http://Public-IPAddress
(Linux VMのIPアドレス)に移動します。ノート:ポート80はセキュリティ・リストにオープンされていないため、ブラウザは何も返しません。
-
メニューを使用して、「仮想クラウド・ネットワーク」をクリックし、この演習用に作成したVCNをクリックします。
-
次に、VCNの左側のナビゲーション・バーで「セキュリティ・リスト」をクリックします。
-
「デフォルト・セキュリティ・リスト」をクリックします。
-
ここで、ポート80を開く必要があります。「+別のイングレス・ルール」をクリックし、次に示すように次の値を追加します。
- ソース・タイプ: CIDR
- ソースCIDR: 0.0.0.0/0
- IPプロトコル: TCP
- ソース・ポート範囲:すべて
- 宛先ポート範囲: 80
- 下部の「イングレス・ルールの追加」をクリックします。
-
ブラウザで
http://<public_ip_address>
(Linux VMのIPアドレス)に移動します。これで、前述のWebサーバーの索引ページが表示されます。
トラブルシューティング
ブラウザでWebサーバーを表示できない場合は、次のシナリオが考えられます。
-
VCNセキュリティ・リストがトラフィックをブロックしています。ポート80のイングレス・ルールについてはVCNセキュリティ・リストを確認してください
-
linuxインスタンスのファイアウォールがトラフィックをブロックしています
-
これは、パブリック・ゾーンの一部としてhttpサービスを表示します
# sudo firewall-cmd --zone=public --list-services
-
httpdサービスがポート80でリスニングしている必要があり、別のポートである場合は、VCN SLでそのポートを開きます
# sudo netstat -tulnp | grep httpd
-
-
会社のVPNがトラフィックをブロックしています
謝辞
-
原本著者 - Flavio Pereira、Larry Beausoleil
-
コントリビュータ - Oracle LiveLabs QAチーム(Kamryn Vinson、QA Intern、アラベラ・ヤオ、Product Manager Intern、DB Product Management)
その他の学習リソース
docs.oracle.com/learnのその他のラボを確認するか、Oracle Learning YouTubeチャネルでより無料の学習コンテンツにアクセスします。また、education.oracle.com/learning-explorerにアクセスしてOracleラーニング・エクスプローラになることもできます。
製品ドキュメントは、Oracleヘルプ・センターを参照してください。
Create a web server on a compute instance
F49370-01
October 2021
Copyright © 2021, Oracle and/or its affiliates.