Oracle Cloudでは使用状況レポートを有効にしないとVM内にアクセスエラーログがたまりまくるので注意

東京リージョンでOracle Cloud Always Freeインスタンスを作れないので、US West(Phoenix)リージョンでアカウントを作り直してOracle Linux 7インスタンスを作ってみたところ /var/log/oracle-cloud-agent/agent.log にスクリプトの実行エラーが毎秒出ている。

画像

作り直し前の方ではagent.logは正常なのに何故?と思ったら、Oracle Cloudコンソールの「アカウント管理」の「使用状況レポート」が未設定なためだった。

画像

上記にある様に「アイデンティティ」の「ポリシー」にて「ポリシーの作成」をクリックし、上記ページに書かれている「ステートメント1」「ステートメント2」を下記画面の「ポリシーステートメント」に貼り付ければOK。(名前と説明は適当につける)

なお、ステートメント2にある「<group>」は「Administrators」に置き換える必要がある。(「アイデンティティ」の「グループ」に登録済みのグループ名に置き換える)

この設定を行ったあと、agent.logへエラーを吐き出していたインスタンス上で「 systemctrl restart oracle-cloud-agent.service 」を実行することでエラーは収まりました。

画像

Oracle CloudのAlways Freeインスタンスを作る際に誤って有料インスタンスを作ってしまいがちな件

他のよくある質問とその答え
・Always Freeインスタンスが作れない件→「Tokyoで作れないのは仕様
・ホームリージョンの変更できるの→「アカウント作成後の変更は不可能
・作ったOracle Linuxインスタンスにsshログインできない件→「インスタンス名に日本語入れてるから」)

Oracle CloudでAlways Freeインスタンスを作成する際、誤って有料のインスタンスを作ってしまうことがある。

例えば、下記の画面だとAlways Freeインスタンスではない。

どこを見ればそれがわかるのか?

上記の「シェイプとタイプ」のところに「常に無料の対象(Always Free対象)」という記載があるかどうかです。

「Always Free対象」である場合は、下記の様に「VM.Standard.E2.1.Micro(仮想マシン)」であることと、その横に「Alwasy Free対象」があります。

Always Free対象の表示が無いので変更するかと「シェイプ、ネットワークおよびストレージオプションの表示」を選択してみましょう。

次の罠が登場です。

「インスタンスタイプ」のところの「仮想マシン」は「Always Free対象」と書かれていますが、「インスタンスのシェイプ」には「Always Free対象」の表記がありません。

正しく「Always Free対象」が選択されている場合は、下記の様にインスタンスのシェイプでもAlways Free対象と表記されています。

Always Free対象となっていない場合は、「シェイプの変更」から変更しましょう。

・・・ないですか?

それは、いまいるリージョンがホームリージョンではないからですね。

右上にあるリージョン切り替えから「ホームリージョン」とかかれたものを選択しましょう。すると下記の様に「Always Free対象」が現れるはずです。

・・・え?

「Japan East(Tokyo)」リージョンだと「Out of host capacity」で作成できないから他のリージョンに変更したい?

残念ながらホームリージョンでしかAlways Free対象とならず、またホームリージョンの変更は不可能とのことです。 (ネタ元 Freedom to Build – Announcing Oracle Cloud Free Tier with New Always Free Services and Always Free Oracle Autonomous Database)

画像

諦めてアカウントを作り直すか、運良く東京に空きができたタイミングで作成できることを期待してインスタンス作成を繰り返してみてください。

Oracle Cloud Always Free Tierはホームリージョンでのみ作成できるが、現在North AmericaとEMEAリージョンでしか作成できない

2021/08/24追記

ドキュメント上は相変わらずAlways Freeはホームリージョンで作成できる、とありますが、ARMプロセッサのインスタンスに関しての記述が緩いな?と思って試してみると、ホームリージョン:Tokyoなんですが、US WestでARMインスタンスが作成作成できてしまいました。

画像

2019/10/04 追記
昨日から東京でもAlways Freeインスタンスの作成に成功するようになりました。
→その後、10/6には作れなくなる。10/8頃から作成可能。10/10には作れなくなる、と頻繁に状況が変わっています


Oracle Cloud Free Tier(“Always Free”,”Free Tier”といろいろ表記があって謎)を使って見ようと、ホームリージョンを日本で設定してみたところ、「Out of host capaticy」という表示で作成できない。

画像

データリージョン一覧ページに「Free Oracle Cloud Promotion is only available in North America and EMEA data regions.」と書かれていたので、North AmericaかEMEAリージョンで作成すればいいのかな?と考えていた。(なお、「Free Oracle Cloud Promotion」と「Always Free」が同じモノを指しているかは不明です)

画像

しかし、ホームリージョン以外では、Always Free(常に無料の対象)となる「VM.Standard.E2.1.Micro」が表示されない。

画像

画像
画像

どういうことかと調べ回ったところ「Freedom to Build – Announcing Oracle Cloud Free Tier with New Always Free Services and Always Free Oracle Autonomous Database」に記載を発見。

画像

「Alwasys Freeはホームリージョンでのみ提供」「アカウント作成時に指定したホームリージョンは変更できない」

