【OCI_04】VCN、インスタンスを作成する

 
この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

今回の作業は、管理者ユーザー(ocitestadm01)でフルアクセス権限のあるtest_compartmentコンパートメントに対して実施していきます。
以下、チュートリアル入門編を参考にVCN、インスタンスを作成してみます。

Oracle Cloud Infrastructure チュートリアル / OCI入門編
https://oracle-japan.github.io/ocitutorials/beginners/

   

VCNの作成

仮想クラウド・ネットワーク(Virtual Cloud Network : VCN) を作成していきます。
VCNは、Oracle Cloud Infrastructure内に作成する論理的なネットワークです。
VCNの中にインスタンスやストレージを配置することでそれらが通信できるようになります。

VCNの主要コンポーネントは、VCN、サブネット、ゲートウェイ、ルート表、セキュリティリストなどから構成されています。
ウィザードを利用すると主要コンポーネントを一括で作成することができるそうなので、今回はウィザードを利用したいと思います。

   

VCNの作成

OCIコンソールの左上のハンバーガーメニューを展開し、「ネットワーキング」を選択、「ネットワーキング」の「仮想クラウド・ネットワーク」を選択します。

アクション > VCNウィザードの起動 をクリックします。

VCNウィザードの起動画面で「インターネット接続性を持つVCNの作成」を選択し、「VCNウィザードの起動」をクリックします。

基本情報は以下のとおり入力、選択します。
「VCN名」は、任意の名前を入力します。
「コンパートメント」は権限のあるコンパートメントが表示されていることを確認します。

VCNの構成は以下のとおり入力、選択します。
「VCN IPv4 CIDRブロック」は、デフォルト「10.0.0.0/16」を選択します。自身の好みで変更しても問題ありません。
「このVCNでIPv6を有効化」は、OFFのままとします。
「このVCNでDNSホスト名を使用」は、ONのままとします。

「パブリック・サブネットの構成」、「プライベート・サブネットの構成」、「タグ」は、デフォルトのままで「次」をクリックします。

「確認および作成」で設定内容を確認し、「作成」をクリックします。
ウィザードを利用するとNATゲートウェイやサービス・ゲートウェイも作成されるようです。

リソース作成中画面になるのですべて「完了」となるまで少し待ちます。
すべて完了したら右下の「VCNの表示」をクリックします。

作成したVCNが表示され、各タブをクリックするとウィザードで作成されたサブネット、ゲートウェイ、ルート表、セキュリティリストを確認することができます。

   

インスタンスの作成

次は、VCNのパブリック・サブネットの中にコンピュート・インスタンスを作成して、
インターネット越しに個人パソコンからSSH接続できるか確認したいと思います。

   

インスタンスの作成

OCIコンソールの左上のハンバーガーメニューを展開し、「コンピュート」を選択、「コンピュート」の「インスタンス」を選択します。

インスタンス画面で「インスタンスの作成」をクリックします。

基本情報は以下のとおり入力、選択します。
「名前」は、任意の名前を入力します。
「コンパートメント」は権限のあるコンパートメントが表示されていることを確認します。
配置の「可用性ドメイン」は、指定しているリージョンの可用性ドメインを選択します。
※私は大阪リージョンで可用性ドメインが1つですので選択の余地はありません

拡張オプションを展開します。
 「容量タイプ」はデフォルトの「オンデマンド容量」を選択します。
 「クラスタ配置グループ」はデフォルトのOFFとします。
 「フォルト・ドメイン」は未選択だと自動で選択されるそうです。今回は未選択で進めてみます。

「イメージ」は、デフォルトの「Oracle Linux 9」を選択します。
「イメージの変更」をクリックするとOSやOSバージョンを変更することができます。

「シェイプ」は、デフォルトの「VM.Standard.E2.1.Micro」を選択しましたが・・・
「VM.Standard.E2.1.Micro」は、1コア、1GBのメモリのためか、インスタンス作成後にApacheのインストールをしたら遅すぎて待ってられませんでした。ですのでもう少しメモリが多いシェイプを選択したほうがよいです。
「シェイプの変更」をクリックするとシェイプ・シリーズを変更することができます。
「拡張オプション」は、デフォルトのままで「次」をクリックします。

「セキュリティ」は、デフォルトのままで「次」をクリックします。

ネットワーキングは、以下のとおり入力、選択します。
「VNIC名」は、デフォルトの空欄のままとします。
「プライマリ・ネットワーク」は、「既存の仮想クラウド・ネットワークを選択」を選択し、自身の権限のあるコンパートメント、作成したVCNを選択します。
「サブネット」は、「既存のサブネットを選択」を選択し、自身の権限のあるコンパートメント、パブリック・サブネットを選択します。

「プライベートIPv4アドレス」は、「プライベートIPv4アドレスの自動割当て」を選択します。
「パブリックIPv4アドレスの自動割当て」は、デフォルトのままONにします。
「IPv6アドレス」は、デフォルトのままOFFにします。

「SSHキーの追加」は、「キー・ペアを自動で生成」を選択し、「秘密キーのダウンロード」、「公開キーのダウンロード」をクリックし、ダウンロードしておきます。
「次」をクリックします。

