메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

Amazon EC2 키 페어

Amazon EC2는 퍼블릭 키 암호화 기법을 사용하여 로그인 정보를 암호화 및 해독합니다. 공개 키 암호화 기법은 공개 키를 사용하여 암호 등의 데이터를 암호화하고, 수신자가 개인 키를 사용하여 해당 데이터를 해독하는 방식입니다. 퍼블릭 키와 프라이빗 키를 키 페어라고 합니다.

인스턴스에 로그인하려면 키 페어를 만들고, 인스턴스를 시작할 때 키 페어의 이름을 지정하고, 인스턴스에 연결할 때 프라이빗 키를 제공해야 합니다. Linux 인스턴스에서 퍼블릭 키 내용은 ~/.ssh/authorized_keys 내 항목에 있습니다. 이 과정은 부팅 시에 처리되므로 암호 대신 프라이빗 키를 사용하여 안전하게 인스턴스에 액세스할 수 있습니다.

키 페어 만들기

Amazon EC2를 사용하여 키 페어를 만들 수 있습니다. 자세한 내용은 Amazon EC2를 사용해 키 페어 만들기 단원을 참조하십시오.

또는 타사 도구를 사용하여 Amazon EC2로 퍼블릭 키를 가져올 수도 있습니다. 자세한 내용은 Amazon EC2로 사용자의 퍼블릭 키 가져오기 단원을 참조하십시오.

각 키 페어에는 이름이 필요합니다. 이름은 당연히 기억하기 쉬워야 합니다. Amazon EC2에서 퍼블릭 키는 키 이름으로 지정한 이름에 연결됩니다.

퍼블릭 키는 Amazon EC2에 저장되며 프라이빗 키는 사용자가 저장합니다. 프라이빗 키 소유자는 임의로 로그인 정보를 해독할 수 있으므로 보안된 장소에 프라이빗 키를 저장해 두는 것이 중요합니다.

Amazon EC2에서 사용되는 키는 2048비트 SSH-2 RSA 키입니다. 키 페어는 리전당 최대 5천 개까지 보유할 수 있습니다.

인스턴스 시작 및 인스턴스로의 연결

인스턴스를 시작할 때는 인스턴스에 연결 시 사용하고자 하는 키 페어의 이름을 지정해야 합니다. 인스턴스를 시작할 때 기존 키 페어의 이름을 지정하지 않으면 해당 인스턴스에 연결하지 못합니다. 인스턴스에 연결할 때는 인스턴스 시작 시 지정한 키 페어에 해당하는 프라이빗 키를 지정해야 합니다.

참고

Amazon EC2에는 프라이빗 키의 사본이 보관되지 않으므로, 프라이빗 키를 분실하면 이를 복구할 방법이 전혀 없습니다. 인스턴스 스토어 지원 인스턴스에 대한 프라이빗 키를 분실하는 경우 해당 인스턴스에는 액세스할 수 없으므로 이 인스턴스를 종료하고 새 키 페어를 사용하는 다른 인스턴스를 시작해야 합니다. EBS 기반 Linux 인스턴스용 프라이빗 키를 분실하는 경우 인스턴스에 대한 액세스 권한을 다시 얻을 수 있습니다. 자세한 내용은 프라이빗 키를 분실했을 때 Linux 인스턴스에 연결하는 방법 단원을 참조하십시오.

여러 사용자를 위한 키 페어

한 인스턴스에 여러 명의 사용자가 액세스해야 할 경우 인스턴스에 사용자 계정을 추가할 수 있습니다. 자세한 내용은 Linux 인스턴스의 사용자 계정 관리 단원을 참조하십시오. 각 사용자에 대해 키 페어를 만든 다음 각 키 페어의 퍼블릭 키 정보를 해당 인스턴스의 각 사용자에 대한 .ssh/authorized_keys 파일에 추가합니다. 그런 다음 사용자에게 이 프라이빗 키 파일을 배포하면 됩니다. 이렇게 하면 루트 계정에 사용되는 것과 동일한 프라이빗 키 파일을 여러 사용자에게 배포하지 않아도 됩니다.

