Closed12

CANONICAL『Cloud Instance Initialisation with cloud-init』のメモ

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

Executive Summary

As a technology business decision maker you have a great deal of choice today when it comes to both open source operating systems and cloud execution environments (or just clouds) to run those operating systems on. We are using the term ‘cloud’ here in its widest possible sense: from private cloud (i.e. an automated data centre), through hybrid to public cloud. A common desire is to select the operating system which best supports your application stack and then be able to use that operating system as an abstraction layer between different clouds. However, in order to function together an operating system and its cloud must share some critical configuration data which tells the operating system how to ‘behave’ in the particular environment. By separating configuration data, one can avoid the tight coupling of operating system and cloud, or to use the more common industry term ‘locked-in’. Cloud-init provides a mechanism for separating out configuration data from both the operating system and the execution environment so that you maintain the ability to change either at any time. It serves as a useful abstraction which ensures that the investments you make in your application stack on a specific operating system can be leveraged across multiple clouds.

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

テクノロジービジネスの意思決定者は、オープンソースのオペレーティングシステムと、それらのオペレーティングシステムを実行するためのクラウド実行環境(または単なるクラウド)の両方について、今日では多くの選択肢を持っています。ここでは、プライベートクラウド(自動化されたデータセンター)からハイブリッド、パブリッククラウドまで、可能な限り広い意味での「クラウド」という言葉を使用しています。一般的には、アプリケーション・スタックをサポートするのに最適なオペレーティング・システムを選択し、そのオペレーティング・システムを異なるクラウド間の抽象化レイヤーとして使用できるようにしたいと考えています。しかし、オペレーティング・システムとクラウドが一緒に機能するためには、オペレーティング・システムが特定の環境でどのように「動作」するかを示す重要な設定データを共有しなければなりません。設定データを分離することで、オペレーティングシステムとクラウドの緊密な結合を避けることができます。Cloud-initは、設定データをオペレーティングシステムと実行環境の両方から分離するメカニズムを提供し、いつでもどちらかを変更できるようにします。これは、特定のオペレーティング・システム上のアプリケーション・スタックへの投資を複数のクラウドで活用できるようにするための有用な抽象化として機能します。

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

Introduction

Cloud-init is the industry standard method for cross-platform cloud instance initialisation. It is supported by all major public cloud providers, provisioning systems for private cloud infrastructure, and bare-metal installation. It enables the automated provisioning of an operating system image (which is simply the collection of packages) into a fully running state, complete with required access and applications. Typical task handled by cloud-init include networking and storage initialisation, optional package installation and configuration, user account creation and security key provisioning for remote access. cloud-init can these task within the first boot of an instance. This prevents end users from needing to spend time producing and maintaining images that are out-of-date, require building, and maintenance. Instead cloud-init does run in most operating systems each time a new instance is launched, independently from image source. This level of configuration is provided by cloud-init across all major Linux distributions and FreeBSD. With current support provided in the following.

  • Ubuntu
  • SLES/openSUSE
  • RHEL/CentOS
  • Fedora
  • Gentoo Linux
  • Debian
  • ArchLinux
  • FreeBSD

Cloud-init provides support across a wide ranging list of execution environments:

Public Cloud Infrastracture (IaaS)

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud Platform
  • Oracle Cloud Infrastructure
  • Softlayer
  • Rackspace Public Cloud
  • IBM Cloud
  • Digital Ocean
  • Bigstep
  • Hetzner
  • Joyent
  • CloudSigma
  • Alibaba Cloud
  • OVH

Private Cloud Infrastracture

  • Bare metal install
  • OpenStack
  • LXD
  • KVM
  • Metal-as-a-Service (MAAS)

Every cloud is different and each platform provides information in a different format. Cloud-init takes the work out by standardising the platform interactions and abstracting the cloud’s implementation away from the user. Cloud-init has hooks to various init systems to perform a four-stage initialisation, described later. These stages are specific to an instance running in a ‘cloud-like’ environment and during this time, items such as storage, networking, DNS names, user accounts, access keys, and software packages can be setup. Cloud-init is written in Python and as mentioned is packaged for all major distributions of Linux. It is dual licenced under the GPLv3 and Apache 2.0 licenses. The following document will present end users with details of how a cloud instance is initialised from a disk image and the steps cloud-init takes on the image during boot.

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

