を使用して、以下の 4 つのリソースを正常に作成しましたCloud Formation Template (CFT)
。
- VPC
- サブネット
- インターネットゲートウェイ
- アタッチゲートウェイ
今、EC2 インスタンスでセキュリティ グループを作成しようとしています。コードは次のとおりです。
Type: AWS::EC2::SecurityGroup
Properties:
GroupDescription: Allow http and ssh to client host
VpcId:
Ref: InsuranceVPC
SecurityGroupIngress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
- IpProtocol: tcp
FromPort: 22
ToPort: 22
CidrIp: 0.0.0.0/0
SecurityGroupEgress:
- IpProtocol: tcp
FromPort: 80
ToPort: 80
CidrIp: 0.0.0.0/0
Ec2Instance:
Type: AWS::EC2::Instance
Properties:
ImageId: "ami-08706cb5f68222d09"
KeyName:
Ref: "DevOpsAutomation"
NetworkInterfaces:
- AssociatePublicIpAddress: "true"
DeviceIndex: "0"
GroupSet:
- Ref: "InsuranceSecurityGroup"
SubnetId:
Ref: "InsuranceSubnet"
ただし、リソースの同じリージョンに存在するキーである (CFT、上記のコード) で Key パラメーターを使用すると、CFT スタックが次のエラーで失敗します。
Template format error: Unresolved resource dependencies [DevOpsAutomation] in the Resources block of the template
note: DevOpsAutomation is my keyname
検証した手順:
- CFT テンプレート リソースとキーが同じリージョンにある
- 削除され、新しく作成されたキー ペア
- 別の鍵ペアを使用しようとしました
- EC2 インスタンスが使用できるように、CFT スタックと共にキーをインポートするオプションがどこにもありませんでした。
- スタックを作成している間でも、キーはスタックのセクションに表示されません(
keypair
セクションに表示されます)parameter
。
私の質問は、AWS アカウントに存在するキーペアを使用して (CFT の一部として) EC2 インスタンスを作成するにはどうすればよいですか?