Amazon EC2를 사용해 키 페어 만들기

키 페어는 Amazon EC2 콘솔이나 명령줄을 사용하여 만들 수 있습니다. 키 페어를 생성한 후 인스턴스를 시작할 때 키 페어를 지정할 수 있습니다. 실행 중인 인스턴스에 키 페어를 추가하여 다른 사용자가 인스턴스에 연결하도록 할 수도 있습니다. 자세한 내용은 인스턴스의 키 페어 추가 또는 교체단원을 참조하십시오.

Amazon EC2 콘솔을 이용한 키 페어 생성

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 NETWORK & SECURITY에서 Key Pairs를 선택합니다.

    참고

    탐색 창은 Amazon EC2 콘솔의 왼쪽에 있습니다. 창이 보이지 않는 경우 창이 최소화되었을 수 있으니 화살표를 선택해 확대하십시오.

  3. [Create Key Pair]를 선택합니다.

  4. [Create Key Pair] 대화 상자의 [Key pair name] 필드에 새 키 페어의 이름을 입력하고 [Create]를 선택합니다.

  5. 브라우저에서 프라이빗 키 파일이 자동으로 다운로드됩니다. 기본 파일 이름은 키 페어의 이름으로 지정된 이름이며, 파일 이름 확장명은 .pem입니다. 안전한 장소에 프라이빗 키 파일을 저장합니다.

    중요

    이때가 사용자가 프라이빗 키 파일을 저장할 수 있는 유일한 기회입니다. 인스턴스를 시작할 때 키 페어의 이름을 제공하고, 인스턴스에 연결할 때마다 해당 프라이빗 키를 제공해야 합니다.

  6. Mac 또는 Linux 컴퓨터에서 SSH 클라이언트를 사용하여 Linux 인스턴스에 연결하려면 사용자만 프라이빗 키 파일을 읽을 수 있도록 다음 명령으로 해당 권한을 설정합니다.

    Copy
    chmod 400 my-key-pair.pem

명령줄을 이용한 키 페어 만들기

다음 명령 중 하나를 사용할 수 있습니다. 다음의 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

Amazon EC2로 사용자의 퍼블릭 키 가져오기

Amazon EC2를 사용하지 않고 키 페어를 만들었다면 타사 도구를 사용하여 RSA 키 페어를 만든 후 Amazon EC2로 퍼블릭 키를 가져올 수 있습니다. 예를 들면 ssh-keygen(표준 OpenSSH 설치 시 제공되는 도구)을 사용하여 키 페어를 만들 수 있습니다. 또는 Java, Ruby, Python 등 각종 프로그래밍 언어에서 제공하는 표준 라이브러리를 사용하여 RSA 키 페어를 만들어도 됩니다.

Amazon EC2에서는 다음의 형식이 허용됩니다.

  • OpenSSH 퍼블릭 키 형식 (~/.ssh/authorized_keys 내 형식)

  • Base64 인코딩 DER 형식

  • RFC4716에 지정된 SSH 퍼블릭 키 파일 형식

Amazon EC2에서 DSA 키는 허용되지 않습니다. 키 생성기가 RSA 키를 만들도록 설정되어 있는지 확인합니다.

지원되는 길이: 1024, 2048, 4096

타사 도구를 이용한 키 페어 만들기

  1. 타사 도구로 원하는 키 페어를 생성합니다.

  2. 퍼블릭 키는 로컬 파일에 저장합니다. 예: ~/.ssh/my-key-pair.pub(Linux) 또는 C:\keys\my-key-pair.pub(Windows). 이 파일의 파일 이름 확장자는 중요하지 않습니다.

  3. 프라이빗 키를 확장자가 .pem인 다른 로컬 파일에 저장합니다. 예: ~/.ssh/my-key-pair.pem(Linux) 또는 C:\keys\my-key-pair.pem(Windows). 프라이빗 키 파일은 안전한 장소에 저장합니다. 인스턴스를 시작할 때 키 페어의 이름을 제공하고, 인스턴스에 연결할 때마다 해당 프라이빗 키를 제공해야 합니다.