序章

Cloud-initは、クロスプラットフォームのクラウドインスタンス初期化のための業界標準の方法です。これは、すべての主要なパブリッククラウドプロバイダー、プライベートクラウドインフラストラクチャのプロビジョニングシステム、ベアメタルインストールでサポートされています。これにより、オペレーティング・システム・イメージ(パッケージの集合体)を、必要なアクセスとアプリケーションを完全に実行した状態に自動プロビジョニングすることができます。cloud-init が処理する代表的なタスクには、ネットワークとストレージの初期化、オプションのパッケージのインストールと設定、ユーザーアカウントの作成、リモートアクセスのためのセキュリティキーのプロビジョニングなどがあります。これにより、エンドユーザーは、古いイメージを作成したり、構築やメンテナンスが必要なイメージを作成したり、メンテナンスに時間を費やす必要がなくなります。その代わり、ほとんどのオペレーティング・システムでは、イメージ・ソースとは関係なく、新しいインスタンスが起動するたびに cloud-init が実行されます。このレベルの設定は、すべての主要な Linux ディストリビューションと FreeBSD で cloud-init によって提供されています。現在提供されているサポートでは、以下の通りです。

  • Ubuntu
  • SLES/openSUSE
  • RHEL/CentOS
  • Fedora
  • Gentoo Linux
  • Debian
  • ArchLinux
  • FreeBSD

Cloud-initは、幅広い実行環境に対応しています。

パブリッククラウドインフラストラクチャー(IaaS)

  • Amazon Web Services
  • Microsoft Azure
  • Google Cloud Platform
  • Oracle Cloud Infrastructure
  • Softlayer
  • Rackspace Public Cloud
  • IBM Cloud
  • Digital Ocean
  • Bigstep
  • Hetzner
  • Joyent
  • CloudSigma
  • Alibaba Cloud
  • OVH

プライベートクラウドのインフラストラクチャー

  • Bare metal install
  • OpenStack
  • LXD
  • KVM
  • Metal-as-a-Service (MAAS)

クラウドごとに異なり、プラットフォームごとに異なる情報を提供する フォーマットを使用しています。Cloud-init は、プラットフォームのインタラクションを標準化することで作業を軽減します。また、クラウドの実装をユーザーから離れて抽象化しています。Cloud-init には 様々な init システムへのフックを使用して 4 段階の初期化を行います。の後になります。これらのステージは、「クラウドのような」環境で実行されているインスタンスに特有のものです。この間、ストレージ、ネットワーク、DNSなどのアイテムが 名前、ユーザーアカウント、アクセスキー、ソフトウェアパッケージを設定することができます。Cloud-initはPythonで書かれており、前述したようにすべての主要な Linux のディストリビューションで使用されています。これは GPLv3 と Apache 2.0 の二重ライセンスです。以下のドキュメントでは、エンドユーザにクラウドがどのようにして インスタンスはディスクイメージから初期化され、cloud-init のステップは イメージを起動します。

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

Instance Initialisation

When a user launches a new instance on a cloud, how does the instance get provisioned and configured to enable remote access by the user? Cloud-init is the solution to allow the user and cloud to initialise the instance.

An individual running system (or instance) on a cloud is typically composed of the following parts:

  • Disk Image
  • Metadata
  • User data (optional)
  • Vendor data (optional)

Disk Image

A disk image contains the operating system for the instance. This allows the user to quickly and easily pick a necessary image and start deploying, rather than needing to create and upload an image before use. Many operating systems offer images on cloud platforms with cloud-init pre-installed.

Below is an example of an Ubuntu Server 18.04 LTS disk image found on Amazon Web Services.

Metadata

Each cloud provider produces metadata, which is information to aid in setting up the instance. Depending on what data the cloud exposes the output can contain information about the disk image, storage, networking, users, and other information.

The source and format of the metadata varies from cloud to cloud. Cloud-init refers to the cloud’s metadata source as the datasource. Some clouds utilise a drive attached to the instance (e.g. Microsoft Azure and LXD) and other times it is an API endpoint (e.g. Amazon Web Services, Google Compute Engine, OpenStack) reached over the network.

