메뉴
Amazon Elastic Compute Cloud
User Guide for Linux Instances

공유 AMI 검색

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

공유 AMI를 검색하는 방법(콘솔)

콘솔을 사용해 프라이빗 AMI를 검색하는 방법

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

  2. 탐색 창에서 [AMIs]를 선택합니다.

  3. [Private images]를 첫 필터로 선택합니다. 사용자와 공유된 모든 AMI가 나열됩니다. 검색 결과를 좀 더 세부적으로 보려면 [Search] 창을 선택하여 메뉴에서 제공하는 필터 옵션을 사용하십시오.

콘솔을 사용해 퍼블릭 AMI를 검색하는 방법

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

  2. 탐색 창에서 [AMIs]를 선택합니다.

  3. [Public images]를 첫 필터로 선택합니다. 검색 결과를 좀 더 세부적으로 보려면 [Search] 창을 선택하여 메뉴에서 제공하는 필터 옵션을 사용하십시오.

  4. 필터를 사용하면 원하는 유형의 AMI만 검색할 수 있습니다. 예를 들어 [Owner :]를 선택한 다음 [Amazon images]를 선택하면 Amazon의 퍼블릭 이미지만 표시됩니다.

공유 AMI를 검색하는 방법(AWS CLI)

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

예: 모든 퍼블릭 AMI 나열

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

Copy
aws ec2 describe-images --executable-users all

예: 명시적 시작 권한으로 AMI 나열

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

Copy
aws ec2 describe-images --executable-users self

예: Amazon에서 소유한 AMI 나열

다음 명령은 Amzaon 소유 AMI를 나열합니다. Amazon의 공개 AMI는 별칭을 소유주 이름으로 사용하며 계정 필드에 amazon가 표시됩니다. 따라서 Amazon에서 배포한 AMI를 쉽게 찾을 수 있습니다. 다른 사용자는 AMI 별칭을 사용할 수 없습니다.

Copy
aws ec2 describe-images --owners amazon

예: 계정에서 소유한 AMI 나열

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

Copy
aws ec2 describe-images --owners 123456789012

예: 필터를 사용하여 AMI 범위 지정

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

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

공유 AMI 사용

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

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

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

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

    PermitRootLogin without-password

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

    PermitRootLogin No

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

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

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

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

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

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