Amazon EC2 콘솔을 이용하여 키 페어를 가져오는 단계는 다음과 같습니다.

퍼블릭 키 가져오기

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 NETWORK & SECURITY에서 Key Pairs를 선택합니다.

  3. [Import Key Pair]를 선택합니다.

  4. [Import Key Pair] 대화 상자에서 [Browse]를 선택하고 이전에 저장한 퍼블릭 키 파일을 선택합니다. [Key pair name] 필드에 키 페어의 이름을 입력하고 [Import]를 선택합니다.

명령줄을 사용하여 퍼블릭 키 가져오기

다음 명령 중 하나를 사용할 수 있습니다. 다음의 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

퍼블릭 키 파일을 가져왔다면 Amazon EC2 콘솔을 사용한 키 페어 가져오기가 완료되었음을 다음과 같이 확인할 수 있습니다.

가져온 키 페어 확인

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 모음에서 키 페어를 만든 리전을 선택합니다.

  3. 탐색 창의 NETWORK & SECURITY에서 Key Pairs를 선택합니다.

  4. 가져온 키 페어가 화면에 표시된 키 페어 목록에 있는지 확인합니다.

명령줄을 사용하여 키 페어를 보려면

다음 명령 중 하나를 사용할 수 있습니다. 다음의 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

키 페어에 맞는 퍼블릭 키 검색(Linux)

로컬 Linux 또는 Mac 컴퓨터에서 ssh-keygen 명령을 사용하여 키 페어의 퍼블릭 키를 검색할 수 있습니다.

컴퓨터에서 퍼블릭 키를 검색하는 방법

  1. 프라이빗 키를 다운로드한 컴퓨터에서 ssh-keygen 명령을 사용합니다.

    Copy
    ssh-keygen -y
  2. 키가 들어 있는 파일을 입력하라는 메시지가 나타나면 .pem 파일의 경로를 지정합니다. 예:

    Copy
    /path_to_key_pair/my-key-pair.pem
  3. 이 명령으로 다음과 같이 퍼블릭 키가 반환됩니다.

    ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
    hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
    lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
    qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
    BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE

    이 명령이 실패하는 경우 다음 명령을 실행하여 사용자 자신만 볼 수 있도록 키 페어 파일에 대한 권한이 변경되어 있는지 확인해야 합니다.

    Copy
    chmod 400 my-key-pair.pem

키 페어에 맞는 퍼블릭 키 검색(Windows)

로컬 Windows 컴퓨터에서 PuTTYgen을 사용하여 키 페어의 퍼블릭 키를 가져올 수 있습니다.

PuTTYgen를 시작하고 [Load]를 선택한 후 .ppk 또는 .pem 파일을 선택합니다. PuTTYgen에 퍼블릭 키가 표시됩니다.

인스턴스에서 키 페어의 퍼블릭 키 검색

또한, 인스턴스를 시작할 때 지정한 퍼블릭 키는 해당 인스턴스 메타데이터를 통해 확인할 수 있습니다. 인스턴스를 시작할 때 지정한 퍼블릭 키를 보려면 인스턴스에서 다음 명령을 사용하면 됩니다.

Copy
[ec2-user ~]$ curl http://169.254.169.254/latest/meta-data/public-keys/0/openssh-key
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

인스턴스에 연결할 때 사용하는 키 페어를 변경하는 경우 새 퍼블릭 키가 표시되는 인스턴스 메타데이터가 업데이트되지 않습니다. 이 경우 사용자가 인스턴스 메타데이터에서 인스턴스를 시작하면 지정한 키 페어에 대한 퍼블릭 키를 계속해서 볼 수 있습니다.

자세한 내용은 인스턴스 메타데이터 가져오기 단원을 참조하십시오.

