Database Support Blog

  • Oracle Cloud
2021.01.18

OCI上にWebサーバを作成してみよう!

OCI(Oracle Cloud Infrastructure)はコストメリットの面で非常に優れたクラウドサービスです。
Webサーバをインターネット上に公開する手順をとおして、OCIの基本的なサービスである仮想クラウドネットワーク(以下、VCN)と仮想マシン(以下、Compute)の設定方法を確認します。

本記事でやること

本記事では、OCI上にVCNを作成後、その中で起動させたComputeをWebサーバとして構成し、ブラウザからアクセスする手順をご紹介します。
基本的な設定をご自身で試してみることで、OCIの使用感を実際に体験してみてください。

ネットワーク設定

VCNの作成

OCIのコンソール上の操作で、VCNを作成します。

コンソール画面から「ネットワーキング」-「仮想クラウド・ネットワーク」の順に選択します。

「VCNの作成」を選択します。

必須記入項目に入力します。

[名前]
任意のVCN名を入力します。

[コンパートメントに作成]
任意のコンパートメントを選択します。

[CIDRブロック]
プライベートIPv4アドレス範囲(※)からCIDRブロックを指定します。

(※)以下の範囲
10.0.0.0 - 10.255.255.255 (10/8 プレフィックス)
172.16.0.0 - 172.31.255.255 (172.16/12 プレフィックス)
192.168.0.0 - 192.168.255.255 (192.168/16 プレフィックス)

参考:RFC 1918
http://www.faqs.org/rfcs/rfc1918.html

入力後、「VCNの作成」を選択します。

サブネットの設定

前の手順で作成したVCNの中にサブネットを作成します。

指定した名前のVCNが作成されます。
次に「サブネットの作成」を選択します。

必須記入項目に入力します。

[名前]
任意のサブネット名を指定します。
サブネットがパブリックなものかプライベートなものか判別できるものにすることを推奨します。

[CIDRブロック]
VCNで指定したCIDRブロックをさらに細分化するようなCIDRブロックを指定します。
例:
VCNのCIDRブロックを「10.0.0.0/16」とした場合、サブネットのCIDRブロックは「10.0.10.0/24」とする。

[サブネットアクセス]
サブネットのインスタンスに対してパブリックIP利用を許可するかを設定します。
本手順では、インスタンスに対してWebブラウザ経由でインターネットアクセスしたいため、「パブリックサブネット」を選択します。

入力後、「サブネットの作成」を選択します。

セキュリティリストの設定

許可したい通信をイングレス・ルールとして作成します。

今回は、デフォルトのセキュリティリストにWebアクセス用のルールを追加します。

ルートテーブルの設定

作成したサブネット内のインスタンスがインターネットを使用した通信を行うためには、サブネットのルートテーブルからインターネットゲートウェイに対してのルーティングを設定する必要があります。
VCN作成時点ではインターネットゲートウェイは存在しないため、本手順で作成してルーティングを行います。

■インターネットゲートウェイの作成
VCN管理画面のリソースから「インターネットゲートウェイ」を選択します。
画面遷移後、「インターネットゲートウェイの作成」を選択します。

名前を入力後、「インターネットゲートウェイの作成」を選択します。

■インターネットゲートウェイへのルーティングの追加
リソースから「ルート表」を選択し、画面遷移後にデフォルトで作成されている「Default Route Table for test-vcn」を選択します。

「ルート・ルールの作成」を選択します。

以下のとおり設定し、「ルート・ルールの追加」を選択します。

[ターゲット・タイプ]
インターネット・ゲートウェイ

[宛先CIDRブロック]
0.0.0.0/0

[ターゲット・インターネット・ゲートウェイ]
作成したインターネットゲートウェイを選択

Webサーバの構成

Computeの起動

ダッシュボードから「コンピュート」-「インスタンス」の順に選択します。

「インスタンスの作成」を選択します。

最低限以下の項目を設定後、「作成」を選択します。

[名前]
任意のインスタンス名を選択します。

