インフラストラクチャ・リソースをプロビジョニングする準備

Terraformをインストールし、Oracle Cloudにインフラストラクチャ・リソースを作成するために必要なキーを生成します。

始める前に

Oracle Cloud Infrastructureでリソースの作成を開始する前に、次のものがあることを確認してください。

  • Oracle Cloudテナンシの資格証明。

  • リソースを作成および管理する権限を持つコンパートメント。
  • 次のソフトウェアおよびインターネットへのアクセスが可能なコンピュータ:

    • API署名キーを生成するユーティリティ。

      ほとんどのUnix系システムにはopensslがあります。Windowsでは、Git Bashを使用できます。

    • SSHのキー・ペアを生成するユーティリティ。

      ほとんどのUnix系システムにはssh-keygenがあります。Windowsでは、PuTTYを使用できます。

    • Webブラウザ。

  • Terraformの基本的な知識。

    少なくともhttps://www.terraform.io/intro/でこの概要を参照してください。

移動中のインストール

Terragruntは、Terraformモジュールを効率的に適用および管理するサードパーティ製のツールです。Terraformを使用してモジュールを個別に適用するかわりに、すべてのモジュールで定義されているリソースを、「Terragrunt」の単一の操作を使用して正しい順序でデプロイできます。

Terragruntをダウンロードおよびインストールするには、https://github.com/gruntwork-io/terragrunt#install-terragruntの指示に従います。

注意:

brewを使用してLinuxまたはmacOSにTerragruntをインストールする場合、Terraformはいずれかの依存関係として自動的にインストールされます。Terraformをインストールする必要はありません。

Terraformのインストール

Oracle Linuxを含むunixに似たまたはLinuxシステムでは、オペレーティング・システム用のTerraformパッケージをダウンロードして抽出することで、Terraformをインストールできます。

  1. https://www.terraform.io/downloads.htmlに移動します。
  2. ご使用のオペレーティング・システムに応じて適切なパッケージをダウンロードします。
  3. パッケージを/usr/local/bin/パスに展開します。
    Terraformをローカル・ホスト上の他のディレクトリへ抽出できます。ディレクトリがPATH変数に含まれていることを確認してください。
    Terraformがインストールされ、使用できる準備が整います。
  4. インストールを確認します。
    terraform -v

    次の例のように、Terraformバージョンが表示されます。

    Terraform v0.12.18

API署名キーの生成

TerraformでOracle Cloud Infrastructureを認証できるようにするには、非公開拡張メール(PEM)フォーマットのRSAキーを指定する必要があります。このキーは、コンピュート・インスタンスへのアクセスに使用するSSHキーとは異なります。

OpenSSLを使用して、API署名キーを生成します。
  1. ホーム・ディレクトリに非表示のサブディレクトリを作成し、PEMキーを格納します。
    mkdir ~/.oci
  2. 秘密キーを生成します(サイズ: 2048ビット以上)。
    openssl genrsa -out ~/.oci/oci_api_key.pem 2048
  3. 秘密キー・ファイルのアクセス権を変更して、そのキーの読取りができるようにします。
    chmod go-rwx ~/.oci/oci_api_key.pem
  4. 秘密キーの公開キーを生成します。
    openssl rsa -pubout -in ~/.oci/oci_api_key.pem -out ~/.oci/oci_api_key_public.pem

API署名キーのアップロード

API署名キーを生成したら、Oracle Cloud Infrastructureの適切なユーザーの公開キーをアップロードします。

  1. Oracle Cloud Infrastructure Webコンソールにサインインします。
  2. 「サービス」メニューから、「アイデンティティ」、「ユーザー」の順に選択します。
  3. ユーザー」ページで、Terraform構成で指定するユーザーをクリックします。
  4. ユーザー詳細ページで、「公開キーの追加」をクリックします。
  5. ~/.oci/oci_api_key_public.pemファイルから公開キーの値をコピーし、PUBLIC KEYフィールドに貼り付けます。
  6. 追加」をクリックします。
    キーがアップロードされ、そのフィンガープリントが表示されます。
  7. フィンガープリントをコピーします。後で必要になります。

基準ホストのSSHキー・ペアの生成

SSHキー・ペアは、インスタンスへのセキュアなアクセスを有効にするために使用します。ローカル・ホストにキー・ペアを生成します。その後、Terraformモジュールは、ベース・ホストに公開キーを追加します。ベース・ホストに接続する際、アクセスを認証するための秘密キーを指定します。

  • ssh-keygenユーティリティを使用して、SSHキー・ペアを生成します。キー・ペアにパスフレーズを設定しないでください。
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa: RSAアルゴリズムを使用してキー・ペアを生成することを指定します。

    • -N "":このキー・ペアに関連付けるパスフレーズを指定します。引用符内の文字列を入力しないでください。パスフレーズのないキー・ペアを作成します。

    • -b 2048: 2048ビットのキーを生成することを指定します。この値はデフォルト(および推奨される最小)値です。

    • -C "key_name":キー・ペアの名前を指定します。

    • -f path/root_name:キーのペアが保存されるディレクトリ、および公開キーと秘密キーのルート名を指定します。公開キーは、ルート名に.pubが付加されたものです。

SSHキー・ペアが生成され、指定したディレクトリに保存されます。キー・ファイルのフルパスと名前を書き留めます。

プライベート・インスタンスのSSHキー・ペアの生成

ベース・ホストを使用すると、パブリックIPアドレスを持たないインスタンスへSSH転送が可能になります。このようなプライベート・インスタンスに、ベース・ホストを介して安全にアクセスするには、SSHキー・ペアを使用します。セキュリティのベスト・プラクティスとして、このキー・ペアは、ベース・ホストに使用するキー・ペアと同じにしないでください。

  • ssh-keygenユーティリティを使用して、SSHキー・ペアを生成します。キー・ペアにパスフレーズを設定しないでください。
    ssh-keygen -t rsa -N "" -b 2048 -C "key_name" -f path/root_name
    • -t rsa: RSAアルゴリズムを使用してキー・ペアを生成することを指定します。

    • -N "":このキー・ペアに関連付けるパスフレーズを指定します。引用符内の文字列を入力しないでください。パスフレーズのないキー・ペアを作成します。

    • -b 2048: 2048ビットのキーを生成することを指定します。この値はデフォルト(および推奨される最小)値です。

    • -C "key_name":キー・ペアの名前を指定します。

    • -f path/root_name:キーのペアが保存されるディレクトリ、および公開キーと秘密キーのルート名を指定します。公開キーは、ルート名に.pubが付加されたものです。

SSHキー・ペアが生成され、指定したディレクトリに保存されます。キー・ファイルのフルパスと名前を書き留めます。