Linux 인스턴스에서는 퍼블릭 키 내용이 ~/.ssh/authorized_keys 내 항목에 있습니다. 이 파일을 편집기에서 열 수 있습니다. 다음은 이름이 my-key-pair인 키 페어에 대한 예시 항목입니다. 항목은 퍼블릭 키와 이 키 페어의 이름 순서로 구성됩니다. 예:

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClKsfkNkuSevGj3eYhCe53pcjqP3maAhDFcvBS7O6V
hz2ItxCih+PnDSUaw+WNQn/mZphTk/a/gU8jEzoOWbkM4yxyb/wB96xbiFveSFJuOp/d6RJhJOI0iBXr
lsLnBItntckiJ7FbtxJMXLvvwJryDUilBMTjYtwB+QhYXUMOzce5Pjz5/i8SeJtjnV3iAoG/cQk+0FzZ
qaeJAAHco+CY/5WrUBkrHmFJr6HcXkvJdWPkYQS3xqC0+FmUZofz221CBt5IMucxXPkX4rWi+z7wB3Rb
BQoQzd8v7yeb7OzlPnWOyN0qFU0XA246RA8QFYiCNYwI3f05p6KLxEXAMPLE my-key-pair

키 페어의 지문 확인

Amazon EC2 콘솔에서 [Key Pairs] 페이지를 보면 [Fingerprint] 열에 키 페어에서 생성된 지문이 표시됩니다. AWS에 의한 지문 계산 값은 키 페어가 AWS와 타사 도구 중 어디서 생성되었는지에 따라 달라집니다. AWS를 사용하여 키 페어를 만든 경우 지문은 SHA-1 해시 함수를 통해 산출됩니다. 타사 도구로 키 페어를 만들고 AWS에 퍼블릭 키를 업로드한 경우이거나 기존 AWS에서 만든 프라이빗 키에서 새 퍼블릭 키를 생성하여 AWS에 업로드한 경우, 지문은 MD5 해시 함수를 통해 산출됩니다.

[Key Pairs] 페이지에 표시된 지문을 사용하면 로컬 컴퓨터에 있는 프라이빗 키가 AWS에 저장된 퍼블릭 키와 일치하는지 확인할 수 있습니다.

AWS를 사용하여 키 페어를 만든 경우 OpenSSL 도구를 사용하면 다음과 같이 프라이빗 키 파일로 지문을 생성할 수 있습니다.

Copy
$ openssl pkcs8 -in path_to_private_key -inform PEM -outform DER -topk8 -nocrypt | openssl sha1 -c

타사 도구를 사용하여 키 페어를 만들고 AWS에 퍼블릭 키를 업로드한 경우, OpenSSL 도구를 사용하면 로컬 컴퓨터에 있는 프라이빗 키 파일로 지문을 생성할 수 있습니다.

Copy
$ openssl rsa -in path_to_private_key -pubout -outform DER | openssl md5 -c

이 경우 출력이 콘솔에 표시된 지문과 일치해야 합니다.

키 페어 삭제

키 페어 삭제는 곧 Amazon EC2의 퍼블릭 키 사본만 삭제하는 것을 의미합니다. 키 페어를 삭제하더라도 컴퓨터에 있는 프라이빗 키나 해당 키 페어를 사용하여 이전에 시작한 임의의 인스턴스에 대한 퍼블릭 키에는 영향이 미치지 않습니다. 삭제된 키 페어를 사용하여 새 인스턴스를 시작할 수는 없지만, 프라이빗 키(.pem) 파일을 계속 보유하고 있다면 삭제된 키 페어를 사용하여 시작한 임의의 인스턴스에 계속해서 연결할 수는 있습니다.

참고

Auto Scaling 그룹을 사용 중인 경우(예: Elastic Beanstalk 환경에서 사용), 삭제하려는 키 페어가 시작 구성에서 지정되지 않았는지 확인하십시오. 비정상 인스턴스가 발견될 경우 Auto Scaling에서 대체 인스턴스를 시작하지만, 키 페어를 찾을 수 없으면 인스턴스 시작에 실패합니다.

