Red Hat Training

A Red Hat training course is available for RHEL 8

パブリッククラウドプラットフォームへの Red Hat Enterprise Linux 8 のデプロイメント

Red Hat Enterprise Linux 8

クラウドデプロイメントで使用する RHEL イメージを選択または手動作成

Red Hat Customer Content Services

概要

本ガイドでは、Red Hat Enterprise Linux 8 仮想マシン (VM) を複数の主要なパブリッククラウドプラットフォームにデプロイする手順を説明します。

Red Hat ドキュメントへのフィードバック (英語のみ)

ご意見ご要望をお聞かせください。ドキュメントの改善点はございませんか。改善点を報告する場合は、以下のように行います。

  • 特定の文章に簡単なコメントを記入する場合は、以下の手順を行います。

    1. ドキュメントの表示が Multi-page HTML 形式になっていて、ドキュメントの右上端に Feedback ボタンがあることを確認してください。
    2. マウスカーソルで、コメントを追加する部分を強調表示します。
    3. そのテキストの下に表示される Add Feedback ポップアップをクリックします。
    4. 表示される手順に従ってください。
  • より詳細なフィードバックを行う場合は、Bugzilla のチケットを作成します。

    1. Bugzilla の Web サイトにアクセスします。
    2. Component で Documentation を選択します。
    3. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも記入してください。
    4. Submit Bug をクリックします。

第1章 Microsoft Azure での仮想マシンのデプロイメント

以下のトピックでは、Microsoft Azure で Red Hat Enterprise Linux 8 仮想マシン (VM) をデプロイする手順を示します。

前提条件

  • 手順を完了するには、Microsoft Azure アカウントと Red Hat カスタマーポータル アカウントが必要です。
  • Red Hat Cloud Access に登録します。Red Hat Cloud Access では、Red Hat のサブスクリプションを、物理システムまたはオンプレミスシステムから、Red Hat のフルサポートのある Microsoft Azure へ移動できます。

1.1. イメージを取得するその他の方法

以下のセクションで説明する手動による手順のほかに、Microsoft Azure 仮想マシンイメージを取得する方法もあります。以下に、その方法を示します。その方法は迅速ですが、手動による手順を完了し、Microsoft Azure で動作する Red Hat Enterprise Linux 仮想マシンに必要なパッケージおよび設定変更を理解しておくと便利な場合もあります。

  • Microsoft Azure Marketplace
    多くの Red Hat Enterprise Linux イメージは、Microsoft Azure Marketplace から入手できます。Red Hat Cloud Access プログラム (Microsoft Azure では、Bring Your Own License (BYOL) と呼ばれます) と Microsoft の Pay-As-You-Go マーケットプレイスイメージを使用した Red Hat サブスクリプションの使用とでは、仮想マシンの使用コストが違うことに注意してください。詳細は「商用マーケットプレース トランザクションの機能と考慮事項」 を参照してください。

1.2. カスタムベースイメージの使用

パブリッククラウド仮想マシン (またはインスタンス) を手動で設定するには、ベース (スタートアップ) の仮想マシンイメージから開始します。ベースの仮想マシンイメージを作成したら、構成設定を変更して、仮想マシン (またはインスタンス) がパブリッククラウドプラットフォーム上で動作するために必要なパッケージを追加します。イメージをアップロードして操作した後、さらに設定変更を行うことができます。これは通常、仮想マシンを特定のアプリケーションに使用する場合に必要になります。

RHEL の KVM クラウドイメージを準備するには、以下の手順に従います。RHEL の Hyper-V クラウドイメージを準備するには、Microsoft のドキュメンテーション を参照してください。

すべてのパブリッククラウドプラットフォームの使用に推奨される仮想マシンの基本イメージは、Red Hat カスタマーポータル からダウンロードした Red Hat Enterprise Linux 8 KVM Guest Image です。KVM Gues Image は、以下のクラウド構成の設定であらかじめ構成されています。

  • root アカウントが無効になっています。いくつかのパブリッククラウドプラットフォームでは、root アカウントアクセスを一時的に有効にして、構成設定の変更を行い、パブリッククラウドに必要なパッケージをインストールします。本ガイドでは、一時的に root アカウントアクセスを有効にする手順を説明します。
  • cloud-user という名前のユーザーアカウントが、イメージであらかじめ設定されています。cloud-user アカウントには sudo アクセス権があります。
  • イメージには cloud-init がインストールされて有効になっています。cloud-init は、初回起動時に仮想マシン (またはインスタンス) のプロビジョニングを処理するサービスです。

カスタムの Red Hat Enterprise Linux ISO イメージの使用を選択できます。ただし、カスタムの ISO イメージを使用する場合は、結果として得られる仮想マシンをパブリッククラウドプラットフォームで動作させるために、追加の設定タスクが必要になる場合があります。

1.2.1. 必要なシステムパッケージ

この手順では、Red Hat Enterprise Linux または Fedora を使用して Azure 用の仮想マシンイメージを作成していることを前提としています。この手順を正常に完了するには、以下の表に一覧表示されているパッケージをインストールする必要があります。これらのパッケージは、ベースの fedora リポジトリーに配置されています (Fedoraを使用している場合)。

表1.1 システムパッケージ

パッケージリポジトリー説明

libvirt

rhel-8-for-x86_64-appstream-rpms

プラットフォーム仮想化を管理するためのオープンソース API、デーモン、および管理ツール

virt-install

rhel-8-for-x86_64-appstream-rpms

仮想マシンを構築するためのコマンドラインユーティリティー

libguestfs

rhel-8-for-x86_64-appstream-rpms

仮想マシンのファイルシステムにアクセスして変更するためのライブラリー

libguestfs-tools

rhel-8-for-x86_64-appstream-rpms

仮想マシン用のシステム管理ツール (guestfish ユーティリティーを含む)

1.2.2. Azure 仮想マシンの構成設定

Microsoft Azure 仮想マシンには、以下の構成設定が必要です。設定の一部は、最初の仮想マシン作成時に有効になります。Microsoft Azure 用の仮想マシンイメージのプロビジョニング時に、他の設定が行われます。これらの設定は、手順を進める際には、必要に応じて再度参照してください。

表1.2 仮想マシンの構成設定

設定推奨事項

ssh

Azure VM へのリモートアクセスを確立するには、SSH を有効にする必要があります。

dhcp

プライマリー仮想アダプターは、dhcp (IPv4 のみ) 用に設定する必要があります。

swap 領域

専用 swap ファイルまたは swap パーティションは作成しないでください。swap 容量は、Windows Azure Linux Agent で設定できます。

NIC

プライマリー仮想ネットワークアダプター用に virtio を選択します。

暗号化

オペレーティングシステムディスクには完全なディスクの暗号化を使用しないでください。Red Hat は現在、Microsoft Azure の RHEL 仮想マシン用のオペレーティングシステムディスク暗号化に対応していません。データディスクは暗号化できます。

1.2.3. KVM Guest イメージからベースイメージの作成

Red Hat とオープンソースコミュニティーは、仮想化環境用に KVM ゲストイメージを継続的に最適化しています。イメージを設定したら、このイメージを、追加の仮想マシンインスタンスを作成するためのテンプレートとして使用できます。

手順

  1. Red Hat カスタマーポータル から最新の Red Hat Enterprise Linux 8 KVM Guest イメージをダウンロードします。
  2. 基本的な Red Hat Enterprise Linux 仮想マシンを作成し、起動します。手順については、「仮想化の設定および管理」のドキュメントを参照してください。仮想マシンを作成する際は、以下の構成設定を使用してください。

    • デフォルトのメモリーと CPU を仮想マシンの容量設定に変更します。
    • 仮想ネットワークインタフェース用に virtio を選択します。
  3. ログインプロンプトが表示されたら、新しい仮想マシンをシャットダウンします。
  4. 仮想マシンへの root アクセスを設定します。システムから、virt-customize を使用して、仮想マシンの root パスワードを生成します。

    # virt-customize -a <guest-image-path> --root-password password:<PASSWORD>

    例:

    # virt-customize -a /var/lib/libvirt/images/rhel-guest-image-8.0-120.x86_64.qcow2 --root-password password:redhat!
    [   0.0] Examining the guest ...
    [ 103.0] Setting a random seed
    [ 103.0] Setting passwords
    [ 112.0] Finishing off
  5. RHEL 仮想マシンを起動し、root としてログインして、root アクセスを確認します。
  6. root でログインしたら、イメージを設定できます。

1.2.4. ISO イメージからのベースイメージの作成

以下の手順は、カスタム ISO イメージ作成の手順と初期設定の要件を示しています。イメージを設定したら、このイメージを、追加の仮想マシンインスタンスを作成するためのテンプレートとして使用できます。