ブート・ボリュームは、公式ドキュメントに従って以下のとおり設定します。
「カスタム・ブート・ボリューム・サイズを指定します」は、デフォルトのままOFFとします。
「転送中暗号化の使用」は、デフォルトのままONとします。
「自分が管理するキーでこのボリュームを暗号化」は、デフォルトのままOFFとします。
「次」をクリックします。

確認画面で設定内容を確認し、「作成」をクリックします。
※表示が長いので割愛します

インスタンスの作成が開始され、ステータスは「プロビジョニング中」になりました。
チュートリアルによるとLinux系インスタンスの作成には約1~2分、Windows系インスタンスの作成には約5~6分かかると記載がありました。

「プロビジョニング中」が「実行中」となり状態も「成功」になりました。
左上の「インスタンス」をクリックします。

インスタンスが作成されました。
「パブリックIP」を確認し、控えておきます。

   

インスタンスへPING

先ほど控えておいた「パブリックIP」に対して、個人パソコンからPINGを実施してみます。
「要求がタイムアウトしました。」となります。セキュリティリストでブロックされているためです。

セキュリティリストを編集します。
ネットワーキング > 仮想クラウド・ネットワーク > VCN名をクリック > セキュリティ タブをクリック > パブリック・サブネット用のセキュリティ・リスト をクリックします。

「セキュリティ・ルール」タブの「イングレス・ルール」を確認するとPINGに関する「ICMP」のルールが2つあります。
「タイプ」や「コード」に「3」や「4」が設定されていると厳しいルールになっているそうです。(詳細は割愛・・・)
ルールを編集して「タイプ」「コード」ともに「All」にします。削除すると自動で「All」が入ります。
「変更の保存」をクリックします。

個人パソコンからPINGが通りました。

   

インスタンスへSSHで接続

パブリック・サブネットへ作成したインスタンスへSSH接続してみます。
パブリック・サブネットにアタッチされたセキュリティリストには、デフォルトで22番のインバウンドが許可されています。
ただ、デフォルトでは誰からでもSSH接続を受け付けている状態なのでダウンロードした鍵ファイルは漏れないよう気を付けてください。

私は、Teratermを利用して接続します。
Teratermを起動して「パブリックIP」を入力し、「OK」をクリックします。

セキュリティ警告は、「続行」をクリックします。

「ユーザー名」は、「opc」を入力し、認証方式で「RSA/DSA/ECDSA/ED25519鍵を使う」を選択します。
「秘密鍵」は、事前にダウンロードした拡張子がkeyのファイルを選択し、「OK」をクリックします。

個人パソコンからインターネットを介してSSHで接続できました。

「sudo su -」を実行するとrootにも昇格できました。

   

インスタンスでWEBサーバを構築

次は、Apacheをインストール、セキュリティリストで80番を開放してブラウザで「http://パブリックIPアドレス」へアクセスして
WEBページが表示されるか確認してみます。

   

Apacheインストール

Apacheがインストールされているか確認したところ、インストールされていませんでした。

rpm -q httpd

Apacheをインストールします。「Complete!」が表示されたら完了です。

yum -y install httpd

~ 省略 ~

httpdサービスを起動(start)して、OS再起動してもサービスが起動する(enable)よう設定します。

systemctl start httpd
systemctl enable httpd

httpdサービスが起動したことを確認します。

systemctl status httpd

   

firewalldへ80番ポートのルールを追加

firewalld が動作しているか確認します。

systemctl status firewalld

現在のゾーンを確認します。「public」であることがわかります。

firewall-cmd –get-active-zones

現在有効なルールを確認します。「services」に「http」がないのでブロックされています。

firewall-cmd –list-all

TCP 80 を恒久的に許可を追加します。反映のため reload します。

firewall-cmd –add-service=http –permanent
firewall-cmd –reload

   

セキュリティ・リストの修正

セキュリティリストで80番が透過するよう設定します。
ネットワーキング > 仮想クラウド・ネットワーク > VCN名をクリック > セキュリティ タブをクリック > パブリック・サブネット用のセキュリティ・リスト をクリックします。

「セキュリティ・ルール」タブの「イングレス・ルール」の「イングレス・ルールの追加」をクリックします。以下を設定し、「イングレス・ルールの追加」をクリックします。
 ソース・タイプ:CIDR
 ソースCIDR:0.0.0.0/0
 IPプロトコル:TCP
 宛先ポート範囲:80

80番が透過するイングレス・ルールが追加されました。

ブラウザで「http://パブリックIPアドレス」へアクセスしてWEBが表示されました。

   

まとめ

チュートリアル入門編を参考にVCN、インスタンスを作成し、WEBサーバを設定してブラウザ表示してみました。これからどんどん検証していきたいと思います。

   

以下、他の記事をまとめた一覧です。OCI以外にAWSもまとめています。

この記事を書いている人 - WRITER -
ブログ運営者のtkjzblogです。 仕事柄新しいシステムに触れることが多いです。 Windows、Linux(RHEL)がメインです。その他、VMwareやOffice365など仮想環境やクラウド環境も少しですが触れることがあります。 いろいろ忘れがちのため、このサイトへ情報を書き溜めていきたいと思います。 どうぞ、よろしくお願い致します。

Copyright© しっぱいはせいこうのもと , 2025 All Rights Reserved.