키 페어는 Amazon EC2 콘솔이나 명령줄을 사용하여 삭제할 수 있습니다.

콘솔을 이용한 키 페어 삭제

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창의 NETWORK & SECURITY에서 Key Pairs를 선택합니다.

  3. 키 페어를 선택하고 [Delete]를 선택합니다.

  4. 메시지가 나타나면 [Yes]를 선택합니다.

명령줄을 이용한 키 페어 삭제

다음 명령 중 하나를 사용할 수 있습니다. 다음의 명령줄 인터페이스에 대한 자세한 내용은 Amazon EC2에 액세스 단원을 참조하십시오.

참고

인스턴스에서 Linux AMI를 생성한 후 해당 AMI를 사용하여 다른 리전 또는 계정에서 새 인스턴스를 시작하는 경우 새 인스턴스에 원본 인스턴스의 키 쌍이 포함됩니다. 이를 통해 원본 인스턴스와 동일한 프라이빗 키 파일을 사용하여 새 인스턴스에 연결할 수 있습니다. 원하는 텍스트 편집기를 사용해 .ssh/authorized_keys 파일에서 항목을 제거하여 인스턴스에서 이 퍼블릭 키를 제거할 수 있습니다. 인스턴스의 사용자 관리 및 특정 키 쌍을 사용하여 원격 액세스 제공에 대한 자세한 내용은 Linux 인스턴스의 사용자 계정 관리 단원을 참조하십시오.

인스턴스의 키 페어 추가 또는 교체

인스턴스의 기본 시스템 계정에 액세스하는 데 사용되는 키 페어를 변경할 수 있습니다. 예를 들어 조직 내 사용자가 별도의 키 페어를 사용하여 시스템 사용자 계정에 액세스해야 할 경우 인스턴스에 키 페어를 추가할 수 있습니다. 또는 누군가가(예: 퇴사자) .pem 파일의 사본을 보유하고 있어 이를 통한 인스턴스 연결을 금지하려는 경우 키 페어를 새 페어로 교체할 수 있습니다.

참고

이러한 절차는 기본 사용자 계정(예: ec2-user)의 키 페어를 수정하는 것입니다. 인스턴스에 사용자 계정을 추가하는 것에 대한 자세한 내용은 Linux 인스턴스의 사용자 계정 관리 단원을 참조하십시오.

시작하기 전에 Amazon EC2 콘솔 또는 타사 도구를 사용해 새 키 페어를 만들 수 있습니다.

키 페어를 추가 또는 교체하는 방법

  1. 새 키 페어에서 퍼블릭 키를 검색합니다. 자세한 내용은 키 페어에 맞는 퍼블릭 키 검색(Linux) 또는 키 페어에 맞는 퍼블릭 키 검색(Windows) 단원을 참조하십시오.

  2. 기존의 프라이빗 키 파일을 사용하여 인스턴스에 연결합니다.

  3. 원하는 텍스트 편집기를 사용하여 인스턴스에서 .ssh/authorized_keys 파일을 엽니다. 새 키 페어의 퍼블릭 키 정보를 기존 퍼블릭 키 정보 아래에 붙여넣습니다. 파일을 선택합니다.

  4. 인스턴스 연결을 해제하고 새 프라이빗 키 파일을 사용하여 인스턴스에 연결할 수 있는지 테스트합니다.

  5. (선택 사항) 기존 키 페어를 교체하는 경우 인스턴스에 연결하고 .ssh/authorized_keys 파일에서 원래 키 페어의 퍼블릭 키 정보를 삭제합니다.

참고

Auto Scaling 그룹을 사용 중인 경우(예: Elastic Beanstalk 환경에서 사용), 교체하려는 키 페어가 시작 구성에서 지정되지 않았는지 확인하십시오. 비정상 인스턴스가 발견될 경우 Auto Scaling에서 대체 인스턴스를 시작하지만, 키 페어를 찾을 수 없으면 인스턴스 시작에 실패합니다.

