クラウドに作成したインスタンスはいつでも停止、再起動、終了、再作成できる。
このインスタンスのライフサイクル管理をどうするか、それぞれのステータスで実際にインスタンスがどのような状態なっているかについて確認する。
インスタンスの停止、再起動
インスタンスの停止、再起動処理、そのとき実行される動作について確認
ブートボリュームへのファイルの作成
OCIのインスタンスは、すべてブート・ボリュームは iSCSIデバイスからネットワーク経由で iPEXブートされる。
このブート・ボリュームの変更(OSのパラメータ変更など)が、インスタンスのライフサイクル操作によってどのような影響を受けるかを確認するために、予めファイルを1つ作成する。
インスタンスの停止
インスタンスを停止し、その時どんなことが起こるかを OCIコンソールから確認する。
インスタンスのステータウが「停止中」となり、停止済みになる
sshでアクセスしていたターミナル・ウィンドウは接続が切断される-
「停止済」になったインスタンスの状態をOCIコンソールから確認
主な確認ポイント
✅ インスタンスが停止済ステータスになると、一部の例外のインスタンスを除き、インスタンスへの課金が停止します。一方ブロック・ボリュームなどの確保済のストレージ・リソースは存在しているため、課金は継続します。
ℹ️ インスタンスのシェイプ名称のうち、DenseIO / HighIO / HPC / GPUという名称がつくインスタンスに関しては、例外的に停止済ステータスになってもインスタンスへの課金が継続する。インスタンス停止時の課金に関する詳細についてはマニュアルで確認できる。
以下、マニュアルから抜粋:
停止済インスタンスのリソース請求
VMとベアメタルの両方のインスタンスで、請求はインスタンスの作成に使用するシェイプによって異なる:
- 標準シェイプ:インスタンスの停止は請求を一時停止します。ただし、停止されてたインスタンスは引き続きサービス制限を考慮してカウントされます。
- Dense I/Oシェイプ:請求処理は、NVMeストレージがアタッチされているために停止されたインスタンスを継続し、関連リソースは引き続きサービス制限に沿ってカウントされます。サービス制限からの請求および関連リソースの削除を停止するには、「インスタンスの終了」を実行する必要がある
- GPUシェイプ:請求は停止したインスタンスのために続行され、関連リソースは引き続きサービス制限に達するようになりいます。サービス制限からの請求および関連リソースの削除を停止するには「インスタンスの終了」を実行する必要があります。
- HPCシェイプ:請求処理は、NVMeストレージがアタッチされているために停止されたインスタンスを継続し、関連リソースは引き続きサービス制限に沿ってカウントされます。サービス制限からの請求および関連リソースの削除を停止するには、「インスタンスの終了」を実行する必要があります。
インスタンス内からインスタンスを停止しても、そのインスタンスの請求は停止しません。この方法でインスタンスを停止する場合は、必ずコンソールまたはAPIから 停止してください。
今使っている、「VM.Standard2.1」は標準にあたると思うけど、インスタンス停止しても請求は停止しなかった。停止後のコスト分析をメモって少し放置
これ「Compute->VM Standard Compute X7」ってX7てなっているのがもしかして「HPC」に該当するのだろうか
やっぱり増えている。リージョンによって違う?
インスタンスの起動
停止したインスタンスを再起動し、挙動を確認する。
インスタンスのステータスが実行中に成るのを確認する
ステータスが変わったらインスタンスの詳細情報を確認、停止中との違いを比較。。。ステータスだけで他に違いはなさそうsshターミナルを起動し、opcユーザで sshログインする
ℹ️ インスタンスが実行中になってから、sshdが起動してsshアクセスできるようになるまで数分かかるsshログインしたら、最初に作成したブート・ボリュームのファイルを確認する
問題なくファイルが表示できる。
ブート・ボリューム(OS領域)に対する変更が、インスタンスの停止、再起動でも永続化されている。アタッチされているボリュームの情報を確認
/dev/sdbというボリュームが表示されない!!!
iscsiの設定をミスったか?もう一度設定仕直し&確認してインスタンスの再起動をしてみる
無事、インスタンスにアタッチされている、ブートボリュームを含むボリュームの一覧が表示された。
/dev/sdbは、【Oracle Cloud Infrastructure】ブロック・ボリュームをインスタンスにアタッチするで追加したボリューム。
インスタンスの停止、再起動しても、ブロックボリュームへの iSCSIのログインが継続され、再起動後は自動ログインされる。
インスタンスの終了(Terminate)
インスタンスのブート・ボリュームをどうするかを選択するダイアログ・ボックスが起動する
「アタッチされたブート・ボリュームを完全に削除」というチェックボックスにチェックをつけると、インスタンスのブート・ボリュームが削除される。
今回は、ブート・ボリュームをまた使うので、チェックを外したまま「インスタンスの終了」ボタンを押す。インスタンスの終了処理が始まる。終了処理中は「終了中...」というステータスになる。
この処理の間に、インスタンス作成時に確保された各種のリソースが順にデタッチ、または削除されていく。
OCIコンソール上では、リアルタイムで情報が変化し、削除されたリソースから表示が変化していくので、リアルタイムで状況がどう変わるかを確認できる。インスタンスの終了(Terminate)処理が完了すると、ステータスが終了済に変わる。
画面上のステータスアイコンで、ステータスが終了済になったことを確認する。「プライマリVNIC情報」欄では、「プライベートIPアドレス」および「パブリックIPアドレス」が「使用不可」担っていることを確認する。
これは、インスタンスの終了とともに、アタッチされていたインスタンスのプライベートIPアドレス、パブリックIPアドレスがデタッチされ、IPのプールに返還された状態であることを示しています。これらのIPアドレスは、他のインスタンスで再利用することができる。「アタッチされたブロック・ボリューム」欄には、「このインスタンスにはアタッチされたブロック・ボリュームはありません。」と表示される。
インスタンスの終了とともに、アタッチされていた追加ボリュームはデタッチされていることがわかる。「アタッチされたVNIC」欄には、何も表示されていない。インスタンスの終了とともに、アタッチされていた仮想NICはすべて削除されている。
ℹ️ 現在のOracle Cloud Infrastructureでは、インスタンスの削除時に仮想NICを残しておいて、他のインスタンスにアタッチするような機能(Elastic Network Interface)はない。この機能は将来の実装が予定されている。
現在でも、予約IP機能を使ったグローバルIPアドレスの移動(Elastic Global IP)は可能。Boot Volume欄には、「デタッチ済」というステータスのボリュームがひとつ表示されている。
削除時のダイアログで、ブートボリュームを削除しないという選択をしたため、ボリュームは保全されている。
「終了済」スタータスのインスタンスは、インスタンスのシェイプを問わず、すべて課金が停止している。
ただし、ブート・ボリュームを残す選択をした場合は、そのボリュームはインスタンス終了後も存続し、課金が継続する。
「終了済」スタータスのインスタンスは、暫くの間OCIコンソールに表示され続けるが、このインスタンスを復活させることはできない。暫くすると終了済インスタンスはOCIコンソールから表示が消える。
⚠️ DenseIO、HighIO、HPCなどの、インスタンス内部にストレージが付属するインスタンスの場合、インスタンスを終了(terminate)すると内部ストレージのデータが消去され、損失する。
もし内部ストレージのデータ保全が必要な場合は、予めブロック・ボリュームなどの他の永続ストレージにデータを保管してからインスタンスを終了するようにする。
ブート・ボリュームからのインスタンスの再作成
終了したインスタンスを再度起動させることはできないが、ブート・ボリュームが保管されている場合はそこから新しく別のインスタンスを作成することができる。
- コンソールメニューから「コンピュート」→「ブート・ボリューム」を選択
-
「コンピュート・インスタンスの作成」ウィザードが起動してくる。以下の内容を入力して下部の「作成」をクリック
- インスタンスの命名:任意
- オペレーティング・システムまたはイメージ・ソースを選択します:削除したインスタンスのブート・ボリュームが選択されていることを確認
- 可用性ドメイン:削除したインスタンスが存在していたアベイラビリティ・ドメインと同じものを選択
- インスタンス・タイプ:任意
- インスタンス・シェイプ:任意
- ネットワーキングの構成
- 仮想クラウド・ネットワーク・コンパートメント:VCNの生存するコンパートメントを選択
- 仮想クラウド・ネットワーク:任意のVCNを選択
- サブネット・コンパートメント:サブネットの存在するコンパートメントを選択
- サブネット:任意のパブリック・サブネットを選択
- ネットワーク・セキュリティ・グループを使用してトラフィックを制御
- パブリックIPアドレスの割当て(デフォルト)/パブリックIPアドレスを割り当てないでください
✔️ Oracle Cloud Infrastructureでは、同一のイメージから仮想マシン、ベアメタルサーバの両方のインスタンスを作成することができる。このため、仮想マシンのブート・ボリュームからベアメタルサーバを立ち上げる、といったことや、その逆の操作も可能。この手順のシェイプ・タイプ及びシェイプで、もとのインスタンスとは違うものを選択することで実現出来る。
- ブート・ボリューム:デフォルトのまま
- SSHキーの追加:作成済みの鍵ペアのうち公開鍵(id_rsa.pub)を選択
- 拡張オプションの表示
インスタンスの作成が開始される。2-3分ほどでインスタンス作成が完了し、ステータスが「実行中」にかわる。
インスタンスに新しく割り振られたパブリックIPアドレスを確認する。確認したパブリックIPアドレスに対して sshでアクセスし、インスタンス削除前に作成したファイル(/home/opc/testfile)が存在することを確認する。
これにより、インスタンス削除時のOS領域のℹ️がインスタンスの再作成時も保全されていることがわかる。
インスタンスを終了(Terminate)せず、インスタンスの停止→ブートボリュームのデタッチ後のブートボリュームなら、元のインスタンスを残したまま新しいインスタンスを作成することも可能。この方法を使うと、一時的にインスタンスのタイプやシェイプを変更し、作業が終わったらまた元のインスタンスにアタッチして利用することも可能。