手順

  1. Red Hat カスタマーポータル から最新の Red Hat Enterprise Linux 8 Binary DVD ISO イメージをダウンロードします。
  2. ISO イメージからベース仮想マシンを作成する場合は、以下の初期構成の設定を使用します。

    • 仮想マシンに使用するメモリーと CPU を選択します。
    • 仮想ネットワークインタフェース用に virtio を選択します。
    • 一般的なホスト名を設定し、ens3 が有効になっていることを確認してください
  3. 以下の追加インストールの選択と変更を確認します。

    • 最小インストール を選択します。
    • インストール先 で、カスタムストレージ設定 を選択します。以下の設定情報を使用して選択を行います。

      • /boot で、500 MB 以上であることを確認してください。残りの領域は、root / に使用できます。
      • 論理ボリューム管理 (LVM) を使用できますが、標準のパーティションの使用が推奨されます。
      • ファイルシステム - xfs、ext4、ext3 のいずれかを使用できます。
    • Microsoft Azure のみ - swap 領域を削除します。swap 領域は、WALinuxAgent により Azure 内の物理ブレードサーバー上で設定されます。
  4. インストール開始時に、以下を行います。

    • root のパスワードを作成します。
    • 管理者ユーザーアカウントを作成します。
  5. インストールが完了したら、仮想マシンを再起動して root アカウントにログインします。
  6. root でログインしたら、イメージを設定できます。

1.3. Microsoft Azure のベースイメージの設定

ベースイメージには、Microsoft Azure でゴールドの Red Hat Enterprise Linux 8 仮想マシンイメージとして機能するための設定変更が必要です。以下のセクションでは、必要な追加の設定変更を説明します。

1.3.1. Hyper-V デバイスドライバーのインストール

Microsoft は、Linux Integration Services for Hyper-V パッケージの一部として、ネットワークおよびストレージデバイスのドライバーを提供しています。Hyper-V デバイスドライバーを Microsoft Azure 仮想マシンとしてプロビジョニングする前に、仮想マシンイメージにインストールしなければならない場合があります。lsinitrd | grep hv コマンドを使用して、ドライバーがインストールされていることを確認します。

手順

  1. 以下の grep コマンドを実行して、必要な Hyper-V デバイスドライバーがすべてインストールされているかどうかを確認します。

    # lsinitrd | grep hv

    以下の例では、すべてのドライバーがインストールされます。

    # lsinitrd | grep hv
    drwxr-xr-x   2 root     root            0 Aug 12 14:21 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/hv
    -rw-r--r--   1 root     root        31272 Aug 11 08:45 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/hv/hv_vmbus.ko.xz
    -rw-r--r--   1 root     root        25132 Aug 11 08:46 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/net/hyperv/hv_netvsc.ko.xz
    -rw-r--r--   1 root     root         9796 Aug 11 08:45 usr/lib/modules/3.10.0-932.el7.x86_64/kernel/drivers/scsi/hv_storvsc.ko.xz

    すべてのドライバーがインストールされていない場合は、残りの手順を完了してください。

    注記

    hv_vmbus ドライバーは、すでにこの環境に追加されている可能性があります。このドライバーが存在する場合でも、次の手順を実行してください。

  2. /etc/dracut.conf.ddracut.conf という名前のファイルを作成します。
  3. 以下のドライバーパラメーターを dracut.conf ファイルに追加します。

    add_drivers+=" hv_vmbus "
    add_drivers+=" hv_netvsc "
    add_drivers+=" hv_storvsc "
    注記

    引用符の前後に空白に注意してください (例: add_drivers+=" hv_VMBus ")。これにより、環境内にその他の Hyper-V ドライバーが存在している場合に、一意のドライバーが読み込まれます。

  4. intramfs イメージを再生成します。

    # dracut -f -v --regenerate-all
  5. lsinitrd | grep hv コマンドを実行して、ドライバーがインストールされていることを確認します。

1.3.2. 追加の構成設定の変更

仮想マシンを Microsoft Azure で動作するには、さらなる設定変更が必要です。変更を行うには、以下の手順を行います。

手順

  1. 必要な場合は、仮想マシンの電源を入れます。
  2. cloud-init サービスが存在する場合は停止します。

    # systemctl stop cloud-init
  3. cloud-init ソフトウェアを削除します。

    # yum remove cloud-init
  4. /etc/ssh/sshd_config ファイルを編集し、パスワード認証を有効にします。

    PasswordAuthentication yes
  5. 一般的なホスト名を設定してください。

    # hostnamectl set-hostname localhost.localdomain
  6. /etc/sysconfig/network-scripts/ifcfg-eth0 ファイルを編集 (または作成) します。以下のパラメーターのみを使用してください。

    注記

    ifcfg-eth0 ファイルは、RHEL 8 DVD ISO イメージには存在しないため、作成する必要があります。

    DEVICE="eth0"
    ONBOOT="yes"
    BOOTPROTO="dhcp"
    TYPE="Ethernet"
    USERCTL="yes"
    PEERDNS="yes"
    IPV6INIT="no"
  7. すべての永続的なネットワークデバイスルールがある場合は削除します。

    # rm -f /etc/udev/rules.d/70-persistent-net.rules
    # rm -f /etc/udev/rules.d/75-persistent-net-generator.rules
    # rm -f /etc/udev/rules.d/80-net-name-slot-rules
  8. ssh が自動的に起動するように設定します。

    # systemctl enable sshd
    # systemctl is-enabled sshd
  9. カーネルブートパラメーターを変更します。

    1. /etc/default/grub ファイルの GRUB_CMDLINE_LINUX 行の先頭に crashkernel=256 を追加します。crashkernel=auto が存在する場合は、crashkernel=256M に変更します。
    2. 次の行がない場合は、GRUB_CMDLINE_LINUX 行の末尾に追加します。

      earlyprintk=ttyS0
      console=ttyS0
      rootdelay=300
    3. 次のオプションが存在する場合は削除します。

      rhgb
      quiet
  10. grub.cfg ファイルを再生成します。

    # grub2-mkconfig -o /boot/grub2/grub.cfg
  11. 仮想マシンを登録し、Red Hat Enterprise Linux 8 リポジトリーを有効にします。

    # subscription-manager register --auto-attach
  12. Windows Azure Linux Agent (WALLinuxAgent) のインストールと有効化WALinuxAgent は、Red Hat Enterprise Linux 8 Application Stream (AppStream) に含まれています。詳細は、「アプリケーションストリームの使用」を参照してください。

    # yum install WALinuxAgent -y
    # systemctl enable waagent
  13. /etc/waagent.conf で以下の行を編集して、プロビジョニングされた仮想マシン用にスワップ領域を設定します。プロビジョニングされた仮想マシンに適した swap 領域を設定します。

    Provisioning.DeleteRootPassword=n
    ResourceDisk.Filesystem=ext4
    ResourceDisk.EnableSwap=y
    ResourceDisk.SwapSizeMB=2048
  14. Red Hat Subscription Manager から仮想マシンの登録を解除します。

    # subscription-manager unregister
  15. 既存のプロビジョニングの詳細をクリーンアップして、Microsoft Azure プロビジョニング用に仮想マシンを準備します。Azure は、仮想マシンを Azure に再プロビジョニングします。このコマンドは、警告を生成しますが、これは正常です。

    # waagent -force -deprovision
  16. シェル履歴をクリーンアップし、仮想マシンをシャットダウンします。

    # export HISTSIZE=0
    # poweroff

1.4. イメージの固定 VHD 形式への変換

すべての Azure 仮想マシンイメージは、固定 VHD 形式である必要があります。イメージは、VHD に変換する前に 1 MB の境界で調整する必要があります。このセクションでは、必要に応じて、イメージを、qcow2 形式から固定の VHD 形式に変換して配置する方法を説明します。イメージを変換したら、Microsoft Azure にアップロードできます。

手順

イメージサイズの検証

  1. イメージを qcow2 形式から raw 形式に変換します。

    $ qemu-img convert -f qcow2 -O raw <image-xxx>.qcow2 <image-xxx>.raw
  2. 以下のコンテンツを使用してシェルスクリプトを作成します。

    #!/bin/bash
    MB=$((1024 * 1024))
    size=$(qemu-img info -f raw --output json "$1" | gawk 'match($0, /"virtual-size": ([0-9]+),/, val) {print val[1]}')
    rounded_size=$((($size/$MB + 1) * $MB))
    if [ $(($size % $MB)) -eq  0 ]
    then
     echo "Your image is already aligned. You do not need to resize."
     exit 1
    fi
    echo "rounded size = $rounded_size"
    export rounded_size
  3. スクリプトを実行します。この例では、alignment.sh という名前を使用しています。

    $ sh align.sh <image-xxx>.raw
    • 「Your image is already aligned. You do not need to resize. (イメージはすでに整列しています。サイズを変更する必要はありません。)」 と表示されたら、次の手順に進みます。
    • 値が表示されると、イメージは調整されません。イメージのアライメント に移動して、固定の VHD 形式に変換します。表示されている値を使用して、イメージのサイズを変更します。
  4. 次のコマンドを実行して、ファイルを、固定の VHD 形式に変換します。Fedora 22 以降を使用している場合は、追加オプション force_size を追加する必要があります。

    RHEL サーバーまたはワークステーション (qemu-image バージョン 1.5.3 を使用)

    $ qemu-img convert -f raw -o subformat=fixed -O vpc <image-xxx>.raw <image.xxx>.vhd

    Fedora 22 以降 (qemu-img バージョン 2.6 以降を使用)

    $ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd

    一度変換すると、VHD ファイルは Microsoft Azure にアップロードする準備が整います。

イメージのアライメント