프라이빗 키를 분실했을 때 Linux 인스턴스에 연결하는 방법

EBS 기반 인스턴스용 프라이빗 키를 분실하는 경우 인스턴스에 대한 액세스 권한을 다시 얻을 수 있습니다. 인스턴스를 중지하고 루트 볼륨을 분리하여 다른 인스턴스에 데이터 볼륨으로 연결하여 authorized_keys 파일을 수정하고 해당 볼륨을 원본 인스턴스로 복귀한 뒤 인스턴스를 다시 시작합니다. 인스턴스 시작, 연결, 중지에 대한 자세한 내용은 인스턴스 수명 주기에서 확인하십시오.

인스턴스 스토어 지원 인스턴스의 경우 상기의 절차가 적용되지 않습니다. 인스턴스의 루트 디바이스 유형을 확인하려면 Amazon EC2 콘솔을 열고 [Instances]를 선택하여 인스턴스를 선택하고 세부 정보 창에서 [Root device type]의 값을 확인합니다. 이때 값은 ebs 또는 instance store입니다. 루트 디바이스가 인스턴스 스토어 볼륨인 경우 인스턴스에 연결하려면 사용자에게 프라이빗 키가 있어야 합니다.

필수 조건

새 키 페어는 Amazon EC2 콘솔이나 타사 도구를 사용해 만들 수 있습니다. 새 키 페어의 이름을 잃어버린 프라이빗 키와 동일하게 지정하려면 먼저 기존 키 페어를 삭제해야 합니다.

