공유 AMI 찾기 - Amazon Elastic Compute Cloud

공유 AMI 찾기

공유 AMI는 Amazon EC2 콘솔 또는 명령줄을 사용해 검색할 수 있습니다.

AMI는 리전 리소스입니다. 공유 AMI(퍼블릭 또는 프라이빗)를 검색할 경우에는 공유되고 있는 동일한 리전에서 검색해야 합니다. AMI를 다른 리전에서 사용할 수 있도록 하려면 AMI를 해당 리전에 복사한 후 공유하세요. 자세한 내용은 AMI 복사 단원을 참조하십시오.

공유 AMI 찾기(콘솔)

콘솔을 사용해 프라이빗 AMI를 검색하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI를 선택합니다.

  3. 프라이빗 이미지를 첫 필터로 선택합니다. 사용자와 공유된 모든 AMI가 나열됩니다. 검색 결과를 좀 더 세부적으로 보려면 검색(Search) 창을 선택하고 메뉴에서 제공하는 필터 옵션을 사용하세요.

콘솔을 사용해 퍼블릭 AMI를 검색하는 방법
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI를 선택합니다.

  3. 퍼블릭 이미지를 첫 필터로 선택합니다. 검색 결과를 자세히 확인하려면 검색(Search) 필드를 선택하고 메뉴에 제공된 필터 옵션을 사용하세요.

콘솔을 사용하여 Amazon의 공유된 퍼블릭 AMI를 검색하려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI를 선택합니다.

  3. 퍼블릭 이미지를 첫 필터로 선택합니다.

  4. 검색(Search) 필드를 선택한 다음, 표시되는 메뉴 옵션에서 소유자 별칭(Owner alias)을 선택하고, =를 선택한 다음, amazon을 선택하여 Amazon의 퍼블릭 이미지만 표시합니다.

콘솔을 사용해 확인된 공급 업체의 공유된 퍼블릭 AMI를 찾으려면
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 탐색 창에서 AMI 카탈로그(AMI Catalog)를 선택합니다.

  3. 커뮤니티 AMI를 선택합니다.

  4. 확인된 공급 업체 레이블은 Amazon 또는 검증된 파트너의 AMI를 나타냅니다.

공유 AMI 찾기(AWS CLI)

describe-images 명령(AWS CLI)을 사용해 AMI를 나열합니다. 아래 예시와 같이 원하는 유형의 AMI만 나타나도록 목록을 정리할 수 있습니다.

예: 모든 퍼블릭 AMI 나열

다음 명령은 사용자가 소유한 퍼블릭 AMI를 포함한 모든 퍼블릭 AMI를 나열합니다.

aws ec2 describe-images --executable-users all
예: 명시적 시작 권한으로 AMI 나열

다음 명령은 사용자가 명시적 시작 권한을 가지고 있는 AMI를 나열합니다. 이 목록에는 사용자가 소유한 AMI는 포함되지 않습니다.

aws ec2 describe-images --executable-users self
예: 확인된 공급 업체가 소유한 AMI 표시

다음의 명령은 확인된 공급 업체가 소유한 AMI를 표시합니다. 확인된 공급 업체(Amazon 또는 확인된 파트너)가 소유한 퍼블릭 AMI는 별칭이 있는 소유자가 있으며, 이는 계정 필드에 amazon 또는 aws-marketplace로 표시됩니다. 이렇게 하면 확인된 공급 업체의 AMI를 쉽게 찾을 수 있습니다. 다른 사용자는 AMI 별칭을 사용할 수 없습니다.

aws ec2 describe-images \ --owners amazon aws-marketplace \ --query 'Images[*].[ImageId]' \ --output text
예: 계정에서 소유한 AMI 나열

다음 명령은 지정된 AWS 계정이 소유한 AMI를 나열합니다.

aws ec2 describe-images --owners 123456789012
예: 필터를 사용하여 AMI 범위 지정

표시된 AMI 수가 너무 많다면 필터를 사용하여 원하는 유형의 AMI만 나타나도록 할 수 있습니다. 예를 들어, 다음 필터를 사용하면 EBS 기반 AMI만 나열됩니다.

--filters "Name=root-device-type,Values=ebs"

공유 AMI 사용

공유 AMI를 사용하기 전에 다음 과정에 따라 다음 과정을 따라 외부 사용자의 인스턴스 액세스를 허용하는 자격 증명 프로그램이나 민감한 정보를 외부로 전송할 수 있는 원격 로그인 설정이 포함된 AMI인지를 확인해야 합니다. 시스템 보안성 향상에 대한 정보는 AMI에서 사용하는 Linux 배포 제품용 문서를 참조하세요.

인스턴스에 대한 액세스가 끊기는 사고를 방지하려면 두 개의 SSH 세션을 시작해 한 세션에서 출처가 확실하지 않은 자격 증명 프로그램을 제거하고 SSH를 사용해 인스턴스에 로그인을 시도해 보고, 문제없음이 확인될 때까지 다른 세션을 오픈된 상태로 유지하는 것을 권장합니다.

  1. 허용되지 않은 퍼블릭 SSH 키를 확인하고 비활성화합니다. AMI를 시작할 때는 파일에 포함된 키만 사용해야 합니다. 다음 명령은 authorized_keys 파일을 찾습니다.

    [ec2-user ~]$ sudo find / -name "authorized_keys" -print -exec cat {} \;
  2. 루트 사용자의 암호 방식 인증을 비활성화합니다. sshd_config 파일을 열고 PermitRootLogin 줄을 다음과 같이 편집합니다.

    PermitRootLogin without-password

    또는 인스턴스에 루트 사용자로 로그인하여 기능을 비활성화할 수 있습니다.

    PermitRootLogin No

    sshd 서비스를 재시작합니다.

  3. 인스턴스에 로그인할 수 있는 다른 사용자가 있는지 확인합니다. 수퍼유저 권한을 가진 사용자에게 특히 유의해야 합니다. 알 수 없는 계정은 모두 암호를 제거하거나 잠금 설정합니다.

  4. 개방 포트 중 사용하지 않는 포트 및 들어오는 연결을 수신하는 네트워크 서비스가 실행 중이지 않은 포트를 확인합니다.

  5. 사전 구성을 통한 원격 로그인을 방지하려면 기존의 구성 파일을 삭제하고 rsyslog 서비스를 재시작해야 합니다. 예:

    [ec2-user ~]$ sudo rm /etc/rsyslog.conf [ec2-user ~]$ sudo service rsyslog restart
  6. 모든 cron 작업의 유효성을 확인합니다.

보안을 위협하는 것으로 생각되는 퍼블릭 AMI를 발견했다면 AWS 보안 팀에 연락하세요. 자세한 정보는 AWS 보안 센터 섹션을 참조하세요.