Terraformを使用して、EC2のキーペアを作成する
今回はTerraformでEC2のキーペアを作成し、それを使用してEC2を作成していきます。
キーペアの作成
まずは、Terraformでキーペアを作成していきます。
通常、キーペアを作成するためには、ssh-keygenコマンドを利用しますが、terraformではtlsプロバイダの一つである、tls_private_keyリソースを利用することでキーペアを作成することが可能です。
下記でRSA暗号、4096ビットの秘密鍵/公開鍵のペアを作成します。
これで秘密鍵、公開鍵のペアが作成されるため、以下のように利用します。
AWSのキーペアは公開鍵をopenssh形式で登録する必要があるので、3つめを利用します。
作成したキーペアをaws_key_pair
リソースで、キーペアとして登録します。
キーペアをローカルファイルに保存
ちなみに、キーペアをファイルとして保存したい場合は、localプロバイダを利用することでローカルにファイルとして保存できます。
以下は、modules/ec2
配下に秘密鍵、公開鍵を保存する例です。
EC2作成時のキーペア反映
ここまででキーペアを作成したので、あとはEC2インスタンス作成時にキーペアを指定するだけです。
せっかくなので、VPCとサブネットを作成してEC2インスタンスを配置します。
aws_instance
リソースのkey_name
を作成したキーペアを指定してあげればOKです。
ちなみに最新版のAmazonLinux AMIを取得するためには、以下の通りaws_ssm_parameter
のdata
として取得してあげればOKです。