以下の手順は、raw ファイルのアラインメントが行われていない場合にのみ実行します。

  1. 検証スクリプトの実行時に表示される丸め値を使用して、raw ファイルのサイズを変更します。

    $ qemu-img resize -f raw <image-xxx>.raw <rounded-value>
  2. raw イメージファイルを VHD 形式に変換します。

    RHEL サーバーまたはワークステーション (qemu-image バージョン 1.5.3 を使用)

    $ qemu-img convert -f raw -o subformat=fixed -O vpc <image-xxx>.raw <image.xxx>.vhd

    Fedora 22 以降 (qemu-img バージョン 2.6 以降を使用)

    $ qemu-img convert -f raw -o subformat=fixed,force_size -O vpc <image-xxx>.raw <image.xxx>.vhd

    一度変換すると、VHD ファイルは Microsoft Azure にアップロードする準備が整います。

1.5. Azure CLI のインストール

Azure コマンドラインインターフェース (Azure CLI 2.0) をインストールするには、以下の手順を実行します。Azure CLI 2.0 は Python ベースのユーティリティーで、Microsoft Azure で仮想マシンの作成および管理を行うのに使用されます。

前提条件

  • Azure CLI を使用するための Microsoft Azure のアカウントがある。
  • Azure CLI をインストールするために、Python 2.7.x または Python 3.x と、OpenSSL 1.0.2 がインストールされている。

手順

  1. Microsoft リポジトリーキーをインポートします。

    $ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
  2. ローカル Azure CLI リポジトリーエントリーを作成します。

    $ sudo sh -c 'echo -e "[azure-cli]\nname=Azure CLI\nbaseurl=https://packages.microsoft.com/yumrepos/azure-cli\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/azure-cli.repo'
  3. yum パッケージインデックスを更新します。

    $ yum check-update
  4. python2 をインストールします。

    $ sudo yum install python2
  5. Azure CLI をインストールします。

    $ sudo yumdownloader azure-cli
    $ sudo rpm -ivh --nodeps azure-cli-2.0.64-1.el7.x86_64.rpm

    yamdownloader コマンドが「command not found」で失敗した場合は、最初に dnf-utils パッケージをインストールします。rpm コマンドで、azure-cli パッケージのバージョンを、yumdownloader でダウンロードしたバージョンに置き換えます。

  6. Azure CLI を実行します。

    $ az

1.6. Microsoft Azure でのリソースの作成

次のセクションの手順を完了して、vhd ファイルをアップロードし、ゴールドの Azure カスタムイメージを作成し、Microsoft Azure で RHEL 仮想マシンを起動します。

手順

  1. 次のコマンドを実行して、システムを Microsoft Azure で認証し、ログインします。

    $ az login

    例:

    [clouduser@localhost]$ az login
    To sign in, use a web browser to open the page https://aka.ms/devicelogin and enter the code FDMSCMETZ to authenticate.
      [
        {
          "cloudName": "AzureCloud",
          "id": "",
          "isDefault": true,
          "name": "",
          "state": "Enabled",
          "tenantId": "",
          "user": {
            "name": "",
            "type": "user"
          }
        }
      ]
  2. Azure リージョンにリソースグループを作成します。

    $ az group create --name <resource-group> --location <azure-region>

    例:

    [clouduser@localhost]$ az group create --name azrhelclirsgrp --location southcentralus
    {
      "id": "/subscriptions//resourceGroups/azrhelclirsgrp",
      "location": "southcentralus",
      "managedBy": null,
      "name": "azrhelclirsgrp",
      "properties": {
        "provisioningState": "Succeeded"
      },
      "tags": null
    }
  3. ストレージアカウントを作成します。有効な SKU 値の詳細は、SKU Types を参照してください。

    $ az storage account create -l <azure-region> -n <storage-account-name> -g <resource-group> --sku <sku_type>

    例:

    [clouduser@localhost]$ az storage account create -l southcentralus -n azrhelclistact -g azrhelclirsgrp --sku Standard_LRS
    {
      "accessTier": null,
      "creationTime": "2017-04-05T19:10:29.855470+00:00",
      "customDomain": null,
      "encryption": null,
      "id": "/subscriptions//resourceGroups/azrhelclirsgrp/providers/Microsoft.Storage/storageAccounts/azrhelclistact",
      "kind": "Storage",
      "lastGeoFailoverTime": null,
      "location": "southcentralus",
      "name": "azrhelclistact",
      "primaryEndpoints": {
        "blob": "https://azrhelclistact.blob.core.windows.net/",
        "file": "https://azrhelclistact.file.core.windows.net/",
        "queue": "https://azrhelclistact.queue.core.windows.net/",
        "table": "https://azrhelclistact.table.core.windows.net/"
    },
    "primaryLocation": "southcentralus",
    "provisioningState": "Succeeded",
    "resourceGroup": "azrhelclirsgrp",
    "secondaryEndpoints": null,
    "secondaryLocation": null,
    "sku": {
      "name": "Standard_LRS",
      "tier": "Standard"
    },
    "statusOfPrimary": "available",
    "statusOfSecondary": null,
    "tags": {},
      "type": "Microsoft.Storage/storageAccounts"
    }
  4. ストレージアカウントの接続文字列を取得します。

    $ az storage account show-connection-string -n <storage-account-name> -g <resource-group>

    例:

    [clouduser@localhost]$ az storage account show-connection-string -n azrhelclistact -g azrhelclirsgrp
    {
      "connectionString": "DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
    }
  5. 接続文字列をエクスポートします。接続文字列を、次のコマンドにコピーします。この文字列は、システムをストレージアカウントに接続します。

    $ export AZURE_STORAGE_CONNECTION_STRING="<storage-connection-string>"

    例:

    [clouduser@localhost]$ export AZURE_STORAGE_CONNECTION_STRING="DefaultEndpointsProtocol=https;EndpointSuffix=core.windows.net;AccountName=azrhelclistact;AccountKey=NreGk...=="
  6. ストレージコンテナーを作成します。

    $ az storage container create -n <container-name>

    例:

    [clouduser@localhost]$ az storage container create -n azrhelclistcont
    {
      "created": true
    }
  7. 仮想ネットワークを作成します。

    $ az network vnet create -g <resource group> --name <vnet-name> --subnet-name <subnet-name>

    例:

    [clouduser@localhost]$ az network vnet create --resource-group azrhelclirsgrp --name azrhelclivnet1 --subnet-name azrhelclisubnet1
    {
      "newVNet": {
        "addressSpace": {
          "addressPrefixes": [
          "10.0.0.0/16"
          ]
      },
      "dhcpOptions": {
        "dnsServers": []
      },
      "etag": "W/\"\"",
      "id": "/subscriptions//resourceGroups/azrhelclirsgrp/providers/Microsoft.Network/virtualNetworks/azrhelclivnet1",
      "location": "southcentralus",
      "name": "azrhelclivnet1",
      "provisioningState": "Succeeded",
      "resourceGroup": "azrhelclirsgrp",
      "resourceGuid": "0f25efee-e2a6-4abe-a4e9-817061ee1e79",
      "subnets": [
        {
          "addressPrefix": "10.0.0.0/24",
          "etag": "W/\"\"",
          "id": "/subscriptions//resourceGroups/azrhelclirsgrp/providers/Microsoft.Network/virtualNetworks/azrhelclivnet1/subnets/azrhelclisubnet1",
          "ipConfigurations": null,
          "name": "azrhelclisubnet1",
          "networkSecurityGroup": null,
          "provisioningState": "Succeeded",
          "resourceGroup": "azrhelclirsgrp",
          "resourceNavigationLinks": null,
          "routeTable": null
        }
      ],
      "tags": {},
      "type": "Microsoft.Network/virtualNetworks",
      "virtualNetworkPeerings": null
      }
    }

1.7. Azure ゴールドイメージのアップロードおよび作成

以下の手順に従って、VHD ファイルをコンテナーにアップロードし、ゴールドの Azure カスタムイメージを作成します。

注記

システムを再起動すると、エクスポートしたストレージ接続文字列は維持されません。以下の手順でいずれかのコマンドが失敗した場合は、再び接続文字列をエクスポートしてください。「Microsoft Azure でのリソースの作成」の手順 5 を参照してください。

手順

  1. ストレージコンテナーに vhd ファイルをアップロードします。これには数分かかる場合があります。ストレージコンテナーの一覧を表示するには、az storage container list を実行します。

    $ az storage blob upload --account-name <storage-account-name> --container-name <container-name> --type page --file <path-to-vhd> --name <image-name>.vhd

    例:

    [clouduser@localhost]$ az storage blob upload --account-name azrhelclistact --container-name azrhelclistcont --type page --file rhel-image-8.vhd --name rhel-image-8.vhd
    Percent complete: %100.0
  2. アップロードした vhd ファイルの URL を取得します。この URL は、次の手順で使用します。

    $ az storage blob url -c <container-name> -n <image-name>.vhd

    例:

    [clouduser@localhost]$ az storage blob url -c azrhelclistcont -n rhel-image-8.vhd "https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd"
  3. ゴールド Azure カスタムイメージを作成します。

    $ az image create -n <gold-image-name> -g <resource-group> -l <azure-region> --source <URL> --os-type linux
    注記

    このコマンドは、「Only blobs formatted as VHDs can be imported」(VHD としてフォーマットされたブロブのみがインポート可能) というエラーを返す場合があります。 このエラーは、イメージが VHD に変換される前に最も近い 1 MB の境界に合致していないことを意味します。詳細は、「イメージの固定 VHD 形式への変換」を参照してください。

    例:

    [clouduser@localhost]$ az image create -n rhel8 -g azrhelclirsgrp2 -l southcentralus --source https://azrhelclistact.blob.core.windows.net/azrhelclistcont/rhel-image-8.vhd --os-type linux