키 페어가 다른 EBS 기반 인스턴스로의 연결

  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 [Instances]를 선택한 후 연결할 인스턴스를 선택합니다. (이후의 내용에서는 이를 원본 인스턴스라고 지칭함)

  3. 다음 정보는 이 절차를 완료할 때 필요하므로 저장해야 합니다.

    • 원본 인스턴스의 인스턴스 ID, AMI ID 및 가용 영역을 메모합니다.

    • [Root device] 필드에서 루트 볼륨의 디바이스 이름(예: /dev/sda1 또는 /dev/xvda)을 기록합니다 링크를 선택하고 [EBS ID] 필드에 있는 볼륨 ID(vol-xxxxxxxxxxxxxxxxx)를 메모합니다.

    • [EC2-클래식] 원본 인스턴스에 연결된 탄력적 IP 주소가 있다면, 세부 정보 창에서 [Elastic IP] 필드에 표시된 탄력적 IP 주소를 메모해 둡니다.

  4. [Actions]를 선택하고 [Instance State]를 선택한 후 [Stop]을 선택합니다. [Stop]이 비활성화되어 있으면 해당 인스턴스가 이미 중지되었거나 루트 디바이스가 인스턴스 스토어 볼륨인 것입니다.

    주의

    인스턴스를 중지하면 인스턴스 스토어 볼륨의 데이터가 삭제됩니다. 따라서 인스턴스 스토어 볼륨에 보존하려는 데이터가 있을 경우 영구 스토리지에 백업하십시오.

  5. [Launch Instance]를 선택한 후 시작 마법사를 사용하여 다음 옵션으로 임시 인스턴스를 시작합니다.

    • [Choose an AMI] 페이지에서, 원본 인스턴스를 시작할 때와 같은 AMI를 선택합니다. 이 AMI가 표시되지 않는 경우 중지된 인스턴스에서 사용 가능한 AMI를 만들 수 있습니다. 자세한 내용은 Amazon EBS 지원 Linux AMI 생성 단원을 참조하십시오.

    • [Choose an Instance Type] 페이지에서 마법사에 의해 자동 선택된 기본 인스턴스 유형을 그대로 유지합니다.

    • [Configure Instance Details] 페이지에서 연결하고자 하는 인스턴스와 같은 가용 영역을 지정합니다. VPC에서 인스턴스를 시작하는 경우 가용 영역에서 서브넷을 선택합니다.

    • Add Tags 페이지에서 인스턴스에 Name=Temporary 태그를 추가하여 임시 인스턴스임을 표시합니다.

    • Review 페이지에서 Launch를 선택합니다. 새 키 쌍을 생성하고, 컴퓨터에서 안전한 위치에 다운로드한 후 [Launch Instances]를 선택합니다.

  6. 탐색 창에서 [Volumes]를 선택하고 원본 인스턴스에 대한 루트 디바이스 볼륨을 선택합니다(전 단계에서 기록해 둔 볼륨 ID). [Actions]를 선택한 후 [Detach Volume]을 선택합니다. 볼륨이 available 상태가 될 때까지 기다리십시오. ([Refresh] 아이콘을 클릭해야 할 수도 있습니다.)

  7. 해당 볼륨을 선택한 상태에서 [Actions]를 선택한 후 [Attach Volume]을 선택합니다. 임시 인스턴스의 인스턴스 ID를 선택하고 [Device]에서 지정된 디바이스(예: /dev/sdf)를 메모한 후 [Yes, Attach]를 선택합니다.

    참고

    AWS Marketplace AMI에서 원본 인스턴스를 시작했고 볼륨에 AWS Marketplace 코드가 포함되어 있는 경우 볼륨을 연결하기 전에 먼저 임시 인스턴스를 중지해야 합니다.

  8. 임시 인스턴스에 연결합니다.

  9. 임시 인스턴스에서 인스턴스에 연결한 볼륨을 마운트해야 해당 파일 시스템에 액세스할 수 있습니다. 예를 들어 디바이스 이름이 /dev/sdf인 경우 다음 명령을 사용하여 볼륨을 /mnt/tempvol로 마운트합니다.

    참고

    디바이스 이름은 인스턴스에서 다르게 표시될 수 있습니다. 예를 들면 /dev/sdf로 마운트된 디바이스가 인스턴스에서는 /dev/xvdf로 표시되기도 합니다. Red Hat 중 일부 버전(CentOS 등 변형 버전 포함)은 후행 문자가 4자씩 늘어나기도 하며, 이 경우 /dev/sdf/dev/xvdk로 변경됩니다.

    1. lsblk 명령을 사용하면 볼륨이 파티셔닝됐는지 여부를 확인할 수 있습니다.

      Copy
      [ec2-user ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda 202:0 0 8G 0 disk └─xvda1 202:1 0 8G 0 part / xvdf 202:80 0 101G 0 disk └─xvdf1 202:81 0 101G 0 part xvdg 202:96 0 30G 0 disk

      위 예에서 /dev/xvda/dev/xvdf는 파티션 볼륨이고, /dev/xvdg는 파티션 볼륨이 아닙니다. 볼륨이 파티셔닝된 경우 이후의 단계에서는 원시 디바이스(/dev/xvdf) 대신에 파티션(/dev/xvdf1))을 마운트해야 합니다.

    2. 임시 디렉터리를 만들어 볼륨을 마운트합니다.

      Copy
      [ec2-user ~]$ sudo mkdir /mnt/tempvol
    3. 임시 마운트 지점에 볼륨(파티션)을 마운트하되, 이전에 인식된 볼륨 이름이나 디바이스 이름을 사용합니다.

      Copy
      [ec2-user ~]$ sudo mount /dev/xvdf1 /mnt/tempvol
  10. 임시 인스턴스에서 다음 명령을 사용하여 마운팅된 볼륨의 authorized_keys를 임시 인스턴스에 대한authorized_keys의 새로운 퍼블릭 키로 업데이트합니다.

    중요

    다음 예는 Amazon Linux 사용자 이름 ec2-user를 사용합니다. Ubuntu 인스턴스의 경우 ubuntu처럼 다른 사용자 이름으로 바꿔야 할 수 있습니다.

    Copy
    [ec2-user ~]$ cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    이렇게 복사가 완료됐다면 다음 단계로 넘어갑니다.

    (선택 사항) 사용자가 /mnt/tempvol에서 파일을 편집할 권한이 없다면, sudo를 사용하여 파일을 업데이트한 후 이 파일에 대한 권한을 확인해야 원본 인스턴스에 로그인할 수 있는지 여부를 확실하게 알 수 있습니다. 파일에 대한 권한을 확인하려면 다음 명령을 사용하십시오.

    Copy
    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh total 4 -rw------- 1 222 500 398 Sep 13 22:54 authorized_keys

    이 예시에서 출력을 보면 222가 사용자 ID이고 500이 그룹 ID입니다. 곧이어 sudo를 사용하여 실패한 복사 명령을 다시 실행합니다.

    Copy
    [ec2-user ~]$ sudo cp .ssh/authorized_keys /mnt/tempvol/home/ec2-user/.ssh/authorized_keys

    권한이 변경됐는지 확인하려면 다음 명령을 다시 실행합니다.

    Copy
    [ec2-user ~]$ sudo ls -l /mnt/tempvol/home/ec2-user/.ssh

    사용자 ID와 그룹 ID가 변경되었다면 다음 명령을 사용하여 해당 항목을 복구합니다.

    Copy
    [ec2-user ~]$ sudo chown 222:500 /mnt/tempvol/home/ec2-user/.ssh/authorized_keys
  11. 임시 인스턴스에서 연결된 볼륨을 마운트 해제해야 이 볼륨을 원본 인스턴스에 다시 연결할 수 있습니다. 예를 들어 다음 명령을 사용하면 /mnt/tempvol에서 볼륨을 마운트 해제할 수 있습니다.

    Copy
    [ec2-user ~]$ sudo umount /mnt/tempvol
  12. Amazon EC2 콘솔에서 사용자가 메모해 둔 ID가 표시된 볼륨을 선택하고 [Actions]를 선택한 후 [Detach Volume]을 선택합니다. 볼륨이 available 상태가 될 때까지 기다리십시오. ([Refresh] 아이콘을 클릭해야 할 수도 있습니다.)

  13. 해당 볼륨을 선택한 상태에서 [Actions], [Attach Volume]을 선택합니다. 원본 인스턴스의 인스턴스 ID를 선택하고, 앞서 원래 루트 디바이스 연결을 위해 메모한 디바이스 이름(/dev/sda1 또는 /dev/xvda)을 지정한 뒤 [Yes, Attach]를 선택합니다.

    중요

    원래 연결 디바이스와 같은 이름을 지정하지 않으면 원본 인스턴스를 시작할 수 없습니다. Amazon EC2는 루트 디바이스 볼륨이 sda1 또는 /dev/xvda에 있다고 인식합니다.

  14. 원본 인스턴스를 선택하고 [Actions]를 선택한 후 [Instance State]를 선택하고 [Start]를 선택합니다. 인스턴스가 running 상태로 진입했다면 새 키 페어에 대한 프라이빗 키 파일을 사용하여 해당 인스턴스에 연결할 수 있습니다.

    참고

    새 키 페어와 해당 프라이빗 키 파일의 이름이 원래 키 페어의 이름과 다른 경우 인스턴스에 연결할 때 새 프라이빗 키 파일의 이름을 지정해야 합니다.

  15. [EC2-Classic] 원본 인스턴스를 중지하기 전에 이 인스턴스에 탄력적 IP 주소가 연결되어 있는 경우 다음에 따라 이 주소를 해당 인스턴스에 다시 연결해야 합니다.

    1. 탐색 창에서 [Elastic IPs]를 선택합니다.

    2. 이 절차를 시작할 때 메모해 둔 탄력적 IP 주소를 선택합니다.

    3. Actions를 선택한 후 Associate address를 선택합니다.

    4. 원본 인스턴스의 ID를 선택한 후 [Associate]를 선택합니다.

  16. (선택 사항) 임시 인스턴스를 더 이상 사용하지 않는 경우 해당 인스턴스는 종료해도 됩니다. 임시 인스턴스를 선택하고 [Actions]를 선택한 후 [Instance State]를 선택하고 [Terminate]를 선택합니다.