Linux システムの場合、Google Cloud Migrate for Compute Engine(旧称 Velostrata)には、Migrate for Compute Engine RPM のインストールに一部の適応スクリプトが含まれています。Migrate for Compute Engine スクリプトのルールは次の場所にあります。
/opt/migrate-for-gce/actions/<PHASE>.rules
Linux システム管理者は、カスタム スクリプトを定義することもできます。スクリプトのルールは次の場所にあります。
/etc/migrate-for-gce/actions/<PHASE>.rules
ルールは <PHASE>
でグループ化されます。これは、スクリプト実行時の VM のプロジェクト フェーズを反映しています。<PHASE>
は、次のいずれかの値です。
origin
– VM がオンプレミスのときにスクリプトが実行されます。iscsi
– スクリプトは、VM が「cache on demand」モード(iSCSI ブート)で実行されているときに実行されます。detach
– スクリプトは接続解除操作の後に実行されます。
カスタム スクリプトは、起動のたびに migrate-for-gce.init
サービスによって実行されます。
変更を 1 回だけ行う必要がある場合、そのスクリプトは以前に実行されたことを認識し、同じ変更を再度実行しないようにする必要があります。
ルールの定義
各フェーズには特定のルールが適用されます。ルールは、サービスが実行するアクションを定義します。Migrate for Compute Engine は定義された順序でルールを処理し、指定されたとおりに各ルールを実行します。
ルールのパラメータ
次のパラメータは、各 <PHASE>.rules
ファイルで定義できます。
- NAME: 一意のルール名。
- PLATFORM: ルールを実行するクラウドまたはプラットフォーム(
any
)。 - TEST: ファイルの存在の検証。パスが指定されている場合、ルールはファイルとディレクトリ パスが存在する場合にのみ実行されます。このパラメータは、スクリプトがすでに実行されているかどうかを(それを示すファイルを作成することで)確認するためにも使用できます。
- ACTION: 実行する Bash スクリプトまたはインライン コマンド
- REQUIRES: ルールを実行するために必要なサービスのオプション フィールド(現在は
rc.local
のみサポートされています)。
ルールの例
# ネットワーク設定を調整
NAME="fix-network-config", PLATFORM="any", TEST="", ACTION="/path/to/your/executable"