BFT名古屋 TECH BLOG

日々の業務で得た知識を所属するエンジニアたちがアウトプットしていきます。

【Google Cloud】GCEで最新でないマイナーバージョンでインスタンスを作成する

はじめに

こんにちは!BFT名古屋支店のマッチです。今回もGCEに関する記事になります。
GCEのインスタンスを作成する際、公開イメージから作成しようとすると以下のようにOSのマイナーバージョンの指定ができず、自動的に最新のイメージで作成されてしまいます。

しかし、ミドルウェアの要件など様々な理由で最新でないバージョンで構築したいケースは多いかと思います。その際に取る手段としては主に以下が考えられます。

  1. オンプレで作成したマシンをGCPにリフトする。

  2. 最新以外の任意のイメージを指定してインスタンスを作成する。

1.の方法については以前の記事でも紹介しているので、今回は2.の方法について、検証してみました。
参考:【Google Cloud】ESXiで作成した仮想マシンをOVFテンプレートを使用してGCEに移行する - BFT名古屋 TECH BLOG

目次

実施手順

今回はRHEL8.7でインスタンスを作成してみます。

  • Google Cloudにログインし、「Compute Engine」>「イメージ」に移動します。

  • 「非推奨のイメージを表示」を有効化し、「rhel-8-v20230509」を選択し、操作メニューから「インスタンスの作成」を選択します。

  • 各項目を設定し、「作成」を押下します。

作成時の問題点

作成手順自体は上記の通り、非常にシンプルですが何点か考慮すべき問題点があります。

イメージが非推奨である

今回使用したイメージを確認すると以下のように「非推奨」と記載されています。

GCPで公開されるイメージは定期的に更新が行われており、最新のイメージ以外はすべて非推奨となるようです。

非推奨のイメージを使用することによる制約があるのか、Googleサポートに問い合わせたところ、具体的に廃止予定といったことではなく、特にご利用の制約はありませんという旨の回答をいただきました。

上記より、非推奨のイメージを使用しても特に制約はないが、サポート終了しているため 何かあった場合は自己責任という形になるものと思われます。

普通に使う分には非推奨でも問題なさそうですが、本番環境のシステムなどに導入するのは避けた方がよさそうです。

インスタンス作成するまでマイナーバージョンが判別できない

今回はRHELで検証しましたが、イメージ名やイメージの詳細情報にはメジャーバージョンと公開日付しか記載がなく、マイナーバージョンの判別ができないという問題があります。
一応、イメージの公開日とOSのリリーススケジュールからなんとなくのアタリを付けることはできそうですが、最終的には実際にインスタンスを作成してから/etc/redhat-releaseを確認するなどして確かめるしかなさそうです。
自由に使える環境であれば適当に作成してみて目当てのバージョンでなかったら作り直す、といったことも可能かもしれませんが、本番環境など制約の多い環境で作業する場合は注意が必要です。事前にどのイメージを使用すればよいか確認しておくとよいでしょう。

おわりに

今回は任意のイメージを指定して特定のマイナーバージョンでインスタンスを作成する方法をご紹介しました。
手順自体は非常にシンプルで手軽に作成できる一方で、いくつかの注意点もあります。
個人での利用や検証で使用する際など、制約が少ない環境で使用する分には大きな問題はなさそうですが、本番環境など、厳格なルールが定められていたり不具合時の影響が大きい場面で使用する際には検討が必要です。
オンプレで作成したものをリフトするなど、特定のマイナーバージョンでインスタンスを作成する方法は他にもあるため、シチュエーションに合わせて最適な手段を選ぶようにしましょう。

参考

イメージ  |  Compute Engine ドキュメント  |  Google Cloud

VM インスタンスの作成と開始  |  Compute Engine ドキュメント  |  Google Cloud

GCPコトハジメ | TECH BLOG GCEで任意の時期のOSイメージを使う