WindowsシステムでのTerraformの構成について
Terraformを使用してOracle Cloud Infrastructureコンポーネントを作成するには、Terraformをダウンロードしてインストールする必要があります。必要なインフラストラクチャ・コンポーネントを作成する構成ファイルを作成するTerraformモジュールもダウンロードします。
TerraformをインストールしてTeraformモジュールを保存するシステムは、オンプレミスまたはクラウドのいずれかになります。便宜上、これはローカル・システムまたはローカル・ホストと呼ばれます。
Terraformを実行する前に、次のようにします。
-
コンピュート・インスタンスにアクセスできるようにするために使用するSSH鍵ペアを生成します
-
Terraformによって行われたAPIコールの認証に使用するAPI署名キーの生成
-
アクセスの認証とそのプランの実行にTerraformによって使用される環境変数を設定します
これらの手順を完了したら、Terraform構成ファイルを適用して、インフラストラクチャ・コンポーネントをOracle Cloud Infrastructure上に作成します。
Terraformモジュールのダウンロード
Terraformを使用したOracle Cloud Infrastructureでのインフラストラクチャ・コンポーネントの作成を開始するには、Terraformモジュールをダウンロードしてください。
BastionホストにアクセスするためのSSH鍵ペアの生成
SSH鍵ペアを使用すると、パブリック・サブネットに作成されたインスタンスに安全にアクセスできるようになります。ローカル・ホストにSSH鍵ペアを生成します。そのあと、TerraformモジュールはSSH公開鍵をベース・ホストに追加します。ベース・ホストにパブリック・インターネットを介して接続する必要がある場合は、アクセスを認証するためのSSH秘密鍵を提供します。
PuTTYgenを使用してSSH鍵ペアを生成できます。SSH鍵にパスフレーズを設定しないでください。
他のインスタンスにアクセスするためのSSH鍵ペアの生成
バックエンド・ホストは、パブリックIPアドレスを持たない他のインスタンスへのSSH転送を可能にし、パブリック・インターネットを介したアクセスを許可しないようにするために使用されます。ベース・ホストから他のインスタンスに安全にアクセスするには、リモート・サブネット内のインスタンスに格納されている公開鍵がローカル・マシンに格納されている秘密鍵と一致するSSH鍵ペアを使用します。
Bastionホストから他のインスタンスへのアクセスを有効にするために使用するSSHキー・ペアは、OpenSSLやssh-keygen.
などのユーティリティを使用して生成する必要があります。PuTTYで使用する.ppk
形式はOracle Linuxや他のUNIXに類似したオペレーティング・システムではサポートされていないため、PuTTYを使用してWindowsで生成されたSSHキー・ペアは使用できません。SSHトラフィックを他のインスタンスに転送するベース・ホストでは、Oracle Linuxイメージを使用することに注意してください。
API署名キーの生成
Oracle Cloud InfrastructureでTerraformスクリプトを認証するには、「プライバシ拡張メール(PEM)」形式でRSAキー・ペアを指定する必要があります。このAPI署名キーは、インスタンスへのアクセスに使用するSSH鍵ペアとは異なります。この鍵ペアは、Git BashでOpenSSLを使用して生成できます。ローカル・システムにGit Bashがすでにインストールされている必要があります。
- Git Bashを開始します。
- PEMキーを格納するための非表示のフォルダを作成します。PEMキーは任意の場所に格納できますが、簡略化のために、Terraformモジュールがあるフォルダの下にこのフォルダを作成します。鍵ペアを格納する場所を書き留めておいてください。その場所に移動し、
mkdir ./.oci
と入力します。 - API署名キーを作成するには、次のように入力します。
openssl genrsa -out ./.oci/key_name.pem 2048
- 秘密鍵のアクセス権を変更して、ユーザーのみが秘密鍵を読み取ることができるようにします。入力:
chmod go-rwx ./.oci/key_name.pem
- 次に、指定した秘密鍵の公開鍵を生成するために、
openssl rsa -pubout -in ./.oci/key_name.pem -out ./.oci/key_name_public.pem
と入力します。
コンソールを使用してAPI署名鍵をアップロードします
API署名キーを生成した後、関連付けられているユーザーの公開鍵をOracle Cloud Infrastructureにアップロードする必要があります。初めてAPI署名キーをアップロードする際には、コンソールを使用する必要があります。その後、APIを使用してAPIキーをアップロードすることもできます。
- Oracle Cloud Infrastructureコンソールにサインインします。
- 「アイデンティティ」をクリックし、「ユーザー」をクリックします。
- API署名キーを追加するユーザーをクリックします。
- 「ユーザーの詳細」ページで、「公開鍵の追加」をクリックします。
- ローカル・システムでGit Bashを起動します。API署名鍵ペアを格納したフォルダに移動します。
- 公開鍵をコピーするには、次のように入力します。
cat ./key_name_public.pem.
公開鍵の値が表示されます。行-----BEGIN PUBLIC KEY-----
および-----END PUBLIC KEY-----.
を含む、この値をコピーします。 - コンソールで公開鍵の値を貼り付けて、「追加」をクリックします。
環境変数の設定
ここで提供されるTerraformモジュールを使用すると、テキスト・ファイルで必要な値を指定して環境変数を設定できます。この場合、ファイルを単にソースにして、必要なすべての環境変数が適切に設定されていることを確認できます。
開始する前に、Oracle Cloud Infrastructureコンソールにログインします。コンソールを使用して次の情報を検索します。
-
Tenancy Oracle Cloud Infrastructure ID (OCID)
-
ユーザーOCID
-
使用するAPI署名キーのフィンガープリント
-
リージョン
-
コンパートメントOCID
また、API署名キーおよびSSH鍵のペアがローカル・システムに格納されている場所も確認してください。