A user can view the exposed metadata from the datasource after deployment using cloud-init’s query subcommand.

Amazon Web Services example on next page...

User Data

Data provided by end users to initialise the instance is called user data. This is the mechanism in which users interact with cloud-init. This data can range from simple shell scripts to more structured “cloud config” that utilise cloud-init’s built-in config modules. This type of data is completely optional and not required for an instance initialisation.

As an example, user data can be as simple as a basic shell script.

#!/bin/sh
sudo apt-get update
sudo apt-get install --yes pastebinit
cloud-init query userdata | pastebinit

For more advanced configuration, cloud-init also has built in config modules that enable setting up specific parts of system. These modules are used via a cloudconfig based user data and includes special configuration options to configure the following and more.

Customisation of these modules is available via “cloud config”. Cloud config is a YAML syntax file prefaced with ‘#cloud-config’ at the top of the file. The same shell script above written like cloud-config is shown below which demonstrates how instead of needing to provide numerous apt or dnf commands the user can provide a list of packages to install and cloud-init will install those packages.

#cloud-config
hostname: my_cloud_instance
packages:
    pastebinit
runcmd:
    cloud-init query userdata | pastebinit

Cloud-init’s cloud-config also provides the ability to utilise Jinja templating. The user can make use of the previously mentioned metadata in their own user data to make decisions on how to setup an instance. This allows for custom user data settings depending on the cloud, region, or even storage and networking configurations.

## template: jinja
#cloud-config
{% set NAME=’system-’ ~ v1.platform ~ ‘-’ ~ v1.region ~ ‘-’ ~ range(9) | random
%}
hostname: {{ NAME }}
{% if v1.cloud_name == ‘aws’ and v1.region == ‘us-east-2’ -%}
echo Installing custom packages
...
{%- endif %}

The mechanism to provide user data varies by cloud. However, most provide a method via the UI as well as via some API or CLI mechanism as well.

Below is an example found on Microsoft’s Azure Cloud Computing Platform launch screen.

Cloud provided command-line tools to launch instances have user data flags to pass a user data file during instances creation.

aws ec2 run-instances --image-id ami-abc1234 --count 1 \
    --instance-type m4.large --key-name keypair \
    --subnet-id subnet-abcd1234 --security-group-ids sg-abcd1234 \
    --user-data file://user_data.yaml

Finally, a user can view the passed in user data with cloud-init’s query subcommand.

$ cloud-init query userdata
#cloud-config
users:
- name: powersj
    ssh-import-id: lp:powersj
    shell: /bin/bash
    sudo: [‘ALL=(ALL) NOPASSWD:ALL’]

Vendor Data

Vendor data is the same as user data, however, it comes from the cloud platform vendor itself. User data directives always takes precedence over vendor data. The value of vendor data is it allows the cloud vendor to specify potentially platform or region specific values for instances. For example, setting up package mirrors, NTP servers, etc. Also note that vendor data is completely optional and not required for configuring an instance.

$ cloud-init query vendordata
#cloud-config
{}
Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

Instance Initialisation

When a user launches a new instance on a cloud, how does the instance get provisioned and configured to enable remote access by the user? Cloud-init is the solution to allow the user and cloud to initialise the instance.

An individual running system (or instance) on a cloud is typically composed of the following parts:

  • Disk Image
  • Metadata
  • User data (optional)
  • Vendor data (optional)

Disk Image

A disk image contains the operating system for the instance. This allows the user to quickly and easily pick a necessary image and start deploying, rather than needing to create and upload an image before use. Many operating systems offer images on cloud platforms with cloud-init pre-installed.

Below is an example of an Ubuntu Server 18.04 LTS disk image found on Amazon Web Services.

Metadata

Each cloud provider produces metadata, which is information to aid in setting up the instance. Depending on what data the cloud exposes the output can contain information about the disk image, storage, networking, users, and other information.

The source and format of the metadata varies from cloud to cloud. Cloud-init refers to the cloud’s metadata source as the datasource. Some clouds utilise a drive attached to the instance (e.g. Microsoft Azure and LXD) and other times it is an API endpoint (e.g. Amazon Web Services, Google Compute Engine, OpenStack) reached over the network.

