概要
インスタンスに対してOCIコンソール上からRun Commandを使用してコマンド実行を実施。
今回はバケット内にスクリプトを配置、出力結果もバケットに出力。
下記OCIドキュメントを参照しながら設定を実施。
インスタンスでのコマンドの実行
目的
OCI資格取得に向けた学習の一環として、単に知識を暗記するだけでなく、
実際にOCI環境に触れて実践的な経験を積むことで、将来の設計や構築の場面で
自信を持って対応できるスキルを習得する。
OCI学習記事まとめ
Part1
1.OCI学習#1 ネットワーク設定
2.OCI学習#2 インスタンス作成、接続
3.OCI学習#3 Block Volume追加
4.OCI学習#4 Object設定、アクセス
5.OCI学習#5 ネットワークパスアナライザ
Part2
6.OCI学習#6 ネットワークパスアナライザ#2
ネットワークパスアナライザの使用
7.OCI学習#7 Run Command(Instance)#1
Run commandの実行
実施手順
スクリプト作成
Oracle Linux 8.10のインスタンスに対してRun Commandを実行。
下記をテキストファイル"script.txt"に保存する。
いたってシンプルなホスト名、ユーザ名、IPアドレスを確認するコマンドを実行します。
注意
テキストファイル保存時は改行コードをLFにしないと、出力結果がエラーとなります。
echo "$ uname -n"
uname -n
echo "$ whoami"
whoami
echo "$ ip address show"
ip address show
exit 0
Bucket作成
1.[オブジェクト・ストレージ]-[バケット]をクリック
2.[バケットの作成]をクリック
Run Command用のテキストファイルを配置するためだけのバケットなので
バケット名以外全てデフォフォルト値で設定。
Objectアップロード
1.[オブジェクト・ストレージ]-[バケット]-[対象のバケット]をクリック
2.[アップロード]をクリック
作成したテキストファイル"script.txt"をアップロード。
ポリシー設定
1.[アイデンティティ]-[ポリシー]-[ポリシーの作成]をクリック
動的グループに対してポリシーを設定します。
Allow dynamic-group RunCommandDynamicGroup to read objects in compartment ABC where all {target.bucket.name = '<bucket_with_script_file>'}
Allow dynamic-group RunCommandDynamicGroup to manage objects in compartment ABC where all {target.bucket.name = '<bucket_for_command_output>'}
コマンド作成、実行
1.[コンピュート]-[インスタンス]-[対象インスタンス]-[実行コマンド]をクリック
2.[コマンド作成]をクリック
今回はバケット内のテキストファイルを指定して、バケット内に実行結果を出力するので下記を選択。
- オブジェクト・ストレージ・バケットからインポート
- オブジェクト・ストレージ・バケットに出力
実行確認
・出力されたファイル
$ uname -n
vm02
$ whoami
ocarun
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc fq_codel state UP group default qlen 1000
link/ether 02:00:17:03:3c:ef brd ff:ff:ff:ff:ff:ff
altname enp0s3
inet 10.0.1.12/24 brd 10.0.1.255 scope global dynamic ens3
valid_lft 76957sec preferred_lft 76957sec
inet6 fe80::17ff:fe03:3cef/64 scope link
valid_lft forever preferred_lft forever
まとめ
インスタンスのRun Command実行ですが、OCIコンソール上で複数のインスタンス同時一斉実行などが
簡単にできれば便利だなと感じました。
もしかしたら出来るのかもしれませんが...。