Oracle CloudのComputeインスタンスには、様々なイメージが用意されていますが、
2021/1/17時点ではCentOS Streamのイメージが用意されていません。
そのため、CentOS8のComputeインスタンスを作成し、cloud-initでアップデートを行うことでCentOS Streamを使用します。
いつもComputeインスタンスを作成する時とほぼ変わらず、とても簡単に作成できました。
なお、OCIの初期設定をする際のcloud-initの使い方はこちらの記事がとてもわかりやすく、参考にさせていただきました。
■参考にさせて頂いた記事
cloud-initでOCI Computeの初期設定を済ませる
##作業手順
1.Computeインスタンス作成
1-1.イメージ変更 CentOS8を選択
1-2.ネットワーキングの構成
1-3.cloud-initの設定
2.動作確認
###今回使用したサービスと技術
・OCI Compute
・cloud-init
・CentOS Stream
###著者の環境
Mac OS X 10.15.7
##1.Computeインスタンスの作成
Computeインスタンスを作成します。
今回は「VM.Standard.E3.Flex 1コアOCPU、16 GBメモリー、1 Gbpsネットワーク帯域幅」にて作成しました。
###1-1.イメージの変更
デフォルトの「Oracle Linux 7.9」ではなく、「CentOS8」を選択します。
###1-2.ネットワーキングの構成
今回はあらかじめ登録してあるVCN,パブリック・サブネットを選択し、バプリックIPアドレスを付与しています。
###1-3.cloud-initの設定
「拡張オプションの表示」をクリックし、拡張オプションを表示します。
拡張オプションの「管理」タブにある「初期化スクリプト」の「Cloud-initスクリプトの貼付け」を選択します。
cloud-initスクリプトの入力欄に下記のスクリプトを貼り付けます。
cloud-initはroot権限で実行されるため、sudo無しで問題ありません。
コマンド実行中は途中で[Y/N]の入力を求められるため、全て[-y]オプションを付けています。
#!/bin/bash
dnf install centos-release-stream -y
dnf swap centos-{linux,stream}-repos -y
dnf distro-sync -y
cloud-init入力後、「作成」をクリックし、インスタンスが作成されるまで待ちます。
##2.動作確認
インスタンスの状態が「起動中」になり、数分以上経過してから動作確認をしました。
sshで作成したインスタンスにログインします。
下記のコマンドを入力し、「CentOS Stream release 8」と表示されることを確認します。
cat /etc/centos-release
CentOS Stream release 8
cloud-init実行時のログは下記に保存されています。
/var/log/cloud-init-output.log
ログを確認すると、下記のログが出力されますが、
osmspluginはOracle Linux 6/7/8で使用するプラグインのため、影響はありません。
Failed loading plugin "osmsplugin": No module named 'librepo'
以下のような行が表示されると、cloud-initの処理完了です。
Cloud-init v. 19.4 running 'modules:final' at Sun, 17 Jan 2021 14:54:04 +0000. Up 28.87 seconds.
Cloud-init v. 19.4 finished at Sun, 17 Jan 2021 15:00:08 +0000. Datasource DataSourceOracle. Up 393.38 seconds
##参考
■cloud-init公式マニュアル
cloud-init Documentation
###再掲
■参考にさせて頂いた記事
cloud-initでOCI Computeの初期設定を済ませる