A user can view the exposed metadata from the datasource after deployment using cloud-init’s query subcommand.

Amazon Web Services example on next page...

User Data

Data provided by end users to initialise the instance is called user data. This is the mechanism in which users interact with cloud-init. This data can range from simple shell scripts to more structured “cloud config” that utilise cloud-init’s built-in config modules. This type of data is completely optional and not required for an instance initialisation.

As an example, user data can be as simple as a basic shell script.

#!/bin/sh
sudo apt-get update
sudo apt-get install --yes pastebinit
cloud-init query userdata | pastebinit

For more advanced configuration, cloud-init also has built in config modules that enable setting up specific parts of system. These modules are used via a cloudconfig based user data and includes special configuration options to configure the following and more.

Customisation of these modules is available via “cloud config”. Cloud config is a YAML syntax file prefaced with ‘#cloud-config’ at the top of the file. The same shell script above written like cloud-config is shown below which demonstrates how instead of needing to provide numerous apt or dnf commands the user can provide a list of packages to install and cloud-init will install those packages.

#cloud-config
hostname: my_cloud_instance
packages:
    pastebinit
runcmd:
    cloud-init query userdata | pastebinit

Cloud-init’s cloud-config also provides the ability to utilise Jinja templating. The user can make use of the previously mentioned metadata in their own user data to make decisions on how to setup an instance. This allows for custom user data settings depending on the cloud, region, or even storage and networking configurations.

## template: jinja
#cloud-config
{% set NAME=’system-’ ~ v1.platform ~ ‘-’ ~ v1.region ~ ‘-’ ~ range(9) | random
%}
hostname: {{ NAME }}
{% if v1.cloud_name == ‘aws’ and v1.region == ‘us-east-2’ -%}
echo Installing custom packages
...
{%- endif %}

The mechanism to provide user data varies by cloud. However, most provide a method via the UI as well as via some API or CLI mechanism as well.

Below is an example found on Microsoft’s Azure Cloud Computing Platform launch screen.

Cloud provided command-line tools to launch instances have user data flags to pass a user data file during instances creation.

aws ec2 run-instances --image-id ami-abc1234 --count 1 \
    --instance-type m4.large --key-name keypair \
    --subnet-id subnet-abcd1234 --security-group-ids sg-abcd1234 \
    --user-data file://user_data.yaml

Finally, a user can view the passed in user data with cloud-init’s query subcommand.

$ cloud-init query userdata
#cloud-config
users:
- name: powersj
    ssh-import-id: lp:powersj
    shell: /bin/bash
    sudo: [‘ALL=(ALL) NOPASSWD:ALL’]

Vendor Data

Vendor data is the same as user data, however, it comes from the cloud platform vendor itself. User data directives always takes precedence over vendor data. The value of vendor data is it allows the cloud vendor to specify potentially platform or region specific values for instances. For example, setting up package mirrors, NTP servers, etc. Also note that vendor data is completely optional and not required for configuring an instance.

$ cloud-init query vendordata
#cloud-config
{}
``
Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

インスタンスの初期化

ユーザーがクラウド上で新しいインスタンスを起動した場合、ユーザーがリモートアクセスできるようにするために、インスタンスのプロビジョニングと設定はどのように行われますか?Cloud-initは、ユーザーとクラウドがインスタンスを初期化できるようにするためのソリューションです。

