CloudFormation으로 EC2 키 페어를 생성할 수 있을까?

CloudFormation으로 EC2 키 페어를 생성할 수 있는지 확인해 봤습니다.
2024.01.13

안녕하세요 클래스메소드 김재욱(Kim Jaewook) 입니다. 이번에는 CloudFormation으로 EC2 키 페어를 생성할 수 있는지 확인해 봤습니다.

CloudFormation으로 키 페어 생성?

지금까지는 AWS 콘솔 화면에서 직접 키 페어를 생성하고 필요에 따라 Parameter Store에 저장하여 관리해 왔습니다. 하지만, 매번 새로운 환경을 만들 때 마다 콘솔 화면에서 키 페어를 생성해야하나? 라는 생각에 CloudFormation으로 키 페어를 생성할 수 있는지 확인해 봤습니다.

2022년 4월 업데이트에 따르면 EC2 키 페어에 대한 새로운 기능들이 추가 되었으며, 그중에서 CloudFormation으로 키 페어를 생성할 수 있는 기능 또한 추가되었습니다.

CloudFormation 코드

# ------------------------------------------------------------#
# Input Parameters
# ------------------------------------------------------------# 
Parameters:
  KeyPairName: 
    Description: xx-xxxxxx-ec2 EC2 Key Pair
    Type: String
    Default: xx-xxxxxx-ec2-key
# ------------------------------------------------------------#
#  Create KeyPair 
# ------------------------------------------------------------#
Resources:
  NewKeyPair:
    Type: 'AWS::EC2::KeyPair'
    Properties:
      KeyName: !Ref KeyPairName

곧 바로 키 페어를 생성하는 CloudFormation 코드를 입력합니다.

키 페어를 생성하는 CloudFormation 템플릿은 아래 공식 문서에서 제공하고 있습니다.

결과 확인

CloudFormation 스택을 생성해 보면 키 페어는 생성되어 있습니다. 콘솔 화면에서 키 페어를 생성하면, 자동으로 키 페어가 로컬 PC로 생성되는데, CloudFormation으로 생성한다면 어떻게 해야할까요?

키 페어의 복호화 암호는 Parameter Store에 저장됩니다.

파라미터의 세부 정보를 확인해 보면「복호화된 값 표시」가 있으며, 클릭하면 키 페어에 대한 정보를 확인할 수 있습니다.

키 페어 분실을 우려해서 별도로 Parameter Store에 저장하기도 했는데, CloudFormation으로 키 페어를 생성하면 자동으로 Parameter Store에 저장되기 때문에 분실 우려도 없으며, 콘솔 화면에서 생성하는 것 보다 편하다는 느낌이 듭니다.

본 블로그 게시글을 보시고 문의 사항이 있으신 분들은 kim.jaewook@classmethod.jp 로 연락 주시면 회신 드릴 수 있도록 하겠습니다 !