2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ConoHaのスタートアップスクリプトを使ってエターナルフォースリブートする

Last updated at Posted at 2018-12-15

ConoHa Advent Calender 16日目担当のakihirok2k2です。
15日目は WabisabiAppさんによる ConoHaのVPS契約したよ でした。

この記事はConoHaちゃんで無駄にrebootしまくろうというものです。有用性はかなり低いものだと自負しております。

スタートアップスクリプトはVMを作成した際に「SSHログインの自動化」、「必要なパッケージのインストール」などなどVPSへログインしなくても構築が終わるので大変便利です。是非使って欲しいところです。

!! Caution !!

以下の行為はConoHaちゃんのリソースを無駄に利用するものであるため、一時的に行う分には問題ございませんが、利用後のVMはOS再インストールなどしてください。

スタートアップスクリプト?

https://www.conoha.jp/vps/function/startupscript/
スタートアップスクリプトは、サーバー追加時に自動でスクリプトを実行できる機能です。
あらかじめ作成したスタートアップスクリプトを利用することでVPS作成時に以下のような操作を自動的に実行することが可能となります。
・パッケージの更新や必要なアプリケーションのインストール
・ユーザー登録やログイン設定
・その他サーバー内の各設定
これらの操作を自動化することで、サーバー作成時の設定はより簡単になり、作業量を削減して作業効率をアップできます。

// 某S社とか某G社のクラウドとかで見たことある機能ですよね。
// 今回はこの機能を利用して、エターナルフォースリブート(VPSは死ぬ)を試します。

利用手順

コンパネのサイドメニューから「サーバ追加」を選択

image.png

利用OSを選択し、画面下部の「オプションを見る」をクリック

image.png

利用できるオプションが表示されるので、「スタートアップスクリプト」-[テキスト]を選択

image.png

以下のスクリプトを入力

#!/bin/bash
echo "========================================"
echo "   清楚可愛いConoHAちゃん!     "
echo "========================================"
reboot

[追加]を選択

image.png

作成されたVMを選択し

image.png

コンソールを開きます。

image.png

あれれ おかしいぞー? 普通にログインできちゃう?

image.png

VMにログインして/var/log/messagesを確認します。

image.png

ログを見てもらうと分かるとおり、ConoHaちゃんでは cloud-initを利用してスタートアップスクリプト機能を実装しているようです。
恐らくpre-onceとかにスクリプトを登録して、実行後に削除する処理とか入ってるんじゃないでしょうか。cloud-initに詳しくないので、ただの勘です。

せっかくなのでこの機能を利用して エターナルフォースリブート を実行しましょう。
※ rc.localにrebootって書けば良いじゃん。って気持ちは横に置いておきます。

cloud-init

cloud-initは /var/lib/cloud/scripts 内にあるスクリプトを、cloud-init起動時(≒VPS起動時)に実行します。この中には3つのディレクトリがありますが、今回利用するのは「per-boot」です。

per-boot

cloud-initにおいてper-bootは、VPSの起動の度に実行されるスクリプトを置いておきます。もう、何をするか分かりますね?

エターナルフォースリブートの実行

cloud-initを利用していることが確認できたので、エターナルフォースリブートを実行します。
image.png
この画面で以下のテキストを入れます。

#!/bin/bash
set -x
cat << EOF > /var/lib/cloud/scripts/per-boot/reboot.sh
#!/bin/bash
reboot
EOF

chmod +x /var/lib/cloud/scripts/per-boot/reboot.sh

コンソールを開くと...そこは...

永遠にrebootし続けるだけの CentOSが...!!!
image.png

最後に

rebootし続けるだけのVMとか管理者からしたら邪魔なだけですので、サーバの削除をしておきしょう
(四日くらい放置したけど何も言われなかったけど、まぁ rebootしてるだけなので負荷が少ないとは思います。)

まとめ

・スタートアップスクリプトは便利。コンパネから登録できるようになってより便利に
・エターナルフォースリブート(VPSは止まらない) だった
・cloud-init を勉しようと思いました

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?