[仮想クラウド・ネットワークの選択]
作成したVCNを選択します。

[サブネット]
作成したパブリックサブネットを選択します。

[SSHキーの追加]
新たにSSHキーを作成するか、既存のSSHキーの公開鍵をアップロードします。
新たにSSHキーを作成する場合、秘密キーと公開キーをそれぞれローカルに保存しておいてください。

インスタンスへのログイン

必要パッケージをインストールするため、端末からインスタンスにSSH接続します。

teratermなどの端末を起動し、インスタンスのパブリックIPアドレスを指定します。

ユーザ名に「opc」を入力、「Autentication methods」で「RSA/DSA/ECDSA/ED2551鍵を使う」を選択後、「Computeの起動」の手順で指定したキーペアの秘密鍵を指定して、「OK」を選択します。

ログインできたことを確認します。

Apacheのインストール

以下のコマンドを実行し、Apacheのインストール、起動、自動起動の設定を行います。

  
 --パッケージを最新化
 sudo yum update -y
  
 --Apacheをインストール
 sudo yum install httpd -y
  
 --Apacheを起動
 sudo systemctl start httpd.service
  
 --Apacheの起動状況を確認
 sudo systemctl status httpd.service
  
 --自動起動設定
 sudo systemctl enable httpd.service
  
 --設定されているかの確認
 sudo systemctl is-enabled httpd.service
  

iptablesの設定

OCIではインスタンスにもデフォルトでファイアウォールの設定がされているため、httpの通信を許可する設定を行います。

  
 $ sudo firewall-cmd --zone=public --add-service=http --permanent
  
 $ sudo  firewall-cmd --reload
  

確認

ブラウザからインスタンスのパブリックIPアドレスを指定し、Apacheのデフォルト画面が表示されることを確認します。

まとめ

ここまでで、VCN/サブネット/セキュリティリスト/ルートテーブルを構成し、インスタンスの作成とアクセスの手順をご紹介しました。
OCIのサービスを無償で利用できるキャンペーンなどもありますので、ぜひご自身でお試しいただき、OCIの基本的な設定について理解を深めてください。


参考情報

クラウド・コンピュート
https://www.oracle.com/jp/cloud/compute/
VCNとサブネット
https://docs.cloud.oracle.com/ja-jp/iaas/Content/Network/Tasks/managingVCNs.htm#overview
Oracle Cloud無償ティア
https://www.oracle.com/jp/cloud/free/

執筆者情報

さかもと ゆういち プロフィール画像

2017年アシスト入社後、主にVerticaのサポートエンジニアに従事。
2020年よりAWS/OracleCloudのフィールドエンジニアとして活動している。


■商標に関して
OracleとJavaは、Oracle Corporation 及びその子会社、関連会社の米国及びその他の国における登録商標です。
文中の社名、商品名等は各社の商標または登録商標である場合があります。

関連している記事

  • Oracle Cloud
2021.02.18

オンプレミス環境とクラウドを接続してみよう!~1.オフィス環境準備~

クラウドを使い始めたいけど、何からやれば良いか悩む方も多いと思います。そんな方への情報収集のネタとして、アシストの社内検証環境でオンプレミス環境とOracle Cloudとを接続するために実施した経験を共有します。第1回目は必要となる設備の準備にフォーカスしてご紹介します。

  • Oracle Cloud
2021.02.12

IDCSユーザーでOCIリソースを扱うには?

OCIには、IAMユーザーとIDCSユーザーの2種類のOracle Cloudのユーザーがいます。IDCSユーザーでOracle Cloudのリソースを扱うには、IAMのポリシーをアタッチする必要があります。この記事では一連の設定手順をご紹介します。

  • Oracle Cloud
2021.02.04

Oracle Cloudの課金状況を把握しよう

Oracle Cloudは従量課金制となっており、使った分だけ課金されます。「今月分の課金っていくらだろう」「どのサービスでいくらかかったんだろう」という疑問が出てくるかと思います。そのような時の確認方法をご紹介します。

ページの先頭へ戻る