UNIX類似システムでのTerraformの構成について

Terraformを使用してOracle Cloud Infrastructureコンポーネントを作成するには、Terraformをダウンロードしてインストールする必要があります。必要なインフラストラクチャ・コンポーネントの作成に使用する構成ファイルを作成するTerraformモジュールもダウンロードします。

Terraformをインストールし、Teraformモジュールを格納するシステムは、オンプレミスでもクラウドでもかまいません。便宜上、これをローカル・システムまたはローカル・ホストと呼びます。

Terraformを実行する前に:

  • コンピュート・インスタンスへのアクセスを許可するために使用されるSSHキー・ペアの生成

  • TerraformによるAPIコールの認証に使用されるAPI署名キーの生成

  • アクセスを認証し、計画を実行するためにTerraformで使用される環境変数を設定します。

これらのステップを完了すると、Terraform構成ファイルを適用してOracle Cloud Infrastructureにインフラストラクチャ・コンポーネントを作成する準備が整います。

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

要塞ホストにアクセスするためのSSHキー・ペアの生成

SSHを使用して、Oracle Cloud内のコンピュート・インスタンスに安全にアクセスできます。ローカル・ホストでSSHキー・ペアを生成します。SSH公開キーを作成中に要塞ホストに追加します。SSHを使用して要塞ホストに接続する場合は、アクセスを認証する秘密キーを指定します。

ssh-keygen ユーティリティを使用して、SSHキー・ペアを生成します。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キーを保存する場所を書き留めます。

API署名キーの生成

TerraformがOracle Cloud Infrastructureで認証できるようにするには、プライバシ対応メール(PEM)形式でRSAキー・ペアを指定する必要があります。このAPI署名キーは、インスタンスへのアクセスに使用するSSHキー・ペアと同じではないことに注意してください。OpenSSLを使用してAPI署名キーを生成できます。

  1. ホーム・ディレクトリに非表示のサブディレクトリを作成し、PEMキーを格納します。
    mkdir ~/.oci
  2. 秘密キー(サイズ: 2048ビット以上)を生成します。
    openssl genrsa -out ~/.oci/key_name.pem 2048
  3. 秘密キー・ファイルの権限を変更し、そのキーのみを読み取ることができることを確認します。
    chmod go-rwx ~/.oci/key_name.pem
  4. 秘密キーに対する公開キーを生成します。
    openssl rsa -pubout -in ~/.oci/key_name.pem -out ~/.oci/key_name_public.pem
キーは任意のディレクトリに保存できます。

場所をノートにとっておいてください。

コンソールを使用したAPI署名キーのアップロード

API署名キーの生成後、関連付けられたユーザーの公開キーをOracle Cloud Infrastructureにアップロードする必要があります。API署名キーを初めてアップロードするときには、Webコンソールを使用する必要があります。その後、APIを使用してAPIキーをアップロードすることもできます。

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