クラウド上の個々の実行システム(またはインスタンス)は、通常、以下の部分で構成されています。

  • ディスクイメージ
  • メタデータ
  • ユーザーデータ(オプション
  • ベンダーデータ(オプション

ディスクイメージ

ディスクイメージには、インスタンスのオペレーティングシステムが含まれています。これにより、使用前にイメージを作成してアップロードする必要がなく、必要なイメージを素早く簡単に選択してデプロイを開始することができます。多くのオペレーティングシステムでは、クラウドインサイトがプリインストールされたクラウドプラットフォーム上でイメージを提供しています。

以下は、Amazon Web Servicesで見つけたUbuntu Server 18.04 LTSのディスクイメージの例です。

メタデータ

各クラウド・プロバイダーは、インスタンスのセットアップを支援するための情報であるメタデータを生成する。クラウドが公開するデータに応じて、出力にはディスクイメージ、ストレージ、ネットワーク、ユーザー、その他の情報が含まれています。

メタデータのソースとフォーマットは、クラウドによって異なります。Cloud-initでは、クラウドのメタデータのソースをデータソースとして参照します。クラウドの中には、インスタンスに接続されたドライブ(Microsoft AzureやLXDなど)を利用するものもあれば、ネットワーク経由で到達するAPIエンドポイント(Amazon Web Services、Google Compute Engine、OpenStackなど)を利用するものもあります。

ユーザーは、cloud-initのクエリサブコマンドを使用して、デプロイ後にデータソースから公開されたメタデータを見ることができます。

次ページのAmazon Web Servicesの例...

ユーザーデータ

エンドユーザーがインスタンスを初期化するために提供するデータをユーザーデータと呼びます。これは、ユーザーが cloud-init と対話するためのメカニズムです。このデータには、単純なシェルスクリプトから、cloud-initの組み込みコンフィグモジュールを利用したより構造化された「クラウドコンフィグ」まで、さまざまな種類があります。このタイプのデータは完全にオプションであり、インスタンスの初期化には必要ありません。

例として、ユーザデータは基本的なシェルスクリプトと同じくらいシンプルなものにすることができます。

#!/bin/sh
sudo apt-get update
sudo apt-get install --yes pastebinit
cloud-init query userdata | pastebinit

より高度な設定を行うために、cloud-initにはシステムの特定の部分の設定を可能にするconfigモジュールも組み込まれています。これらのモジュールは、cloudconfigベースのユーザーデータを介して使用され、以下のような設定を行うための特別な設定オプションが含まれています。

!

これらのモジュールのカスタマイズは "cloud config "で可能です。cloud config は、ファイルの先頭に '#cloud-config' を付けた YAML 構文ファイルです。cloud-config と同じように書かれた上記のシェルスクリプトを以下に示します。これは、aptdnf コマンドを多数用意する代わりに、ユーザがインストールするパッケージのリストを指定することで、cloud-init がそれらのパッケージをインストールする方法を示しています。

#cloud-config
hostname: my_cloud_instance
packages:
    pastebinit
runcmd:
    cloud-init query userdata | pastebinit

また、Cloud-initのcloud-configでは、Jinjaのテンプテーションを活用することができます。ユーザーは、先に述べたユーザーデータのメタデータを利用して、インスタンスの設定方法を決定することができます。これにより、クラウドやリージョン、さらにはストレージやネットワークの設定に応じて、ユーザーデータをカスタマイズすることができます。

## テンプレート: jinja
#クラウド設定
{% set NAME='system-' ~ v1.platform ~ '-' ~ v1.region ~ '-' ~ range(9) | random
%}
ホスト名: {{{ NAME }}}。
{% if v1.cloud_name == 'aws' and v1.region == 'us-east-2' -%} v1.cloud_name == 'aws' and v1.region == 'us-east-2'
echo カスタムパッケージのインストール
...
{%- endif %}.

ユーザーデータを提供する仕組みはクラウドによって異なる。しかし、ほとんどのクラウドでは、何らかのAPIやCLIの仕組みを利用して、UIを介した方法を提供しています。

以下は、MicrosoftのAzure Cloud Computing Platformの起動画面に見られる例です。

クラウドが提供するインスタンスを起動するためのコマンドラインツールには、インスタンス作成時にユーザーデータファイルを渡すためのユーザーデータフラグがあります。

aws ec2 run-instances --image-id ami-abc1234 --count 1 \
    --instance-type m4.large --key-name keypair \
    --subnet-id subnet-abcd1234 --security-group-ids sg-abcd1234 \
    --user-data file://user_data.yaml

最後に、ユーザはcloud-initのqueryサブコマンドを使って、渡されたユーザデータを見ることができます。

$ cloud-init query userdata
#cloud-config
users:
- name: powersj
    ssh-import-id: lp:powersj
    shell: /bin/bash
    sudo: [‘ALL=(ALL) NOPASSWD:ALL’]

ベンダーデータ

ベンダーデータはユーザーデータと同じですが、クラウドプラットフォームのベンダー自身からのデータです。ユーザーデータのディレクティブは常にベンダーデータよりも優先される。ベンダーデータの価値は、クラウドベンダーがインスタンスのプラットフォームやリージョン固有の値を指定できることにある。例えば、パッケージミラーやNTPサーバーの設定などだ。また、ベンダーデータは完全にオプションであり、インスタンスの設定には必要ないことに注意してください。

$ cloud-init query vendordata
#cloud-config
{}
Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

The four stages of cloud-init

During the boot process cloud-init executes four stages. Each of these stages are setup to allow cloud-init to configure the instance from very early on to allow for network and storage configurations to occur before the rest of the system is configured.

The following will describe each stage and what configuration occurs during:

1. Init Local

The first stage runs as early as possible in order to allow cloud-init to generate network configuration and activate networking. As such, this is run as soon as the root filesystem is mounted read-write. Cloud-init will go and search for any local data source objects that may allow it to obtain metadata to configure the system. If any information is received cloud-init will proceed to setup networking devices, including bridges, bonds, vlans, etc.

2. Init

The second stage runs after networking is up and searches for any network data sources to find metadata for the system. This allows for custom storage configurations and expanding disk volumes to occur very early on. At this stage cloud-init will also make any changes it is requested to make to the block devices as well as setup file systems. Finally, the user-data for the system is obtained for use during the next stage.

3. Modules Config

The third stage follows immediately after the previous one to guaranteed networking and begins running the cloud-init config modules. Here SSH keys are imported, apt or yum is configured, and time related services are configured.

4. Modules Final

The final stage will then run at the very end of the boot process. This stage involves package install and configuration via user-scripts. Puppet and chef tools are setup and configured, and finally the final message module is run.

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

cloud-initの4つのステージ

ブートプロセスの間、cloud-init は 4 つのステージを実行します。これらの各ステージは、cloud-init がインスタンスを非常に早い段階から設定できるように設定されており、システムの他の部分が設定される前にネットワークとストレージの設定ができるようになっています。

以下では、各ステージとその間に発生する構成について説明します。

1. Init Local

最初のステージは、cloud-initがネットワーク設定を生成してネットワークを有効化できるようにするために、できるだけ早い段階で実行されます。このため、ルートファイルシステムが読み書き可能にマウントされるとすぐに実行されます。cloud-initは、システムを構成するためのメタデータを取得できる可能性のあるローカルデータソースオブジェクトを検索します。情報を受信した場合、cloud-initはブリッジ、ボンド、VLANなどのネットワークデバイスの設定に進みます。

2. Init

第2ステージは、ネットワークが立ち上がった後に実行され、ネットワークデータソースを検索してシステムのメタデータを見つけます。これにより、カスタムストレージ構成やディスクボリュームの拡張を非常に早い段階で行うことができます。この段階では、cloud-init は、ブロックデバイスやファイルシステムのセットアップを行うように要求された変更も行います。最後に、次のステージで使用するためのシステムのユーザーデータを取得します。

3. Modules Config

3つ目のステージは、前のステージの直後にネットワークの保証に続き、cloud-initの設定モジュールの実行を開始します。ここでは、SSH鍵のインポート、aptやyumの設定、時間関連サービスの設定を行います。

4. Modukes Final

最後のステージは、ブートプロセスの最後に実行されます。この段階では、ユーザースクリプトによるパッケージのインストールと設定を行います。Puppetとchefツールのセットアップと設定が行われ、最後に最終的なメッセージモジュールが実行されます。

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

Summary

Cloud-init is an essential tool for cloud instance initialisation. It provides the ability to setup and configure instances across clouds and distributions. Instances can be configured with special storage and networking and with customised software configurations.

Masayoshi Tohna@おれさまラボMasayoshi Tohna@おれさまラボ

まとめ

Cloud-initは、クラウドインスタンスの初期化に欠かせないツールです。クラウドやディストリビューションにまたがるインスタンスのセットアップと設定を行う機能を提供します。インスタンスは、特別なストレージとネットワーク、およびカスタマイズされたソフトウェア構成で構成することができます。

このスクラップは2020/12/20にクローズされました