[Oracle Cloud] インスタンス・プールでの共有ファイルシステムの利用 (2021/03/01)


同じインスタンス構成に基づいた複数のコンピュート・インスタンスをプロビジョニングするインスタンス・プールで共有ファイルシステムを利用する設定をしてみた。
参考:インスタンスのオートスケーリングを設定する

ポイント

  • /etc/fstab にマウント情報を記述後に、カスタム・イメージを作成し、カスタム・イメージからインスタンス構成を作成する
  • インスタンス構成にアタッチしたブロック・ボリュームのコンテンツを含める場合、アタッチしたブロック・ボリュームのバックアップを作成し、CLI(またはAPI)を使用していインスタンス構成を作成する

File Storage Serviceを使用した場合

事前準備

カスタム・イメージの作成

ファイルストレージのマウントができ、アプリケーションの設定が完了後に、カスタム・イメージを作成
( カスタム・イメージ作成中は、インスタンスが停止するので注意)

カスタム・イメージに名前を付けて作成

インスタンス構成の作成

作成したカスタム・イメージを元にインスタンス構成を作成

インスタンス構成は、稼働中のインスタンスから作成が可能だが、cliを使う場合、カスタム・イメージから直接インスタンス構成の作成が可能

cli用パラメータファイル(input.json)の準備

可用性ドメイン名と以下のOCIDを利用

  • コンパートメント
  • サブネット
  • カスタム・イメージ
  • (オプションで)ネットワーク・セキュリティ・グループ
input.json
{
    "instance-type": "compute",
    "launch-details": {
      "agent-config": {
        "is-management-disabled": false,
        "is-monitoring-disabled": false
      },
      "availability-domain": "AD-1",
      "compartment-id": "ocid1.compartment.oc1..aaaaaaaa",
      "create-vnic-details": {
        "assign-public-ip": true,
        "defined-tags": null,
        "display-name": "vnic-display-name",
        "freeform-tags": null,
        "hostname-label": null,
        "nsg-ids": [
          "ocid1.networksecuritygroup.oc1.aaaaaaaa"
        ],
        "private-ip": null,
        "skip-source-dest-check": false,
        "subnet-id": "ocid1.subnet.oc1..aaaaaaaa"
      },
      "dedicated-vm-host-id": null,
      "defined-tags": null,
      "display-name": "instance_config_ap01",
      "extended-metadata": null,
      "fault-domain": null,
      "freeform-tags": null,
      "ipxe-script": null,
      "is-pv-encryption-in-transit-enabled": false,
      "launch-mode": "PARAVIRTUALIZED",
      "launch-options": {
        "boot-volume-type": null,
        "firmware": null,
        "is-consistent-volume-naming-enabled": null,
        "is-pv-encryption-in-transit-enabled": null,
        "network-type": "PARAVIRTUALIZED",
        "remote-data-volume-type": null
      },
      "metadata": null,
      "preferred-maintenance-action": "REBOOT",
      "shape": "VM.Standard.E3.Flex",
      "shape-config": {
          "memoryInGBs": 8.0,
          "ocpus": 1.0
      },
      "source-details": {
        "bootVolumeSizeInGBs": null,
        "image-id": "ocid1.image.oc1..aaaaaaaa",
        "source-type": "image"
      }
    },
    "secondary-vnics": null
}

cliを使ったインスタンス構成の作成

oci compute-management instance-configuration create --instance-details file://input.json --compartment-id ocid1.compartment.oc1..aaaaaaaa

インスタンス・プールの作成

作成したインスタンス構成をもとにインスタンス・プールの作成
参考:インスタンスのオートスケーリングを設定する

確認

起動したインスタンスでファイルストレージの領域がマウントされていることを確認

おわりに

インスタンス・プールのインスタンス間で共有ファイルシステムを使った構成ができた。

参考