こちらの記事は Oracle Cloud Infrastructure Advent Calendar 2019 Day 16 の記事となります。
Oracle Cloud Infrastructure Advent Calendar 2019
https://adventar.org/calendars/4516
表題の通り、OCI の Load Balancer で Private Compute に置いた 静的HTML を ロードバランスしてみるやで。
彡(゚)(゚)
1. 構成図
ポイントは以下の通りです。
・Public Subnet に Load Balancer と 踏み台Compute を配置
・Private Subnet に Compute を 2つ配置
・Public Subnet に Internet Gateway を アタッチ
・Private Subnet に NAT Gateway と Service Gateway(※) をアタッチ
※本記事の構成だけであればSGWは不要ですが、後日に繋ぎます。
2. ネットワーク・リソースの構成
構成図通りに VCN, Route Table, Security List, Gateway, Subnet を作成します。下記の記事を参照すると非常に捗ります。彡(゚)(゚)
Oracle Cloudが永遠に無料らしいので開発環境を作ってみたかった (ネットワーク編)
https://qiita.com/mokkan/items/ffb5bae17edce8e563be
下記スクショはPublic/Privateそれぞれのセキュリティ・リストとルート表彡(゚)(゚)
3. Computeインスタンス作成&sshログイン
Computeインスタンスを粛々と作成します。下記記事が参考になります。
【OCI】oracle cloud -仮想マシン(Compute)作成編-【初心者向け】
https://qiita.com/manaki079/items/0ded6b4e25c2f57b3657
踏み台を経由した Private Compute の sshログイン には下記記事のやり方を参考にしています。
Pageantを使用した踏み台サーバー経由のssh
https://qiita.com/untitle_23/items/7af5e6b1d29f95c13f36
4. Private Compute に Apache(httpd)インストール 及び OS firewall の 80番ポート開放
下記記事を参考にさせて頂きました。(`・ω・)ゞ
CentOS7.2 httpdの設定
https://qiita.com/salt_field/items/3e255c3356006a1e020f
sudo su -
yum install httpd
systemctl start httpd
firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --reload
5. 静的HTML の配置
Private Compute の /var/www/html に index.html を配置します。BODY部分は変えておくとロードバランス時の区別が付きます彡(゚)(゚)
vi /var/www/html/index.html
<!DOCTYPE html>
<HTML>
<HEAD>
<title>LB test</title>
</HEAD>
<BODY>
Hello, host2.
</BODY>
</HTML>
6. Load Balancer, Backend Set, LB Listener の作成
Load Balancer, Backend Set, LB Listener を作成します。スクショぺたぺた彡(゚)(゚)
7. Load Balancer へのアクセス(静的HTML表示)
Load Balancer の Public IP を ブラウザの URL に指定してアクセスします。
http://<LBのPublic IP>/index.html へのアクセスで、ロードバランスできてる!彡(^)(^)
8. まとめ
当初は Always Free で この記事書こうとしてたのですが、Always Free だと Private Computeにsshはできるものの、NAT Gateway が作れなくてyumが出来なくてですね……彡(-)(-)
とまれ、Load Balancer の基本的な動きは確認できました。LBのSSL(https)設定とか、Autonomous Database接続する簡易アプリとか、続きを書くかも?彡(゚)(゚)