APC 技術ブログ

株式会社エーピーコミュニケーションズの技術ブログです。

株式会社 エーピーコミュニケーションズの技術ブログです。

【OCI】OCIRで消してしまったイメージを48時間以内に取り戻す

はじめに

エーピーコミュニケーションズ クラウドエンジニアリング部の佐久間です。

MyLearnを使ってOCIの学習を進めていく中で、コンテナとともに「OCIR」について学ぶ箇所があり、その中で「削除してしまったイメージは48時間以内であれば復旧することが出来ます」と説明があります。

「そうか!なるほど!」

と、頭で理解はしたかもしれませんが、実際にそのような状況になった時に、復旧させることは可能ですか?MyLearnでは復旧させるための記載が見当たらなかったため、以下を参照しながら復旧を試してみたいと思います。

docs.oracle.com

前提条件

  • OCIのMyLearnなどを読み、OCIの操作をある程度やったことがある人向けに記載しています。
  • まだOCI触ったことがない方は、動画で詳しく解説されていますので、OracleのMyLearnで少しでも触ってみましょう!
  • MyLearnの中にあるハンズオン「OCIRの管理とDocker CLIを使用したイメージのプッシュとプル」の項目で、イメージをプッシュした後の状態からの内容となります

削除する前に!復旧させるために必要な情報

削除したイメージについては、コンソール画面からの操作は出来ず、CLIまたはAPIでの作業が必要となります。その作業の中で必要な項目として「コンテナイメージのimage-id」が必要となります

こちらについては、OCIのドキュメントやociコマンドを確認しましたが、削除したimage-idの確認方法はわかりませんでした。

よって、削除前にコンソール画面などからimage-idを控えておく必要があります

例) ocid1.containerimage.~~~

※今回わたしは見つけることが出来ませんでしたが、ご存知の方がいらっしゃれば、コメントなどでご教示頂けると幸いです。

コンテナイメージを削除

現在は作成したリポジトリの中にイメージが1つ格納されている状態です。これを削除してみましょう。※コンテナイメージのOCIDを控えることも忘れずに

削除が成功すると、イメージが「0」になります

Cloud Shellからリストア

Cloud ShellからOCIコマンド叩いてリストアします。構文としては、以下

oci artifacts container image restore --image-id <削除したコンテナのイメージID>

ログが流れて、Errorが出なければ復旧完了です。コンテナレジストリを確認してみましょう。

削除されたコンテナイメージが復旧していることがわかります。ここでは記載しませんが「プルコマンドコピー」して、ローカルにイメージをダウンロードし、正常に動作することまで確認しましょう。

ここまで問題なくできれば、もし万が一イメージを誤って削除してしまっても、48時間以内に復旧させることが出来ます。

最後に

先日「Oracle Cloud Infrastructure 2024 Architect Professional」を受け、無事に合格しました。 勉強方法はMyLearnを読みながら、手を動かすであり、試験内容を振り返るとそれが最善かと感じてます。 これからProfessionalを受験される方に向けた言葉としては、ハンズオンが含まれていますので以下を心に留めておいてください。

  • 手順書なくても、sshのキーペアを作れるのは当たり前だぞ!
  • インターネットと通信するんだから、言われなくても何らかのGWを作るんだぞ!
  • その通信、片方からだけで良いの?もう片方からの発通信もなんじゃないの?

私達クラウド事業部はクラウド技術を活用したSI/SESのご支援をしております。

www.ap-com.co.jp

また、一緒に働いていただける仲間も募集中です! ご興味持っていただけましたらぜひお声がけください。

www.ap-com.co.jp