Amazon EC2 AMI 도구 설정

Amazon EC2 AMI 도구 설정

AMI 도구를 사용하면 Amazon S3 기반 Linux AMI를 만들고 관리할 수 있어요. 이 도구를 쓰려면 Linux 인스턴스에 설치해야 하는데, RPM을 지원하지 않는 배포판을 위해 RPM과 .zip 파일 두 가지로 제공돼요.

출처: 문서

본문

RPM으로 AMI 도구 설정하기

  1. Linux 배포판의 패키지 관리자(예: yum)를 사용해 Ruby를 설치합니다. 예를 들어:
[ec2-user ~]$ sudo yum install -y ruby
  1. wget이나 curl 같은 도구로 RPM 파일을 다운로드합니다. 예를 들어:
[ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.noarch.rpm
  1. 다음 명령으로 RPM 파일의 서명을 검증합니다.
[ec2-user ~]$ rpm -K ec2-ami-tools.noarch.rpm

위 명령은 파일의 SHA1과 MD5 해시가 OK임을 나타내야 해요. 명령이 해시가 NOT OK라고 표시하면 다음 명령으로 파일의 Header SHA1과 MD5 해시를 확인하세요.

[ec2-user ~]$ rpm -Kv ec2-ami-tools.noarch.rpm

그런 다음 파일의 Header SHA1과 MD5 해시를 아래의 검증된 AMI 도구 해시와 비교해 파일의 진위를 확인하세요.

  • Header SHA1: a1f662d6f25f69871104e6a62187fa4df508f880
  • MD5: 9faff05258064e2f7909b66142de6782

파일의 해시가 검증된 AMI 도구 해시와 일치하면 다음 단계로 진행합니다.

  1. 다음 명령으로 RPM을 설치합니다.
[ec2-user ~]$ sudo yum install ec2-ami-tools.noarch.rpm
  1. ec2-ami-tools-version 명령으로 AMI 도구 설치를 확인합니다.
[ec2-user ~]$ ec2-ami-tools-version

참고: cannot load such file -- ec2/amitools/version (LoadError) 같은 로드 오류가 나면, 다음 단계를 진행해 AMI 도구 설치 위치를 RUBYLIB 경로에 추가하세요.

  1. (선택) 이전 단계에서 오류가 발생했다면 AMI 도구 설치 위치를 RUBYLIB 경로에 추가합니다.

추가할 경로를 확인하려면 다음 명령을 실행하세요.

[ec2-user ~]$ rpm -qil ec2-ami-tools | grep ec2/amitools/version
/usr/lib/ruby/site_ruby/ec2/amitools/version.rb
/usr/lib64/ruby/site_ruby/ec2/amitools/version.rb

위 예시에서 이전 로드 오류에 빠졌던 파일은 /usr/lib/ruby/site_ruby와 /usr/lib64/ruby/site_ruby에 위치해 있어요.

이전 단계의 위치를 RUBYLIB 경로에 추가합니다.

[ec2-user ~]$ export RUBYLIB=$RUBYLIB:/usr/lib/ruby/site_ruby:/usr/lib64/ruby/site_ruby

ec2-ami-tools-version 명령으로 AMI 도구 설치를 확인합니다.

[ec2-user ~]$ ec2-ami-tools-version

.zip 파일로 AMI 도구 설정하기

  1. apt-get 같은 패키지 관리자로 Ruby와 unzip을 설치합니다. 예를 들어:
[ec2-user ~]$ sudo apt-get update -y && sudo apt-get install -y ruby unzip
  1. wget이나 curl 같은 도구로 .zip 파일을 다운로드합니다. 예를 들어:
[ec2-user ~]$ wget https://s3.amazonaws.com/ec2-downloads/ec2-ami-tools.zip
  1. /usr/local/ec2 같은 적절한 설치 디렉터리에 파일을 압축 해제합니다.
[ec2-user ~]$ sudo mkdir -p /usr/local/ec2
$ sudo unzip ec2-ami-tools.zip -d /usr/local/ec2

.zip 파일에는 ec2-ami-tools-x.x.x라는 폴더가 들어 있어요. 여기서 x.x.x는 도구의 버전 번호입니다(예: ec2-ami-tools-1.5.7).

  1. EC2_AMITOOL_HOME 환경 변수를 도구의 설치 디렉터리로 설정합니다. 예를 들어:
[ec2-user ~]$ export EC2_AMITOOL_HOME=/usr/local/ec2/ec2-ami-tools-x.x.x
  1. 도구를 PATH 환경 변수에 추가합니다. 예를 들어:
[ec2-user ~]$ export PATH=$EC2_AMITOOL_HOME/bin:$PATH
  1. ec2-ami-tools-version 명령으로 AMI 도구 설치를 확인할 수 있어요.
[ec2-user ~]$ ec2-ami-tools-version

서명 인증서 관리 (Manage signing certificates)

AMI 도구의 일부 명령은 **서명 인증서(또는 X.509 인증서)**가 필요해요. 인증서를 만든 뒤 AWS에 업로드해야 합니다. 예를 들어 OpenSSL 같은 서드파티 도구로 인증서를 만들 수 있어요.

서명 인증서를 만들려면

  1. OpenSSL을 설치하고 구성합니다.
  2. openssl genrsa 명령으로 프라이빗 키를 만들고 출력을 .pem 파일로 저장합니다. 2048비트 또는 4096비트 RSA 키를 만들 것을 권장해요.
openssl genrsa 2048 > private-key.pem
  1. openssl req 명령으로 인증서를 생성합니다.
openssl req -new -x509 -nodes -sha256 -days 365 -key private-key.pem -outform PEM -out certificate.pem

인증서를 AWS에 업로드하려면 upload-signing-certificate 명령을 사용합니다.

aws iam upload-signing-certificate --user-name user-name --certificate-body file://path/to/certificate.pem

사용자의 인증서를 나열하려면 list-signing-certificates 명령을 사용합니다.

aws iam list-signing-certificates --user-name user-name

사용자의 서명 인증서를 비활성화하거나 다시 활성화하려면 update-signing-certificate 명령을 사용합니다. 다음 명령은 인증서를 비활성화해요.

aws iam update-signing-certificate --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE --status Inactive --user-name user-name

인증서를 삭제하려면 delete-signing-certificate 명령을 사용합니다.

aws iam delete-signing-certificate --user-name user-name --certificate-id OFHPLP4ZULTHYPMSYEX7O4BEXAMPLE

더 알아보기 (Learn more)