1.8. Microsoft Azure での仮想マシンの作成と起動

以下の手順では、イメージから管理ディスクの Azure 仮想マシンを作成するための最小限のコマンドオプションを説明します。追加オプションは、「az vm create」を参照してください。

手順

  1. 以下のコマンドを実行して仮想マシンを作成します。

    注記

    --generate-ssh-keys オプションを指定すると、秘密鍵と公開鍵のペアが作成されます。秘密鍵ファイルと公開鍵ファイルが、システムの ~/.ssh に作成されます。公開鍵は、--admin-username オプションで指定したユーザーの仮想マシン上の authorized_keys ファイルに追加されます。詳細は、「その他の認証方法」を参照してください。

    $ az vm create -g <resource-group> -l <azure-region> -n <vm-name> --vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 --os-disk-name <simple-name> --admin-username <administrator-name> --generate-ssh-keys --image <path-to-image>

    例:

    [clouduser@localhost]$ az vm create -g azrhelclirsgrp2 -l southcentralus -n rhel-azure-vm-1 --vnet-name azrhelclivnet1 --subnet azrhelclisubnet1  --size Standard_A2 --os-disk-name vm-1-osdisk --admin-username clouduser --generate-ssh-keys --image rhel8
    
    {
      "fqdns": "",
      "id": "/subscriptions//resourceGroups/azrhelclirsgrp/providers/Microsoft.Compute/virtualMachines/rhel-azure-vm-1",
      "location": "southcentralus",
      "macAddress": "",
      "powerState": "VM running",
      "privateIpAddress": "10.0.0.4",
      "publicIpAddress": "<public-IP-address>",
      "resourceGroup": "azrhelclirsgrp2"

    publicIpAddress を書き留めます。以下の手順で仮想マシンにログインするには、これが必要です。

  2. SSH セッションを開始し、仮想マシンにログインします。

    [clouduser@localhost]$ ssh  -i /home/clouduser/.ssh/id_rsa clouduser@<public-IP-address>.
    The authenticity of host ',<public-IP-address>' can't be established.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '<public-IP-address>' (ECDSA) to the list of known hosts.
    
    [clouduser@rhel-azure-vm-1 ~]$

ユーザープロンプトが表示された場合は、Azure VM が正常にデプロイされます。

これで、Microsoft Azure ポータルにアクセスして、リソースの監査ログとプロパティを確認できます。Microsoft Azure ポータルで仮想マシンを直接管理できます。複数の仮想マシンを管理している場合は、Azure CLI を使用する必要があります。Azure CLI では、Azure 内のリソースに強力なインターフェースを利用できます。Microsoft Azure で仮想マシンを管理するために使用するコマンドの詳細は、CLI で az --help を実行するか、Azure CLI コマンドリファレンスを参照してください。

1.9. その他認証方法

Azure が生成した鍵のペアの使用はセキュリティーを強化するために推奨されますが、必須ではありません。以下の例は、SSH 認証用の他の 2 つの方法を示しています。

例1: 次のコマンドオプションは、公開鍵ファイルを生成せずに新しい仮想マシンをプロビジョニングします。これにより、SSH は、パスワードを使用した SSH 認証を許可できます。

$ az vm create -g <resource-group> -l <azure-region> -n <vm-name> --vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 --os-disk-name <simple-name> --authentication-type password --admin-username <administrator-name> --admin-password <ssh-password> --image <path-to-image>
$ ssh <admin-username>@<public-ip-address>

例2: このコマンドオプションにより、新しい Azure 仮想マシンがプロビジョニングされ、既存の公開鍵ファイルを使用した SSH 認証が許可されます。

$ az vm create -g <resource-group> -l <azure-region> -n <vm-name> --vnet-name <vnet-name> --subnet <subnet-name> --size Standard_A2 --os-disk-name <simple-name> --admin-username <administrator-name> --ssh-key-value <path-to-existing-ssh-key> --image <path-to-image>
$ ssh -i <path-to-existing-ssh-key> <admin-username>@<public-ip-address>

第2章 Amazon Web Services で EC2 インスタンスとして RHEL イメージのデプロイメント

Amazon Web Services (AWS) に EC2 インスタンスとして Red Hat Enterprise Linux 8 イメージをデプロイするオプションは多数あります。本章では、イメージを選択するオプションを説明し、ホストシステムおよび仮想マシンのシステム要件の一覧を紹介します。本章では、カスタムイメージを作成し、そのイメージを EC2 にアップロードして、EC2 インスタンスを起動する手順も説明します。

この章では、Amazon のドキュメントを参照している箇所が多数あります。手順の詳細は、参照している Amazon ドキュメントを確認してください。

注記

AWS でセキュアに使用できる Red Hat 製品の一覧は、「Red Hat on Amazon Web Services」を参照してください。

前提条件

  • Red Hat カスタマーポータル のアカウントにサインアップします。
  • AWS にサインアップして、AWS リソースを設定します。詳細は「Setting Up with Amazon EC2」を参照してください。
  • Red Hat Cloud Access プログラム でサブスクリプションを有効にします。Red Hat Cloud Access プログラムでは、Red Hat のサブスクリプションを、物理システムまたはオンプレミスシステムから、Red Hat のフルサポートのある AWS へ移動できます。

2.1. AWS での Red Hat Enterprise Linux イメージの概要

AWS には、プライベートイメージとパブリックイメージがあります。Red Hat Cloud Access イメージは、Red Hat で利用できるプライベートイメージです。オンデマンドイメージは、AWS Marketplace 経由で利用できるパブリックイメージです。

Red Hat Cloud Access イメージ

Red Hat Cloud Access イメージには、Gold Image と、AWS に追加するカスタムイメージが含まれます。Red Hat Cloud Access イメージを使用して、以下を行います。

  • Red Hat サブスクリプションを活用します。Red Hat は、これを「BYOS (bring your own subscription: 自身のサブスクリプションを使用)」と呼んでいます。 BYOS を使用して、必要に応じて、保存したイメージの状態で Red Hat 製品にアクセスします。
  • その他のすべてのインスタンスコストを Amazon に支払うことになりますが、サブスクリプション自体には Red Hat 製品コストが含まれます。
  • 直接 Red Hat との価格を維持し、サポートを維持します。Red Hat Cloud Access のサブスクリプション条件 (価格やサポートを含む) は、変わりません。
  • アップロードしたイメージには、AWS 管理コンソールおよびコマンドラインインターフェース (CLI) を使用してアクセスできます。

AWS でイメージをホストするには、まず Red Hat からサブスクリプションを購入し、Red Hat Cloud Access プログラムでイメージを有効にします。サブスクリプションが有効になったら、サブスクライブしている Red Hat 製品のイメージをアップロードできます。

オンデマンドイメージ

オンデマンドイメージは、すべてのユーザーが使用できるパブリックイメージです。オンデマンドイメージの場合は、以下のようになります。

  • インスタンスには、Amazon に 1 時間ごとの料金を支払います。この場合、インスタンスには 1 時間あたりの Red Hat 製品コストが含まれます。
  • AWS 内のオンデマンドインスタンスのみを使用できます。
  • Red Hat は、イメージへの更新を提供します。AWS により、Red Hat Update Infrastructure (RHUI) から更新を利用できるようになります。
  • Red Hat Subscription Management (RHSM) または Red Hat Satellite でオンデマンドイメージを登録することはありません。
注記

Red Hat Satellite は、Red Hat Cloud Access (BYOS) イメージでのみ使用してください。

重要

オンデマンドインスタンスは、Red Hat Cloud Access インスタンスに変換できません。オンデマンドイメージから Red Hat Cloud Access (BYOS) イメージに変更するには、Red Hat Cloud Access インスタンスを新たに作成し、オンデマンドインスタンスからデータを移行します。データを移行した後に、オンデマンドのインスタンスをキャンセルして二重請求を回避します。

イメージを取得するオプション

AWS 用の Red Hat Enterprise Linux 8 イメージを取得するオプションは複数あります。

  • Red Hat Cloud Access プログラム を使用して、共有 Red Hat Gold Image のライブラリーにアクセスします。
  • 独自の Red Hat Enterprise Linux イメージを作成して AWS にアップロードし、Red Hat Cloud Access プログラム で有効にした Red Hat サブスクリプションを割り当てます。

    注記

    Red Hat Enterprise Linux 8 Image Builder を使用してカスタムイメージを作成することも可能です。詳細は「RHEL システムイメージのカスタマイズ」を参照してください。

  • AWS 管理コンソール でインスタンスを起動する際に、オンデマンドの Red Hat Enterprise Linux 8 イメージを選択します。
  • AWS Marketplace からオンデマンドの Red Hat Enterprise Linux 8 イメージを選択します。RHEL を検索します。

2.2. AWS での Red Hat Gold Image の使用

Red Hat Cloud Access プログラムのサブスクリプションを有効にすると、AWS で Red Hat Gold Image にアクセスできるようになります。本セクションでは、このイメージの一覧を表示して特定するのに役に立つトピックを説明します。

前提条件

  • Red Hat サブスクリプションが有効になっている。Red Hat Cloud Access プログラム を使用して、共有 Red Hat Gold Image のライブラリーにアクセスできます。

2.2.1. Red Hat によるゴールドイメージの命名方法

Red Hat Enterprise Linux イメージは、AWS 上で AMI (Amazon Machine Images) になります。以下では、AMI の Red Hat 命名規則を説明します。

  • 初期の General Availability (GA) リリースの場合:

    | Red Hat Product |-| Version |-| Virtualization Type |-| Red Hat Release Type |-| Release Date |-| Minor Version Release AMI Iteration |-| Subscription Model |-| EBS Volume Type |

    例: RHEL-7.6_HVM_GA-20190128-x86_64-0-Access2-GP2

  • 初回の GA リリースに続くリリースの場合:

    | Red Hat Product |-| Version |-| Virtualization Type |-| Release Date |-| Minor Version Release AMI Iteration |-| Subscription Model |-| EBS Volume Type |

    例: RHEL-6.7_HVM-20160412-x86_64-1-Access2-GP2

注記

すべての Red Hat Gold Image には、AMI 名が Subscription Model である Access の指定が含まれます。一方、パブリックイメージには Hourly の指定があります。

2.2.2. AWS 管理コンソールへの Red Hat Gold Image の一覧表示

AWS 管理コンソールで、Red Hat Gold Image の一覧を表示するには、以下の手順を実行します。

手順

  1. AWS Management Console を起動します。
  2. All ServicesCompute の下で EC2 を選択します。
  3. Launch Instances をクリックします。
  4. My AMIs を選択します。
  5. Ownership の下にある Shared with Me を選択します。Red Hat Cloud Access プログラム で利用可能な Red Hat Gold Image の一覧が表示されます。
注記

また、Red Hat がイメージの公開に使用する数でフィルタリングし、Red Hat Gold Image の一覧を表示することもできます。Share with me を選択し、検索フィールドに番号 309956199498 を入力します。

2.2.3. AWS コマンドラインインターフェースを使用した Red Hat Gold Image の一覧表示

AWS コマンドラインインターフェース (CLI) の describe-images コマンドを使用して、Red Hat 製品サブスクリプションに基づいて利用可能な Red Hat Gold Image の一覧を表示できます。一覧から、お客様のシナリオに適したゴールドイメージを選択します。

前提条件

AWS CLI をインストールします。詳細は、xref:installing-aws-command-line-interface_deploying-a-virtual-machine-on-aw を参照してください。

手順

  1. ターミナルウィンドウを起動します。
  2. シナリオに固有の オプション を指定して describe-images コマンドを実行します。Red Hat がイメージの公開に使用する所有者番号 (309956199498) を必ず含めます。

    以下の例は、us-east-1 地域で利用可能なすべての Red Hat Gold Image および Red Hat Enterprise Linux パブリックイメージを一覧表示します。

    aws ec2 describe-images --owners 309956199498 --query 'sort_by(Images, &CreationDate)[*].[CreationDate,Name,ImageId]' --filters "Name=name,Values=RHEL-8*" --region us-east-1 --output table

    以下の例は、Red Hat Enterprise Linux 8 の Red Hat Gold Image のみを一覧表示します。

    aws ec2 describe-images --owners 309956199498 --query 'sort_by(Images, &CreationDate)[*].[CreationDate,Name,ImageId]' --filters "Name=name,Values=RHEL-8*Access2*" --region us-east-1 --output table

2.3. AWS 管理コンソールを使用した EC2 インスタンスの作成

AWS 管理コンソールを使用して EC2 インスタンスを作成するには、以下の手順を行います。

注記

Amazon EC2 インスタンスとその設定オプションの詳細は、「Amazon EC2 Instances」を参照してください。

前提条件

この手順を行う前に、AWS リソースを設定している。設定していない場合は、「Setting Up with Amazon EC2」で詳細を確認してください。

手順

  1. AWS Management Console を起動します。

    1. All services の下にある Compute カテゴリーで、EC2 を選択します。
    2. Launch Instances をクリックします。
    3. Amazon Machine Image (AMI) を選択します。

      注記

      Red Hat Cloud Access プログラム では、共有 Red Hat Gold Image のライブラリーを利用できます。詳細は「AWS 管理コンソールへの Red Hat Cloud Access Gold Image の一覧表示」を参照してください。

  2. ワークロードの要件を満たす、もしくは超過する インスタンスタイプ を選択します。

    インスタンスタイプに関する情報は、「Amazon EC2 Instance Types」を参照してください。

  3. Next:Configure Instance Details をクリックします。

    1. 作成する インスタンス数 を入力します。
    2. Network で、AWS 環境でのセットアップ の際に作成した VPC を選択します。インスタンスのサブネットを選択するか、新しいサブネットを作成します。
    3. 自動割り当てパブリック IP では、有効化 を選択します。

      注記

      これらは、基本インスタンスの作成に必要な最小限の設定オプションです。アプリケーション要件に応じて追加オプションを確認します。

  4. Next: Add Storage をクリックします。デフォルトのストレージが十分であることを確認してください。
  5. Next: Add Tags をクリックします。

    注記

    タグを使用すると、AWS リソースの管理に役立ちます。タグ付けの詳細は、「Tagging Your Amazon EC2 Resources」を参照してください。

  6. Next:Configure Security Group をクリックします。AWS 環境でのセットアップ の際に作成したセキュリティーグループを選択します。
  7. 確認と起動 をクリックします。選択内容を確認します。
  8. 起動 をクリックします。既存の鍵のペアの選択、または新しい鍵のペアの作成に関するダイアログが表示されます。AWS 環境でのセットアップ 時に作成した鍵のペアを選択します。

    注記

    秘密鍵のパーミッションが正しいことを確認します。必要に応じて chmod 400 <keyname>.pem コマンドオプションを使用してパーミッションを変更します。

  9. Launch Instances をクリックします。
  10. View Instances をクリックします。インスタンスに名前を付けることができます。

インスタンスを選択して 接続する をクリックすると、インスタンスへの SSH セッションを開始できます。スタンドアローン SSH クライアント に記載されている例を使用してください。

2.4. AWS 用のカスタムベースイメージの作成前のシステム準備

本セクションには、AWS でインポートおよび使用する仮想マシンを作成および設定する前のシステム準備に関する情報が記載されています。

2.4.1. カスタムベースイメージの使用

AWS 仮想マシンを手動で設定するには、ベース (スタートアップ) 仮想マシンイメージで開始します。ベース仮想マシンイメージを作成したら、構成設定を変更して、仮想マシンが AWS 上で動作するために必要なパッケージを追加できます。イメージのアップロードと稼働後に、特定のアプリケーションに追加の設定変更を行うことができます。

AWS に使用する推奨のベース仮想マシンイメージは、Red Hat カスタマーポータル からダウンロードした Red Hat Enterprise Linux 8 KVM Gues Image です。KVM Guest Image は、以下のクラウド構成設定であらかじめ設定されています。

  • root アカウントが無効になっています。root アカウントへのアクセスを一時的に有効にして、設定変更を行い、AWS が必要とするパッケージをインストールします。本ガイドでは、root アカウントアクセスを有効にする手順を説明します。
  • イメージには、cloud-user という名前のユーザーアカウントが、あらかじめ設定されています。cloud-user アカウントには sudo アクセス権があります。
  • イメージには cloud-init がインストールされて有効になっています。cloud-init は、初回起動時に仮想マシン (またはインスタンス) のプロビジョニングを処理するサービスです。

カスタムの Red Hat Enterprise Linux ISO イメージを選択できますが、カスタム ISO イメージを使用する場合は、生成される仮想マシンが AWS 上で動作するように追加の設定変更が必要になる場合があります。

2.4.2. AWS 仮想マシン構成設定

AWS 仮想マシンには、以下の構成設定が必要です。

表2.1 仮想マシンの構成設定

設定推奨事項

ssh

AWS 仮想マシンへのリモートアクセスを確立するには、SSH を有効にする必要があります。

dhcp

プライマリー仮想アダプターは、dhcp (IPv4 のみ) 用に設定する必要があります。

2.5. KVM Guest Image からベースイメージの作成

このセクションの手順に従って、KVM Guest Image からベースイメージを作成します。

前提条件

2.5.1. KVM ゲストイメージのダウンロード

手順

  1. Red Hat カスタマーポータル から最新の Red Hat Enterprise Linux KVM Guest Image をダウンロードします。
  2. イメージを /var/lib/libvirt/images に移動します。

2.5.2. KVM ゲストイメージから仮想マシンの作成

手順

  1. 仮想化用のホストマシンを有効にしていることを確認します。情報および手順は、「RHEL 8 で仮想化を有効にする」を参照してください。
  2. 基本的な Red Hat Enterprise Linux 仮想マシンを作成し、起動します。手順は「仮想マシンの作成」を参照してください。仮想マシンを作成する際は、以下の設定を使用してください。

    • デフォルトのメモリーと CPU を仮想マシンの容量設定に変更します。
    • 仮想ネットワークインタフェース用に virtio を選択します。
  3. ログインプロンプトが表示されたら、新しい仮想マシンをシャットダウンします。

2.5.3. KVM Guest Image への root アクセスの設定

イメージに対して追加の設定変更を行うには、root アクセスが必要です。以下の手順に従って、仮想マシンへの root アクセスを有効にします。

手順

  1. ホストシステムから、virt-customize コマンドを使用して、仮想マシンの root パスワードを生成します。

    # virt-customize -a <guest-image-path> --root-password password:<PASSWORD>

    例:

    # virt-customize -a /var/lib/libvirt/images/rhel-guest-image-8.0-120.x86_64.qcow2 --root-password password:redhat!
    [   0.0] Examining the guest ...
    [ 103.0] Setting a random seed
    [ 103.0] Setting passwords
    [ 112.0] Finishing off
  2. RHEL 仮想マシンを起動し、root としてログインして、root アクセスを確認します。
  3. イメージを設定します。
  4. 仮想マシンの電源をオフにします。

2.6. ISO イメージからのベース仮想マシンの作成

このセクションの手順に従って、ISO イメージからベースイメージを作成します。

前提条件

2.6.1. ISO イメージのダウンロード

手順

  1. Red Hat カスタマーポータル から最新の Red Hat Enterprise Linux ISO Image をダウンロードします。
  2. イメージを /var/lib/libvirt/images に移動します。

2.6.2. ISO イメージからの仮想マシンの作成

手順

  1. 仮想化用のホストマシンを有効にしていることを確認します。情報および手順は、「RHEL 8 で仮想化を有効にする」を参照してください。
  2. 基本的な Red Hat Enterprise Linux 仮想マシンを作成し、起動します。手順は「仮想マシンの作成」を参照してください。ISO イメージからベース仮想マシンを作成する場合は、以下の初期構成の設定を使用します。

    • 仮想マシンに使用するメモリーと CPU を選択します。
    • 仮想ネットワークインタフェース用に virtio を選択します。
    • 一般的なホスト名を設定し、ens3 が有効になっていることを確認してください

2.6.3. RHEL インストールの完了

仮想マシンが起動したら、以下の手順を実行してインストールを完了し、root アクセスを有効にします。

手順

  1. インストールプロセス中に使用する言語を選択します。
  2. インストール概要 ビューで、以下を行います。

    1. ソフトウェアの選択 をクリックし、最小インストール を選択します。
    2. 完了 をクリックします。
    3. インストール先 をクリックし、ストレージ設定カスタム を選択します。

      • /boot で、500 MB 以上であることを確認してください。残りの領域は、root / に使用できます。
      • 標準のパーティションが推奨されますが、論理ボリューム管理 (LVM) を使用することも可能です。
      • ファイルシステムでは、xfs、ext4、ext3 などを使用できます。
      • 変更が完了したら、完了 をクリックします。
  3. インストールの開始 をクリックします。
  4. Root パスワード を設定します。必要に応じて、他のユーザーを作成します。
  5. インストールが完了したら、仮想マシンを再起動して root でログインします。
  6. イメージを設定します。
  7. 仮想マシンの電源をオフにします。

2.7. RHEL イメージの AWS へのアップロード

このセクションの手順に従って、イメージを AWS にアップロードします。

2.7.1. AWS CLI のインストール

AWS CLI をインストールするには、以下の手順を実行します。

前提条件

  • AWS アクセスキー ID および AWSシークレットアクセスキー を作成していてアクセスできる。情報および手順は「Quickly Configuring the AWS CLI」を参照してください。

手順

  1. Python 3 および pip ツールをインストールします。

    # yum install python3
    # yum install python3-pip
  2. pip コマンドを使用して、AWS コマンドラインツール をインストールします。

    # pip3 install awscli
  3. aws --version コマンドを実行して、AWS CLI をインストールしたことを確認します。

    $ aws --version
    aws-cli/1.16.182 Python/2.7.5 Linux/3.10.0-957.21.3.el7.x86_64 botocore/1.12.172
  4. AWS アクセスの詳細に従って、AWS コマンドラインクライアントを設定します。

    $ aws configure
    AWS Access Key ID [None]:
    AWS Secret Access Key [None]:
    Default region name [None]:
    Default output format [None]:

2.7.2. S3 バケットの作成

AWS にインポートするには、Amazon S3 バケットが必要です。Amazon S3 バケットは、オブジェクトを格納する Amazon リソースです。イメージのアップロードプロセスの一環として、S3 バケットを作成し、イメージをバケットに移動します。以下の手順に従って、バケットを作成します。

手順

  1. Amazon S3 コンソール を起動します。
  2. Create Bucket をクリックします。Create Bucket ダイアログが表示されます。
  3. Name and region ビューで、以下を行います。

    1. Bucket name を入力します。
    2. Region を入力します。
    3. Next をクリックします。
  4. Configure options ビューでは、目的のオプションを選択し、Next をクリックします。
  5. Set permissions ビューで、デフォルトのオプションを変更または受け入れ、Next をクリックします。
  6. バケットの設定を確認します。
  7. Create bucket をクリックします。

2.7.3. vmimport ロールの作成

仮想マシンのインポートに必要な vmimport ロールを作成するには、以下の手順を実行します。詳細は、Amazon ドキュメントの「VM Import Service Role」を参照してください。

手順

  1. trust-policy.json という名前のファイルを作成し、以下のポリシーを追加します。システムの任意の場所にファイルを保存し、その場所を書き留めます。

    {
       "Version": "2012-10-17",
       "Statement": [
          {
             "Effect": "Allow",
             "Principal": { "Service": "vmie.amazonaws.com" },
             "Action": "sts:AssumeRole",
             "Condition": {
                "StringEquals":{
                   "sts:Externalid": "vmimport"
                }
             }
          }
       ]
    }
  2. create role コマンドを実行して vmimport ロールを作成します。trust-policy.json ファイルの場所への完全なパスを指定します。file:// の接頭辞をパスに設定します。以下に例を示します。

    aws iam create-role --role-name vmimport --assume-role-policy-document file:///home/sample/ImportService/trust-policy.json
  3. role-policy.json という名前のファイルを作成し、以下のポリシーを追加します。s3-bucket-name を、s3 バケットの名前に置き換えます。

    {
       "Version":"2012-10-17",
       "Statement":[
          {
             "Effect":"Allow",
             "Action":[
                "s3:GetBucketLocation",
                "s3:GetObject",
                "s3:ListBucket"
             ],
             "Resource":[
                "arn:aws:s3:::s3-bucket-name",
                "arn:aws:s3:::s3-bucket-name/*"
             ]
          },
          {
             "Effect":"Allow",
             "Action":[
                "ec2:ModifySnapshotAttribute",
                "ec2:CopySnapshot",
                "ec2:RegisterImage",
                "ec2:Describe*"
             ],
             "Resource":"*"
          }
       ]
    }
  4. put-role-policy コマンドを使用して、作成したロールにポリシーを割り当てます。role-policy.json ファイルの完全パスを指定します。以下に例を示します。

    aws iam put-role-policy --role-name vmimport --policy-name vmimport --policy-document file:///home/sample/ImportService/role-policy.json

2.7.4. イメージの S3 への変換およびプッシュ

イメージを S3 に変換してプッシュするには、以下の手順を実行します。サンプルは典型的なもので、qcow2 ファイル形式でフォーマットされたイメージを raw 形式に変換します。Amazon では、OVA、VHD、VHDX、VMDK、および raw の形式の画像を利用できます。Amazon で利用できるイメージ形式の詳細は、「How VM Import/Export Works」を参照してください。

手順

  1. qemu-img コマンドを実行してイメージを変換します。以下に例を示します。

    qemu-img convert -f qcow2 -O raw rhel-server-7.7-beta-1-x86_64-kvm.qcow2 rhel-server-7.7-beta-1-x86_64-kvm.raw
  2. イメージを S3 にプッシュします。

    aws s3 cp rhel-server-7.7-beta-1-x86_64-kvm.raw s3://s3-bucket-name
    注記

    これには数分かかる場合があります。完了したら、AWS S3 コンソール を使用して、イメージが S3 バケットに正常にアップロードされたことを確認できます。

2.7.5. イメージのスナップショットとしてのインポート

イメージをスナップショットとしてインポートするには、以下の手順を実行します。

手順

  1. イメージのバケットとパスを指定するファイルを作成します。container.json ファイルに名前を付けます。以下の例では、s3-bucket-name をバケット名に置き換え、s3-key を鍵に置き換えます。Amazon S3 コンソールを使用して、イメージの鍵を取得できます。

    {
        "Description": "rhel-server-7.7-beta-1-x86_64-kvm.raw",
        "Format": "raw",
        "UserBucket": {
            "S3Bucket": "s3-bucket-name",
            "S3Key": "s3-key"
        }
    }
  2. イメージをスナップショットとしてインポートします。この例では、パブリックの Amazon S3 ファイルを使用しています。Amazon S3 コンソールを使用して、バケットのパーミッション設定を変更できます。

    aws ec2 import-snapshot --disk-container file://containers.json

    端末は以下のようなメッセージを表示します。メッセージ内の ImportTaskID を書き留めます。

    {
        "SnapshotTaskDetail": {
            "Status": "active",
            "Format": "RAW",
            "DiskImageSize": 0.0,
            "UserBucket": {
                "S3Bucket": "s3-bucket-name",
                "S3Key": "rhel-server-7.7-beta-1-x86_64-kvm.raw"
            },
            "Progress": "3",
            "StatusMessage": "pending"
        },
        "ImportTaskId": "import-snap-06cea01fa0f1166a8"
    }
  3. describe-import-snapshot-tasks コマンドを使用して、インポートの進行状況を追跡します。ImportTaskID を含めます。

    aws ec2 describe-import-snapshot-tasks --import-task-ids import-snap-06cea01fa0f1166a8

    返されるメッセージには、タスクの現在の状態が表示されます。完了したら、Statuscompleted になります。ステータスに記載されているスナップショット ID を書き留めます。

2.7.6. アップロードしたスナップショットからの AMI の作成

EC2 では、インスタンスの起動時に Amazon Machine Image (AMI) を選択する必要があります。アップロードしたスナップショットから AMI を作成するには、以下の手順を行います。

手順

  1. AWS EC2 Dashboard に移動します。
  2. Elastic Block Storeスナップショット を選択します。
  3. スナップショット ID (例: snap-0e718930bd72bcda0) を検索します。
  4. スナップショットを右クリックして、イメージの作成 を選択します。
  5. イメージに名前を付けます。
  6. 仮想化のタイプ で、ハードウェア仮想化支援機能 を選択します。
  7. 作成 をクリックします。イメージ作成に関する注意事項に、イメージへのリンクがあります。
  8. イメージリンクをクリックします。Images>AMI の下にイメージが表示されます。

2.7.7. AMI からのインスタンスの起動

AMI からインスタンスを起動するには、以下の手順を行います。

手順

  1. AWS EC2 Dashboard から、イメージ を選択して、AMI を選択します。
  2. イメージを右クリックして、起動 を選択します。
  3. 「AWS コンソールを使用した EC2 インスタンスの作成」に記載されている手順に従って、インスタンスタイプを選んでからイメージを設定します。
注記

インスタンスの実行後、インスタンスを選択して 接続 をクリックすると、インスタンスに対して SSH セッションを起動できます。スタンドアローン SSH クライアント に記載されている例を使用してください。

2.7.8. Red Hat サブスクリプションの割り当て

Red Hat Cloud Access プログラムで有効になっているサブスクリプションを登録するには、以下の手順を行います。

前提条件

  • サブスクリプションが有効になっている。

手順

  1. システムを登録します。

    `subscription-manager register --auto-attach`
  2. サブスクリプションを割り当てます。

第3章 Google Cloud Platform に Compute Engine インスタンスとして RHEL イメージのデプロイメント

以下のトピックでは、Google Cloud Platform (GCP) に Compute Engine インスタンスとして Red Hat Enterprise Linux 8 イメージをデプロイする際のガイダンスを提供します。

注記

Google Cloud Platform (GCP) 向けの Red Hat 製品認定の一覧は、「Red Hat on Google Cloud Platform」を参照してください。

前提条件

  • 本章の手順を完了するには、Red Hat カスタマーポータル のアカウントが必要です。
  • Google Cloud Platform コンソールにアクセスするために、GCP でアカウントを作成している。詳細は「Google Cloud」を参照してください。
  • Red Hat Cloud Access プログラム で、Red Hat サブスクリプションを有効にしている。Red Hat Cloud Access プログラムでは、Red Hat のサブスクリプションを、物理システムまたはオンプレミスシステムから、Red Hat のフルサポートのある GCP へ移動できます。

3.1. GCP での Red Hat Enterprise Linux イメージの概要

本章の手順に従ってベースイメージを作成すると、プライベートイメージが作成され、そのイメージをアップロードして、Google Cloud Platform (GCP) プロジェクトで利用できるようになります。Red Hat Cloud Access プログラム を使用してサブスクリプションを有効にした場合は、サブスクリプションを割り当てるだけで、Red Hat から直接フルサポートを受けることができます。本章の状況下では、プライベートイメージは、GCP にアップロードする前に作成済みのイメージになります。プライベートイメージが、GCP にアップロードする既存のオンプレミスイメージになる場合もあります。

または、GCP でパブリックイメージを見つけることができます。パブリックイメージはすべてのユーザーが利用できます。GCP を使用してカスタムイメージを直接作成することもできます。パブリックイメージには、Google Cloud Platform Marketplace が含まれます。パブリックイメージ (および GCP で作成したカスタムイメージ) には、異なる Google サポートパッケージが必要です。

つまり、イメージの作成または取得には、以下のオプションを使用できます。

  • Red Hat Cloud Access プログラムを使用してサブスクリプションを有効にします。プライベートイメージを作成して GCP にイメージをアップロードするか、既存のイメージを GCP にアップロードします。Red Hat サブスクリプションを割り当てて、Red Hat から直接フルサポートを受けます。

    注記

    Red Hat Enterprise Linux 8 Image Builder を使用してカスタムイメージを作成することも可能です。詳細は「RHEL システムイメージのカスタマイズ」を参照してください。

  • Google Cloud Platform Marketplace から、パブリック (オンデマンド) の Red Hat Enterprise Linux 8 イメージを選択するか、GCP にカスタムの Red Hat Enterprise Linux 8 イメージを作成します。テクニカルサポートについては、Google サポートパッケージにサインアップしてください。

    注記

    パブリックイメージ、および GCP で作成したパブリックイメージは、Red Hat サブスクリプションを使用せず、Google Cloud Platform から料金を請求されます。このイメージには、技術サポート向けに Google とのサポート契約が別途必要になります。

3.2. KVM Guest Image からベースイメージの作成

このセクションの手順に従って、KVM Guest Image からベースイメージを作成します。

前提条件

3.2.1. KVM ゲストイメージのダウンロード

手順

  1. Red Hat カスタマーポータル から最新の Red Hat Enterprise Linux KVM Guest Image をダウンロードします。
  2. イメージを /var/lib/libvirt/images に移動します。

3.2.2. KVM ゲストイメージから仮想マシンの作成

手順

  1. 仮想化用のホストマシンを有効にしていることを確認します。情報および手順は、「RHEL 8 で仮想化を有効にする」を参照してください。
  2. 基本的な Red Hat Enterprise Linux 仮想マシンを作成し、起動します。手順は「仮想マシンの作成」を参照してください。仮想マシンを作成する際は、以下の設定を使用してください。

    • デフォルトのメモリーと CPU を仮想マシンの容量設定に変更します。
    • 仮想ネットワークインタフェース用に virtio を選択します。
  3. ログインプロンプトが表示されたら、新しい仮想マシンをシャットダウンします。

3.2.3. KVM Guest Image への root アクセスの設定

イメージに対して追加の設定変更を行うには、root アクセスが必要です。以下の手順に従って、仮想マシンへの root アクセスを有効にします。

手順

  1. ホストシステムから、virt-customize コマンドを使用して、仮想マシンの root パスワードを生成します。

    # virt-customize -a <guest-image-path> --root-password password:<PASSWORD>

    例:

    # virt-customize -a /var/lib/libvirt/images/rhel-guest-image-8.0-120.x86_64.qcow2 --root-password password:redhat!
    [   0.0] Examining the guest ...
    [ 103.0] Setting a random seed
    [ 103.0] Setting passwords
    [ 112.0] Finishing off
  2. RHEL 仮想マシンを起動し、root としてログインして、root アクセスを確認します。
  3. イメージを設定します。
  4. 仮想マシンの電源をオフにします。

3.3. ISO イメージからのベース仮想マシンの作成

このセクションの手順に従って、ISO イメージからベースイメージを作成します。

前提条件

3.3.1. ISO イメージのダウンロード

手順

  1. Red Hat カスタマーポータル から最新の Red Hat Enterprise Linux ISO Image をダウンロードします。
  2. イメージを /var/lib/libvirt/images に移動します。

3.3.2. ISO イメージからの仮想マシンの作成

手順

  1. 仮想化用のホストマシンを有効にしていることを確認します。情報および手順は、「RHEL 8 で仮想化を有効にする」を参照してください。
  2. 基本的な Red Hat Enterprise Linux 仮想マシンを作成し、起動します。手順は「仮想マシンの作成」を参照してください。ISO イメージからベース仮想マシンを作成する場合は、以下の初期構成の設定を使用します。

    • 仮想マシンに使用するメモリーと CPU を選択します。
    • 仮想ネットワークインタフェース用に virtio を選択します。
    • 一般的なホスト名を設定し、ens3 が有効になっていることを確認してください

3.3.3. RHEL インストールの完了

仮想マシンが起動したら、以下の手順を実行してインストールを完了し、root アクセスを有効にします。

手順

  1. インストールプロセス中に使用する言語を選択します。
  2. インストール概要 ビューで、以下を行います。

    1. ソフトウェアの選択 をクリックし、最小インストール を選択します。
    2. 完了 をクリックします。
    3. インストール先 をクリックし、ストレージ設定カスタム を選択します。

      • /boot で、500 MB 以上であることを確認してください。残りの領域は、root / に使用できます。
      • 標準のパーティションが推奨されますが、論理ボリューム管理 (LVM) を使用することも可能です。
      • ファイルシステムでは、xfs、ext4、ext3 などを使用できます。
      • 変更が完了したら、完了 をクリックします。
  3. インストールの開始 をクリックします。
  4. Root パスワード を設定します。必要に応じて、他のユーザーを作成します。
  5. インストールが完了したら、仮想マシンを再起動して root でログインします。
  6. イメージを設定します。
  7. 仮想マシンの電源をオフにします。

3.4. RHEL イメージの GCP へのアップロード

本セクションの手順に従って、イメージを GCP にアップロードします。

3.4.1. Google Cloud Platform でプロジェクトの新規作成

Google Cloud Platform (GCP) でプロジェクトを新規作成するには、以下の手順を行います。

前提条件

GCP でアカウントを作成している。作成していない場合は、Google Cloud で詳細を参照してください。

手順

  1. GCP コンソール を起動します。
  2. Google Cloud Platform の右側にあるドロップダウンをクリックします。
  3. ポップアップから 新しいプロジェクト をクリックします。
  4. 新しいプロジェクト ウィンドウに、新規プロジェクトの名前を入力します。
  5. 組織 を確認します。ドロップダウンをクリックして、必要に応じて組織を変更します。
  6. 親組織またはフォルダーの 場所 を確認します。参照 をクリックして検索し、必要に応じてこの値を変更します。
  7. 作成 をクリックして、新しい GCP プロジェクトを作成します。

    注記

    GCP の リソースの管理 ページで新規プロジェクトを作成することもできます。

3.4.2. Google Cloud SDK のインストール

Google Cloud SDK をインストールするには、以下の手順を行います。

前提条件

手順

  1. GCP の説明に従って、Google Cloud SDK アーカイブをダウンロードし、抽出します。CGP のドキュメント「Quickstart for Linux」を参照してください。
  2. Google Cloud SDK の初期化と同じ手順に従います。

    注記

    Google Cloud SDK を初期化すると、gcloud cli コマンドを使用してタスクを実行することができ、プロジェクトとインスタンスに関する情報を取得できます。たとえば、次のコマンドでプロジェクト情報を表示します。

    gcloud compute project-info describe --project <project-name>`

3.4.3. Google Compute Engine の SSH 鍵の作成

以下の手順に従って、Google Compute Engine で SSH 鍵を生成して登録し、そのパブリック IP アドレスを使用してインスタンスに直接 SSH 接続できるようにします。

手順

  1. ssh-keygen コマンドを使用して、Google Compute Engine で使用する SSH 鍵ペアを生成します。

    # ssh-keygen -t rsa -f ~/.ssh/google_compute_engine
  2. GCP Console Dashboard ページ から、Google Cloud Console バナー の左側にあるナビゲーションメニューをクリックし、Compute Engine を選択して メタデータ を選択します。
  3. SSH 鍵 をクリックして、編集 をクリックします。
  4. ~/.ssh/google_compute_engine.pub ファイルから生成された出力を入力し、保存 をクリックします。
  5. 新規ローカルコンソールセッションごとに SSH エージェントがこの ID ファイルを使用できるように、次のコマンドを実行します。

    # eval $(ssh-agent)
    # ssh-add ~/.ssh/google_compute_engine
  6. 以下を ~/.ssh/config ファイルに追加し、コマンドを自動化します。

    IdentityFile ~/.ssh/google_compute_engine
    注記

    必要な場合は、設定ファイル (例: nano ~/.ssh/config) を作成します。

    これで、標準の SSH を使用してインスタンスに接続できます。

    # ssh -i ~/.ssh/google_compute_engine <username>@<instance_external_ip>
注記

gcloud compute config-ssh コマンドを実行すると、インスタンスのエイリアスを設定ファイルに追加できます。エイリアスは、インスタンス名による単純な SSH 接続を許可します。gcloud compute config-ssh コマンドの詳細は、gcloud compute config-ssh を参照してください。

3.4.4. GCP ストレージでのストレージバケットの作成

GCP にインポートするには、GCP Storage バケットが必要です。以下の手順に従って、バケットを作成します。

手順

  1. Google Cloud にログインしていない場合は、次のコマンドを実行してログインします。

    # gcloud auth login
  2. ストレージバケットを作成します。

    # gsutil mb gs://bucket_name
注記

Google Cloud コンソールを使用してバケットを作成することもできます。詳細は、GCP ドキュメント「バケットの作成」を参照してください。

関連情報

3.4.5. GCP バケットへのイメージの変換およびアップロード

以下の手順に従って、GCP バケットにイメージを変換してアップロードします。サンプルは典型的なものです。qcow2 イメージを raw 形式に変換してから、そのイメージをアップロードするために tar を使用します。

手順

  1. qemu-img コマンドを実行してイメージを変換します。変換されたイメージは、disk.raw という名前になるはずです。

    # qemu-img convert -f qcow2 -O raw gc-iso-dvd.qcow2 disk.raw
  2. イメージに tar コマンドを実行します。

    # tar -czFf disk.raw.tar.gz disk.raw
  3. そのイメージを、以前作成したバケットにアップロードします。アップロードには数分かかる場合があります。

    # gsutil cp disk.raw.tar.gz gs://bucket_name
  4. Google Cloud Platform のホーム画面で、折りたたまれたメニューアイコンをクリックし、ストレージ を選択してから ブラウザー を選択します。
  5. バケットの名前をクリックします。

    バケット名の下に、tar コマンドを実行したイメージが表示されます。

    注記

    GCP コンソール を使用してイメージをアップロードすることもできます。これを行うには、バケットの名前をクリックしてから ファイルのアップロード をクリックします。

3.4.6. GCP バケットのオブジェクトからイメージの作成

以下の手順に従って、GCP バケットのオブジェクトからイメージを作成します。

手順

  1. 次のコマンドを実行して、Google Compute Engine のイメージを作成します。作成するイメージの名前、バケット名、および tar コマンドを実行したイメージの名前を指定します。

    # gcloud compute images create my-image-name --source-uri gs://my-bucket-name/disk.raw.tar.gz
    注記

    または、Google Cloud コンソールを使用して、イメージを作成することもできます。詳細は、GCP ドキュメント 「カスタム イメージの作成、削除、使用中止」を参照してください

  2. 必要に応じて、GCP コンソールでイメージを検索します。

    1. Google Cloud Console バナーの左側にあるナビゲーションメニューをクリックします。
    2. Compute Engine を選択し、イメージ を選択します。

3.4.7. イメージからの Compute Engine インスタンスの作成

GCP コンソールを使用して Compute Engine 仮想マシンインスタンスを設定するには、以下の手順を行います。

注記

以下の手順では、GCP コンソールを使用して基本的な仮想マシンインスタンスを作成する方法を説明します。Compute Engine 仮想マシンインスタンスおよびその設定オプションの詳細は、「VM インスタンスの作成と起動」を参照してください。

手順

  1. GCP Console Dashboard ページ から、Google Cloud Console バナー の左側にあるナビゲーションメニューをクリックし、Compute Engine を選択して イメージ を選択します。
  2. イメージを選択します。
  3. インスタンスの作成 をクリックします。
  4. インスタンスの作成 ページで、インスタンスの 名前 を入力します。
  5. 地域ゾーン を選択します。
  6. ワークロードの要件を満たすか、それを超える マシン設定 を選択します。
  7. ブートディスク にイメージ名が指定されていることを確認します。
  8. 必要に応じて、ファイアウォールHTTP トラフィックを許可する か、HTTPS トラフィックを許可する を選択します。
  9. 作成 をクリックします。

    注記

    これらは、基本インスタンスの作成に必要な最小限の設定オプションです。アプリケーション要件に応じて追加オプションを確認します。

    VM インスタンス にあるイメージを見つけます。GCP Console Dashboard から、Google Cloud Console バナー の左側にあるナビゲーションメニューをクリックし、Compute Engine を選択してから VM インスタンス を選択します。

3.4.8. インスタンスへの接続

以下の手順に従って、そのパブリック IP アドレスを使用して Google Compute Engine インスタンスに接続します。

手順

  1. 次のコマンドを実行して、インスタンスが実行されていることを確認します。このコマンドは、インスタンスが実行しているかどうかを示し、実行している場合は実行中のインスタンスのパブリック IP アドレスなど、Google Compute Engine インスタンスに関する情報を一覧表示します。

    # gcloud compute instances list
  2. 標準の SSH を使用してインスタンスに接続します。この例では、上述の手順で作成した google_compute_engine キーを使用します。

    # ssh -i ~/.ssh/google_compute_engine <user_name>@<instance_external_ip>
    注記

    Google Cloud Platform は、インスタンスに SSH 接続する方法を多数提供します。詳細は、Google ドキュメントの「インスタンスへの接続」を参照してください。

3.4.9. Red Hat サブスクリプションの割り当て

Red Hat Cloud Access プログラムで有効になっているサブスクリプションを割り当てるには、以下の手順を行います。

前提条件

  • サブスクリプションが有効になっている。

手順

  1. システムを登録します。

    `subscription-manager register --auto-attach`
  2. サブスクリプションを割り当てます。

法律上の通知

Copyright © 2019 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.