AWS Key Pair를 Terraform으로 손쉽게 등록하는 방법



AWS Key Pair를 Terraform으로 손쉽게 등록하는 방법

제가 직접 경험해본 결과로는, AWS에서 Key Pair를 생성하고 이를 관리하는 과정을 Terraform을 통해 더 간편하게 수행할 수 있음을 알게 되었습니다. AWS에서 Key Pair를 설정하는 방법과, 이를 Terraform으로 관리하는 과정을 아래를 읽어보시면 상세히 알려드릴게요.

Key Pair 생성하기: ssh-keygen으로 시작하기

AWS의 Key Pair는 EC2 인스턴스에 접근하기 위해 필요한 인증서 역할을 합니다. 나도 처음에는 이 과정을 생소하게 느꼈는데, 직접 생성해보니 그리 어렵지 않았어요. 먼저, 터미널에서 ssh-keygen을 사용하여 Key Pair를 생성해보겠습니다.

다음은 Key Pair를 생성하는 명령어입니다:

bash
$ ssh-keygen -t rsa -b 4096 -C "" -f "{저장하고자하는 경로}/tf-key-pair" -N ""

위 명령어를 통해 tf-key-pair라는 이름의 private key와 public key를 생성했습니다. 이제 생성된 파일들을 확인해보면 다음과 같은 파일들이 생성된 것을 볼 수 있습니다:



bash
$ ls {저장하고자하는 경로}
tf-key-pair tf-key-pair.pub

여기서 tf-key-pair.pub 파일이 public key이며, 이는 AWS에 등록하게 됩니다. 이 키를 통해 나중에 EC2에 접근할 수 있게 되지요.

 

👉 ✅ 상세정보 바로 확인 👈

 

Key Pair의 필요성

  • 보안: Cloud 환경에서 Key Pair는 보안의 기본입니다. 비밀번호 대신에 키를 사용하여 인증을 하니까요.
  • 편의성: EC2 인스턴스에 접속할 때 매번 비밀번호를 입력할 필요가 없어 편리합니다.

Key Pair 관리 방법

  • 백업: 생성한 Key Pair를 안전하게 백업해두세요. 이를 잃어버리면 EC2 인스턴스에 접근할 수 없으니 주의해야 합니다.
  • 삭제: 불필요한 Key Pair는 IAM 및 EC2 대시보드에서 쉽게 삭제할 수 있습니다.

Terraform 코드 작성하기

AWS Key Pair를 Terraform을 통해 관리하기 위해 Terraform 코드를 작성해보겠습니다. Terraform Registry를 통해 필요한 리소스 코드를 가져올 수 있습니다.

다음은 기본적인 AWS provider 설정과 Key Pair 자원 정의입니다:

“`hcl
provider “aws” {
region = “ap-northeast-2”
}

resource “aws_key_pair” “terraform-key-pair” {
key_name = “tf-key-pair”
public_key = file(“{.pub 파일 경로}/.ssh/tf-key-pair.pub”)

tags = {
description = “terraform key pair import”
}
}
“`

여기서 public_key 부분에 .pub 파일의 경로를 지정하면, 해당 Key Pair가 AWS에 등록된답니다. 이 부분이 정말 신기했어요.

Terraform의 장점

  • 자동화: 코드만으로 인프라를 구축할 수 있어 자동화된 관리가 가능합니다.
  • 버전 관리: 인프라 상태를 코드로 기록하기 때문에 Git과 같은 버전 관리 시스템을 통해 쉽게 관리할 수 있습니다.

Terraform에서의 Key Pair 사용

  1. 공식 문서 참조: Terraform의 공식 문서에서 리소스를 확인하고 사용하는 것을 추천드립니다.
  2. 테스트 환경 구축: 내 실험실 같은 테스트 환경을 구축하여 직접 시험해보며 익히는 것이 좋습니다.

Key Pair 등록하기: Terraform을 통한 실행

이제 Key Pair 생성과 코드 작성이 끝났으니, Terraform으로 등록하는 단계에요.

$ terraform init

이 명령어를 실행하면 Terraform이 필요한 플러그인을 다운로드하고 초기화를 합니다. 준비가 완료되었으니 이제 코드를 실행하겠습니다:

bash
$ terraform plan

Terraform이 생성할 리소스를 계획합니다. 입력 후 apply를 실행하여 AWS에 Key Pair를 등록할 수 있습니다.

bash
$ terraform apply

여기서 “yes”를 입력해주면 Key Pair가 AWS에 등록됩니다. 이를 통해 EC2 대시보드에서 Key Pair가 잘 등록되었는지 확인할 수 있습니다.

등록 상태 확인

  • EC2 Dashboard: EC2 대시보드를 통해 Key Pair가 잘 등록되었는지 바로 확인할 수 있어요.
  • Tags: 추가한 태그도 확인해보시면 좋습니다.

Key Pair 사용 후 처리 방법

  1. EC2 인스턴스 생성: Key Pair가 등록되면 해당 Key Pair로 인스턴스를 생성해보세요.
  2. 샘플 실행: EC2 인스턴스에 접근하여 SSH로 접속해보면, Key Pair가 정상적으로 작동함을 알 수 있답니다.

리소스 정리하기: Terraform으로 안전하게 제거하기

실습을 마쳤다면 해당 리소스를 제거해야겠지요? Terraform의 destroy 명령어를 사용하면 리소스를 안전하게 제거할 수 있습니다.

bash
$ terraform destroy

위 명령어를 통해 모든 리소스가 안전하게 제거되지요. 코드가 그대로 남아있기 때문에 언제든지 다시 실행하여 리소스를 재구성할 수 있습니다.

제거 후 확인

  • AWS Dashboard: Key Pair가 제거되었는지 확인하여 잊지 말고 체크하세요.
  • Terraform 상태: Terraform 상태 파일을 통해 리소스 삭제가 제대로 되었는지 확인해볼 수 있습니다.

자주 묻는 질문 (FAQ)

AWS Key Pair란 무엇인가요?

AWS Key Pair는 EC2 인스턴스에 SSH를 통해 안전하게 접속할 때 필요한 인증 정보를 저장한 것입니다.

Terraform을 사용해야 하는 이유는 무엇인가요?

Terraform은 인프라 구조를 코드형태로 관리하여, 자동화와 버전 관리의 이점을 제공합니다.

Key Pair를 잃어버리면 어떻게 하나요?

Key Pair를 잃어버리면 해당 EC2 인스턴스에 접근할 수 없습니다. 이 경우, 새로운 Key Pair를 생성하고 인스턴스를 재구성해야 합니다.

여러 Key Pair를 관리해도 되나요?

네, 여러 Key Pair를 생성하여 관리할 수 있으며, 각 인스턴스에 맞는 키를 설정할 수 있습니다.


이렇게 AWS Key Pair를 Terraform으로 등록하는 방법과 관련된 여러 내용을 정리해보았습니다. 모든 과정이 잘되었다면, 이제 여러분도 편리하게 AWS 인프라를 관리할 수 있게 될 것입니다.

키워드: AWS, Key Pair, Terraform, EC2 인스턴스, 암호화, ssh-keygen, Terraform 코드, AWS Dashboard, 리소스 관리, 자동화, 클라우드 보안