twitterを検索すると、東京リージョンでも時々作成に成功することはあるようなので、空きが無くて作れないだけではあるようだ。

はたして東京リージョンで気軽にAlways Freeを使える日は来るのだろうか???

Oracle CloudでOracle Linux 7.xを作ると「Permission denied (publickey,gssapi-keyex,gssapi-with-mic).」でsshログインできない

Oracle Cloud Free Tierというものが登場したので、Oracle Cloudを使ってみたところ、Oralce Linux 7.7インスタンスにsshログインできない。
「Permission denied (publickey,gssapi-keyex,gssapi-with-mic).」 と言われる。

画像

いろいろ調べたが原因が分からない。

試しにとUbuntu 18.10でやってみるとそちらではsshログインに成功、そして、Oracle Linux 6.10でやってみるとそちらもログイン成功。

・・・ん?ホスト名が「インスタンス-20190920-1006」?

実はここまでインスタンス作成時に指定するインスタンス名を標準状態の「インスタンス-日付-時刻」というもので作成していました。

そこがそのままホスト名になっているということは、もしや、日本語処理でバグって失敗しているのでは?ということで、Oracle Linux 7.7インスタンスのインスタンス名を「testvm」として新規作成してみた。

ログイン成功!

どうやらOracle Linux 7.xについてはインスタンス名に日本語が含まれていると正常に作成されないようです。

とりあえずこの件はサポートメールを送っておきましたがどうなることやら。

(2019/10/01現在、メールには何の応答もありません)

なお、Free tierについては、うまく作れていません。→ Tokyoは空きがなく作成できない。「Oracle Cloud Always Free Tierはホームリージョンでのみ作成できるが、現在North AmericaとEMEAリージョンでしか作成できない」→ よって、ホームリージョンを Tokyoで作ってしまったアカウントでFree Tierを試すのは絶望的

RHEL7以降のGUIでユーザが初回ログインした際のようこそ画面を消す

RHEL7やRHEL8をGUIつきでインストールすると、各ユーザがログインした際に、gnome-initial-setupコマンドが自動起動し、以下の様な表示を行う。

これは設定をすすめればいいだけではあるんだけど、めんどくさい。

Solaris 7以降でも似たような感じで登録要求画面が表示されてたけど、所定の空ファイルを置くことで表示しないようにできたけど、RHELでもできるかな?と調べて見た。

githubにあるgnome-initial-setupのソースコードを調べていくと、HACKINGに情報を発見。


gnome-initial-setup also has a session mode which activates gnome-initial-setup when a user first logs in. The gnome-initial-setup-first-login.desktop in the
xdg autostart directory utilises gnome-session to check if the user has a
gnome-initial-setup-done file in their XDG_CONFIG_DIR if they don’t
gnome-initial-setup will launch with pages that are suitable for a
non-privileged user and on exiting will write the done file.

各ユーザの環境変数 XDG_CONFIG_DIR で定義されたディレクトリ内に「gnome-initial-setup-done」というファイルがあれば良い、ということ。

しかし、Oracle Linux 8で確認してみると XDG_CONFIG_DIRは定義されていない。

XDG_CONFIG_DIR の定義について調べると「XDG Base Directory Specification」に記載があった。

$XDG_CONFIG_HOME defines the base directory relative to which user specific configuration files should be stored. If $XDG_CONFIG_HOME is either not set or empty, a default equal to $HOME/.config should be used.

定義されていない場合は、各ユーザのホームディレクトリ内にある「.config」となるとのこと。

つまり「~/.config/gnome-initial-setup-done」というファイルを作れば良い、ということになる。

というわけで「touch ~/.config/gnome-initial-setup-done」を実行することで、gnome-initial-setupの起動をさせないようにできた。


ここまでで紹介した手順は各ユーザ単位で表示させなくする設定。

全体として表示させなくする設定が無いかを確認。

先ほども参照したHACKINGのgnome-initial-setup-doneの話の直前に情報がいくつか。

/etc/gdm/custom.confの[daemon]セクションに「InitialSetupEnable=True」と書くとgnome-initial-setupが起動する、ということなので、逆に「InitialSetupEnable=False」と書けばいいのかと試してみたけど、ダメでした。

InitialSetupEnable 関連で検索して「Bug 1226819 – gnome-initial-setup cannot be disabled, forces user creation」を発見。

ユーザを作成する際に初期配置するファイルを置く「/etc/skel」ディレクトリ内に「.config/gnome-initial-setup-done」ファイルを作っちゃえばいいんじゃん?という話が・・・確かに!( mkdir -p /etc/skel/.config && touch /etc/skel/.config/gnome-initial-setup-done を実行する)

他に書かれている/etc/xdg/autostart/gnome-initial-setup-copy-worker.desktop と /etc/xdg/autostart/gnome-initial-setup-first-login.desktop ファイルを削除する、というのは若干いきすぎた対応な気がするので、こちらはどうなのかな・・・


その後、RedHatのナレッジに「RHEL7 の初期インストール後の実行から gnome-initial-setup を無効にする」というのがあり対処方法が記されている、と聞きました。

ユーザ毎の対処方法は上で書いた手法でした。システム全体手法は上記では書いてない方法をとっていました。詳細についてはURLを見てください。