

# AMI 사용 관리 및 모니터링
<a name="ec2-ami-usage"></a>

AWS는 AMI 사용을 효과적으로 관리하고 모니터링하는 데 도움이 되는 몇 가지 기능을 제공합니다. 공유 AMI를 사용하는 계정을 추적하고, AMI가 마지막으로 사용된 시기를 식별하고, AWS 계정에서 특정 AMI를 참조하는 리소스를 검색할 수 있습니다.

다음 표에서는 AMI 사용을 관리 및 모니터링하기 위한 기능에 대한 개요를 제공합니다.


| 기능 | 사용 사례: | 주요 이점 | 
| --- | --- | --- | 
| [AMI 사용 보고서](your-ec2-ami-usage.md) | AMI를 사용하는 AWS 계정 및 각 AMI의 사용 빈도를 파악합니다. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-ami-usage.html)  | 
| [마지막으로 사용된 시간 추적](ami-last-launched-time.md) | AMI가 마지막으로 사용된 시간을 확인합니다. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-ami-usage.html)  | 
| [AMI 참조 확인](ec2-ami-references.md) | AWS 리소스가 최신 규정 준수 AMI를 사용하는지 확인합니다. |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ec2-ami-usage.html)  | 

**Topics**
+ [AMI 사용 보기](your-ec2-ami-usage.md)
+ [Amazon EC2 AMI를 마지막으로 사용한 시점 확인](ami-last-launched-time.md)
+ [지정된 AMI를 참조하는 리소스 식별](ec2-ami-references.md)

# AMI 사용 보기
<a name="your-ec2-ami-usage"></a>

Amazon Machine Image(AMI)를 다른 AWS 계정(특정 AWS 계정, 조직, 조직 단위(OU) 또는 공개적으로)과 공유하는 경우 AMI 사용 보고서를 생성하여 이러한 AMI가 어떻게 사용되는지 확인할 수 있습니다. 보고서는 다음에 대한 가시성을 제공합니다.
+ EC2 인스턴스 또는 시작 템플릿에서 AMI를 사용하는 AWS 계정
+ 각 AMI를 참조하는 EC2 인스턴스 또는 시작 템플릿의 수

AMI 사용 보고서는 다음 기능을 지원하여 AMI를 보다 효과적으로 관리하는 데 도움이 됩니다.
+ AMI를 안전하게 등록 취소 또는 비활성화할 수 있도록 AMI를 참조하는 AWS 계정 및 리소스 유형을 식별합니다.
+ 스토리지 비용을 절감하기 위해 등록 취소할 미사용 AMI를 식별합니다.
+ 가장 많이 사용되는 AMI를 식별합니다.

**Topics**
+ [AMI 사용 보고서 작동 방식](#how-ami-usage-reports-work)
+ [AMI 사용 보고서 생성](#create-ami-usage-reports)
+ [AMI 사용 보고서 보기](#view-ami-usage-reports)
+ [AMI 사용 보고서 삭제](#delete-ami-usage-reports)
+ [보고서 할당량](#ami-usage-report-quotas)

## AMI 사용 보고서 작동 방식
<a name="how-ami-usage-reports-work"></a>

AMI 사용 보고서를 생성할 때 다음을 지정합니다.
+ 보고할 AMI.
+ AWS 계정 확인할 (특정 계정 또는 모든 계정).
+ 확인할 리소스 유형(EC2 인스턴스, 시작 템플릿 또는 둘 다).
+ 시작 템플릿의 경우 확인할 버전 수(기본값은 최신 버전 20개).

Amazon EC2는 각 AMI에 대해 별도의 보고서를 생성합니다. 각 보고서는 다음을 제공합니다.
+ AMI를 사용하는 AWS 계정의 목록.
+ 계정당 리소스 유형별로 AMI를 참조하는 리소스 수. 시작 템플릿의 경우 AMI가 시작 템플릿의 여러 버전에서 참조되더라도 개수는 1뿐입니다.

**중요**  
AMI 사용 보고서를 생성할 때 최신 활동이 포함되지 않을 수 있습니다. 지난 24시간 동안의 인스턴스 활동 및 지난 며칠 동안의 시작 템플릿 활동은 보고서에 표시되지 않을 수 있습니다.

Amazon EC2는 생성된 보고서를 30일 경과 후 자동으로 삭제합니다. EC2 콘솔에서 보고서를 다운로드하여 로컬로 유지할 수 있습니다.

## AMI 사용 보고서 생성
<a name="create-ami-usage-reports"></a>

AMI가 사용되는 방식을 보려면 먼저 보고할 계정 및 리소스 유형을 지정하여 AMI 사용 보고서를 생성해야 합니다. 보고서가 생성되면 보고서의 내용을 볼 수 있습니다. EC2 콘솔에서 보고서를 다운로드할 수도 있습니다.

------
#### [ Console ]

**AMI 사용 보고서를 생성하려면**

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

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

1. AMI를 선택하고 **작업**, **AMI 사용**, **내 AMI 사용 보기**를 선택합니다.

1. **내 AMI 사용 보고서 생성** 페이지에서 다음을 수행합니다.

   1. **리소스 유형**에서 보고할 리소스 유형을 하나 이상 선택합니다.

   1. **계정 ID**에서 다음 중 하나를 수행합니다.
      + **계정 ID 지정**을 선택한 다음 보고할 각 계정에 대해 **계정 ID 추가**를 선택합니다.
      + 모든 계정을 보고하려면 **모든 계정 포함**을 선택합니다.

   1. **내 AMI 사용 보고서 생성**을 선택합니다.

1. AMI 페이지에서 **내 AMI 사용** 탭을 선택합니다.

1. 세부 정보를 볼 보고서 ID를 선택합니다.

------
#### [ AWS CLI ]

**계정 목록에 대한 AMI 사용 보고서를 생성하려면**  
[create-image-usage-report](https://docs.aws.amazon.com/cli/latest/reference/ec2/create-image-usage-report.html) 명령을 다음 필수 파라미터와 함께 사용합니다.
+ `--image-id` - 보고할 AMI의 ID입니다.
+ `--resource-types` - 확인할 리소스의 유형입니다. 다음 예제에서 확인할 리소스 유형은 EC2 인스턴스 및 시작 템플릿입니다. 또한 확인할 시작 템플릿 버전의 수도 지정됩니다(`version-depth=100`).

 특정 계정에 대해 보고하려면 `--account-ids` 파라미터를 사용하여 보고할 계정의 ID를 각각 지정합니다.

```
aws ec2 create-image-usage-report \
    --image-id ami-0abcdef1234567890 \
    --account-ids 111122223333 444455556666 123456789012 \
    --resource-types ResourceType=ec2:Instance \
      'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=100}]'
```

**모든 계정의 AMI 사용 보고서를 생성하려면**  
지정된 AMI를 사용하여 모든 계정에 대해 보고하려면 동일한 명령을 사용하되 `--account-ids` 파라미터를 생략합니다.

```
aws ec2 create-image-usage-report \
    --image-id ami-0abcdef1234567890 \
    --resource-types ResourceType=ec2:Instance \
      'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=100}]'
```

다음은 예제 출력입니다.

```
{
    "ReportId": "amiur-00b877d192f6b02d0"
}
```

**보고서 생성 상태를 모니터링하려면**  
[describe-image-usage-reports](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-reports.html) 명령을 사용하고 보고서 ID를 지정합니다.

```
aws ec2 describe-image-usage-reports --report-ids amiur-00b877d192f6b02d0
```

다음은 예제 출력입니다. `State` 필드의 초기 값은 `pending`입니다. 보고서 항목을 보려면 상태가 `available`이어야 합니다.

```
{
    "ImageUsageReports": [
        {
            "ImageId": "ami-0e9ae3dc21c2b3a64",
            "ReportId": "amiur-abcae3dc21c2b3999",
            "ResourceTypes": [
                {"ResourceType": "ec2:Instance"}
            ],
            "State": "pending",
            "CreationTime": "2025-09-29T13:27:12.322000+00:00",
            "ExpirationTime": "2025-10-28T13:27:12.322000+00:00"
        }
    ]
}
```

------
#### [ PowerShell ]

**계정 목록에 대한 AMI 사용 보고서를 생성하려면**  
[New-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/New-EC2ImageUsageReport.html) cmdlet을 다음 필수 파라미터와 함께 사용합니다.
+ `-ImageId` - 보고할 AMI의 ID입니다.
+ `-ResourceType` - 확인할 리소스의 유형입니다. 다음 예제에서 확인할 리소스 유형은 EC2 인스턴스 및 시작 템플릿입니다. 또한 확인할 시작 템플릿 버전의 수도 지정됩니다(`'version-depth' = 100`).

 특정 계정에 대해 보고하려면 `-AccountId` 파라미터를 사용하여 보고할 계정의 ID를 각각 지정합니다.

```
New-EC2ImageUsageReport `
    -ImageId ami-0abcdef1234567890 `
    -AccountId 111122223333 444455556666 123456789012 `
    -ResourceType @(
        @{ResourceType = 'ec2:Instance'},
        @{ResourceType = 'ec2:LaunchTemplate'ResourceTypeOptions = @{'version-depth' = 100}
        })
```

**모든 계정의 AMI 사용 보고서를 생성하려면**  
지정된 AMI를 사용하여 모든 계정에 대해 보고하려면 동일한 명령을 사용하되 `-AccountId` 파라미터를 생략합니다.

```
New-EC2ImageUsageReport `
    -ImageId ami-0abcdef1234567890 `
    -ResourceType @(
        @{ResourceType = 'ec2:Instance'},
        @{ResourceType = 'ec2:LaunchTemplate'ResourceTypeOptions = @{'version-depth' = 100}
        })
```

다음은 예제 출력입니다.

```
ReportId
--------
amiur-00b877d192f6b02d0
```

**보고서 생성 상태를 모니터링하려면**  
[Get-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReport.html) 명령을 사용하고 보고서 ID를 지정합니다.

```
Get-EC2ImageUsageReport -ReportId amiur-00b877d192f6b02d0
```

다음은 예제 출력입니다. `State` 필드의 초기 값은 `pending`입니다. 보고서 항목을 보려면 상태가 `available`이어야 합니다.

```
ImageUsageReports
-----------------
{@{ImageId=ami-0e9ae3dc21c2b3a64; ReportId=amiur-abcae3dc21c2b3999; ResourceTypes=System.Object[]; State=pending; CreationTime=2025-09-29; ExpirationTime=2025-10-28}}
```

------

## AMI 사용 보고서 보기
<a name="view-ami-usage-reports"></a>

지난 30일 동안 특정 AMI에 대해 생성한 모든 사용 보고서를 볼 수 있습니다. Amazon EC2는 생성된 보고서를 30일 경과 후 자동으로 삭제합니다.

각 보고서에 대해 AMI를 사용하는 AWS 계정을 확인할 수 있고, 각 계정에 대해 리소스 유형별로 AMI를 참조하는 리소스 수를 확인할 수 있습니다. 보고서 생성이 시작된 시점도 확인할 수 있습니다. 이 정보는 보고서가 **완료**(콘솔) 또는 `available`(AWS CLI) 상태인 경우에만 사용할 수 있습니다.

**중요**  
AMI 사용 보고서를 생성할 때 최신 활동이 포함되지 않을 수 있습니다. 지난 24시간 동안의 인스턴스 활동 및 지난 며칠 동안의 시작 템플릿 활동은 보고서에 표시되지 않을 수 있습니다.

------
#### [ Console ]

**AMI 사용 보고서를 보려면**

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

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

1. AMI를 선택합니다.

1. **내 사용 보고서** 탭을 선택합니다.

   보고서 목록에는 다음이 표시됩니다.
   + 선택한 AMI에 대해 지난 30일 동안 생성된 모든 보고서입니다.
   + 각 보고서에 대해 **보고서 시작 시간** 열에 보고서가 생성된 날짜가 표시됩니다.

1. 내용을 보려면 보고서의 ID를 선택합니다.

1. AMI 세부 정보 페이지의 **내 사용 보고서** 탭으로 돌아가려면 **이 AMI에 대한 모든 보고서 보기**를 선택합니다.

------
#### [ AWS CLI ]

**지정된 AMI에 대한 모든 AMI 사용 보고서를 나열하려면**  
[describe-image-usage-reports](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-reports.html) 명령을 사용하고 AMI의 ID를 지정하여 보고서 목록을 가져옵니다.

```
aws ec2 describe-image-usage-reports --image-ids ami-0abcdef1234567890
```

다음은 예제 출력입니다. 각 보고서 ID는 스캔한 리소스 유형, 보고서 생성 및 만료 날짜와 함께 나열됩니다. 이 정보를 사용하여 항목을 보려는 보고서를 식별할 수 있습니다.

```
{
  "ImageUsageReports": [
    {
      "ImageId": "ami-0abcdef1234567890",
      "ReportId": "amiur-1111111111111111",
      "ResourceTypes": [
        {
          "ResourceType": "ec2:Instance"
        }
      ],
      "State": "available",
      "CreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ExpirationTime": "2025-10-28T13:27:12.322000+00:00",
      "Tags": []
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ReportId": "amiur-22222222222222222",
      "ResourceTypes": [
        {
          "ResourceType": "ec2:Instance"
        },
        {
          "ResourceType": "ec2:LaunchTemplate"
        }
      ],
      "State": "available",
      "CreationTime": "2025-10-01T13:27:12.322000+00:00",
      "ExpirationTime": "2025-10-30T13:27:12.322000+00:00",
      "Tags": []
    }
  ],
  "NextToken": "opaque"
}
```

**지정된 AMI에 대한 AMI 사용 보고서의 내용을 보려면**  
[describe-image-usage-report-entries](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-report-entries.html) 명령을 사용하고 AMI의 ID를 지정합니다. 응답은 지정된 AMI에 대한 모든 보고서를 반환하며, AMI를 사용한 계정 및 해당 리소스 수를 보여줍니다.

```
aws ec2 describe-image-usage-report-entries --image-ids ami-0abcdef1234567890
```

다음은 예제 출력입니다.

```
{
  "ImageUsageReportEntries": [
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "123412341234",
      "UsageCount": 15,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-1111111111111111"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "123412341234",
      "UsageCount": 2,
      "ReportCreationTime": "2025-10-01T13:27:12.322000+00:00",
      "ReportId": "amiur-22222222222222222"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "001100110011",
      "UsageCount": 39,
      "ReportCreationTime": "2025-10-01T13:27:12.322000+00:00",
      "ReportId": "amiur-22222222222222222"
    }
  ],
  "NextToken": "opaque"
}
```

**지정된 AMI 사용 보고서의 내용을 보려면**  
[describe-image-usage-report-entries](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-usage-report-entries.html) 명령을 사용하고 보고서의 ID를 지정합니다. 응답은 지정된 보고서의 모든 항목을 반환하며, AMI를 사용한 계정 및 해당 리소스 수를 보여줍니다.

```
aws ec2 describe-image-usage-report-entries --report-ids amiur-11111111111111111
```

다음은 예제 출력입니다.

```
{
  "ImageUsageReportEntries": [
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:Instance",
      "AccountId": "123412341234",
      "UsageCount": 15,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-11111111111111111"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:LaunchTemplate",
      "AccountId": "123412341234",
      "UsageCount": 4,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-11111111111111111"
    },
    {
      "ImageId": "ami-0abcdef1234567890",
      "ResourceType": "ec2:LaunchTemplate",
      "AccountId": "001100110011",
      "UsageCount": 2,
      "ReportCreationTime": "2025-09-29T13:27:12.322000+00:00",
      "ReportId": "amiur-11111111111111111"
    }
  ],
  "NextToken": "opaque"
}
```

------
#### [ PowerShell ]

**지정된 AMI에 대한 모든 AMI 사용 보고서를 나열하려면**  
[Get-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReport.html) cmdlet을 사용하고 AMI의 ID를 지정하여 보고서 목록을 가져옵니다.

```
Get-EC2ImageUsageReport -ImageId ami-0abcdef1234567890
```

다음은 예제 출력입니다. 각 보고서 ID는 스캔한 리소스 유형, 보고서 생성 및 만료 날짜와 함께 나열됩니다. 이 정보를 사용하여 항목을 보려는 보고서를 식별할 수 있습니다.

```
@{
    ImageUsageReports = @(
        @{
            ImageId = "ami-0abcdef1234567890"
            ReportId = "amiur-1111111111111111"
            ResourceTypes = @(
                @{
                    ResourceType = "ec2:Instance"
                }
            )
            State = "available"
            CreationTime = "2025-09-29T13:27:12.322000+00:00"
            ExpirationTime = "2025-10-28T13:27:12.322000+00:00"
        },
        @{
            ImageId = "ami-0abcdef1234567890"
            ReportId = "amiur-22222222222222222"
            ResourceTypes = @(
                @{
                    ResourceType = "ec2:Instance"
                }
            )
            State = "available"
            CreationTime = "2025-09-30T13:27:12.322000+00:00"
            ExpirationTime = "2025-10-29T13:27:12.322000+00:00"
        },
        @{
            ImageId = "ami-0abcdef1234567890"
            ReportId = "amiur-33333333333333333"
            ResourceTypes = @(
                @{
                    ResourceType = "ec2:Instance"
                }
            )
            State = "available"
            CreationTime = "2025-10-01T13:27:12.322000+00:00"
            ExpirationTime = "2025-10-30T13:27:12.322000+00:00"
        }
    )
    NextToken = "opaque"
}
```

**지정된 AMI에 대한 AMI 사용 보고서의 내용을 보려면**  
[Get-EC2ImageUsageReportEntry](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReportEntry.html) cmdlet을 사용하고 AMI의 ID를 지정합니다. 응답은 지정된 AMI에 대한 모든 보고서를 반환하며, AMI를 사용한 계정 및 해당 리소스 수를 보여줍니다.

```
Get-EC2ImageUsageReportEntry -ImageId ami-0abcdef1234567890
```

다음은 예제 출력입니다.

```
ImageUsageReportEntries : {@{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:Instance"
    AccountId = "123412341234"
    UsageCount = 15
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-1111111111111111"
    }, @{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:Instance"
    AccountId = "123412341234"
    UsageCount = 7
    ReportCreationTime = "2025-09-30T13:27:12.322000+00:00"
    ReportId = "amiur-22222222222222222"
    }...}
NextToken : opaque
```

**지정된 AMI 사용 보고서의 내용을 보려면**  
[Get-EC2ImageUsageReportEntry](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageUsageReportEntry.html) cmdlet을 사용하고 보고서의 ID를 지정합니다. 응답은 지정된 보고서의 모든 항목을 반환하며, AMI를 사용한 계정 및 해당 리소스 수를 보여줍니다.

```
Get-EC2ImageUsageReportEntry -ReportId amiur-11111111111111111
```

다음은 예제 출력입니다.

```
ImageUsageReportEntries : {@{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:Instance"
    AccountId = "123412341234"
    UsageCount = 15
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-11111111111111111"
    }, @{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:LaunchTemplate"
    AccountId = "123412341234"
    UsageCount = 4
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-11111111111111111"
    }, @{
    ImageId = "ami-0abcdef1234567890"
    ResourceType = "ec2:LaunchTemplate"
    AccountId = "************"
    UsageCount = 2
    ReportCreationTime = "2025-09-29T13:27:12.322000+00:00"
    ReportId = "amiur-11111111111111111"
    }}
NextToken : opaque
```

------

## AMI 사용 보고서 삭제
<a name="delete-ami-usage-reports"></a>

Amazon EC2는 생성된 보고서를 30일 경과 후 자동으로 삭제합니다. 그 전에 수동으로 삭제할 수 있습니다.

------
#### [ Console ]

**AMI 사용 보고서를 삭제하려면**

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

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

1. AMI를 선택합니다.

1. **내 AMI 사용** 탭을 선택합니다.

1. 삭제할 보고서 옆에 위치한 옵션 버튼을 선택하고 **삭제**를 선택합니다.

------
#### [ AWS CLI ]

**AMI 사용 보고서를 삭제하려면**  
[delete-image-usage-report](https://docs.aws.amazon.com/cli/latest/reference/ec2/delete-image-usage-report.html) 명령을 사용하고 보고서의 ID를 지정합니다.

```
aws ec2 delete-image-usage-report --report-id amiur-0123456789abcdefg
```

------
#### [ PowerShell ]

**AMI 사용 보고서를 삭제하려면**  
[Remove-EC2ImageUsageReport](https://docs.aws.amazon.com/powershell/latest/reference/items/Remove-EC2ImageUsageReport.html) cmdlet을 사용하고 보고서의 ID를 지정합니다.

```
Remove-EC2ImageUsageReport -ReportId amiur-0123456789abcdefg
```

------

## 보고서 할당량
<a name="ami-usage-report-quotas"></a>

다음 할당량은 AMI 사용량 보고서 생성에 적용됩니다. 할당량은 AWS 리전별로 적용됩니다.


| 설명 | 할당량 | 
| --- | --- | 
| AWS 계정당 진행 중인(pending) AMI 사용량 보고서 | 2,000 | 
| AMI당 진행 중인(pending) AMI 사용량 보고서 | 1 | 

# Amazon EC2 AMI를 마지막으로 사용한 시점 확인
<a name="ami-last-launched-time"></a>

Amazon EC2는 AMI가 인스턴스를 시작하는 데 마지막으로 사용된 날짜와 시간을 자동으로 추적합니다. 오랫동안 인스턴스를 시작하는 데 사용되지 않은 AMI가 있는 경우 해당 AMI가 [등록 취소](deregister-ami.md) 또는 [사용 중단](ami-deprecate.md)에 적합한지 고려해 보세요.

**고려 사항**
+ AMI를 사용하여 인스턴스를 시작하면 24시간이 지나서 사용량이 보고됩니다.
+ 마지막 실행 시간을 확인하려면 AMI의 소유자여야 합니다.
+ AMI 사용 데이터는 2017년 4월부터 사용할 수 있습니다.

------
#### [ Console ]

**AMI의 마지막 시작 시간 보기**

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

1. 왼쪽 탐색 창에서 **AMI**를 선택합니다.

1. 필터 표시줄에서 **내 소유**를 선택합니다.

1. AMI에 대한 확인란을 선택합니다.

1. **세부 정보** 탭에서 **마지막 시작 시간**을 찾습니다.

------
#### [ AWS CLI ]

**AMI를 설명하여 마지막 시작 시간을 보는 방법**  
[describe-images](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-images.html) 명령을 사용합니다. `LastLaunchedTime`이 없는 경우 본인이 AMI를 소유하는지 확인합니다.

```
aws ec2 describe-images \
    --image-id ami-0abcdef1234567890 \
    --query Images[].LastLaunchedTime \
    --output text
```

다음은 예제 출력입니다.

```
2025-02-17T20:22:19Z
```

**AMI의 마지막 시작 시간 속성을 보는 방법**  
[describe-image-attribute](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-attribute.html) 명령을 사용합니다. 본인이 지정된 AMI의 소유자여야 합니다.

```
aws ec2 describe-image-attribute \
    --image-id ami-0abcdef1234567890 \
    --attribute lastLaunchedTime \
    --query LastLaunchedTime.Value \
    --output text
```

다음은 예제 출력입니다.

```
2025-02-17T20:22:19Z
```

------
#### [ PowerShell ]

**AMI를 설명하여 마지막 시작 시간을 보는 방법**  
[Get-EC2Image](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2Image.html) cmdlet을 사용합니다. `LastLaunchedTime`이 없는 경우 본인이 AMI를 소유하는지 확인합니다.

```
(Get-EC2Image -ImageId ami-0abcdef1234567890).LastLaunchedTime
```

다음은 예제 출력입니다.

```
2025-02-17T20:22:19Z
```

**AMI의 마지막 시작 시간 속성을 보는 방법**  
[Get-EC2ImageAttribute](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageAttribute.html) cmdlet을 사용합니다. 본인이 지정된 AMI의 소유자여야 합니다.

```
(Get-EC2ImageAttribute `
    -ImageId ami-0abcdef1234567890 `
    -Attribute LastLaunchedTime).LastLaunchedTime
```

출력의 예제는 다음과 같습니다.

```
2025-02-17T20:22:19Z
```

------

# 지정된 AMI를 참조하는 리소스 식별
<a name="ec2-ami-references"></a>

AMI가 퍼블릭 또는 프라이빗인지, 누가 소유하는지 관계없이 지정된 Amazon Machine Image(AMI)를 참조하는 AWS 리소스를 식별할 수 있습니다. 이러한 가시성은 리소스가 최신 규정 준수 AMI를 사용하는지 확인하는 데 도움이 됩니다.

**주요 이점**

AMI 참조를 확인하면 다음과 같은 이점이 있습니다.
+ 계정의 AMI 사용을 감사합니다.
+ 특정 AMI가 참조되는 위치를 확인합니다.
+ 최신 AMI를 참조하도록 리소스를 업데이트하여 규정 준수를 유지합니다.

 

**Topics**
+ [지원되는 리소스](#ec2-ami-references-supported-resources)
+ [AMI 참조 확인 작동 방식](#how-ami-references-works)
+ [필수 IAM 권한](#ami-references-required-permissions)
+ [AMI 참조를 확인하는 단계](#ami-reference-procedures)

## 지원되는 리소스
<a name="ec2-ami-references-supported-resources"></a>

AMI 참조는 다음에서 확인할 수 있습니다.
+ EC2 인스턴스
+ 시작 템플릿
+ SSM 파라미터
+ Image Builder 이미지 레시피
+ Image Builder 컨테이너 레시피

## AMI 참조 확인 작동 방식
<a name="how-ami-references-works"></a>

**기본 작업**

AMI 참조 확인을 실행할 때 다음 작업을 수행합니다.
+ 확인할 AMI를 지정합니다.
+ 스캔할 리소스 유형을 선택합니다.
+ 지정된 AMI를 참조하는 리소스의 목록을 받습니다.

**리소스 유형 선택**

콘솔에서 스캔할 리소스 유형을 선택합니다.

CLI에서 다음 CLI 파라미터 중 하나 또는 둘 다를 사용하여 스캔할 리소스 유형을 지정합니다.
+ `IncludeAllResourceTypes`: 지원되는 리소스 유형을 모두 스캔합니다.
+ `ResourceTypes`: 지정된 리소스 유형을 스캔합니다.

**응답 범위 지정**

`ResourceTypes` 파라미터를 사용하여 `ResourceTypeOptions` 값을 사용자 지정하면 EC2 인스턴스 및 시작 템플릿에 대한 응답의 범위를 지정할 수 있습니다. 콘솔과 `IncludeAllResourceTypes` 파라미터 모두 기본 옵션 값을 사용합니다. `ResourceTypes`과 `IncludeAllResourceTypes`를 함께 사용하면 `ResourceTypes` 옵션 값이 기본값보다 우선합니다.

기본값은 다음과 같습니다.


| 리소스 유형 | 범위 지정 옵션(`OptionName`) | 용도 | `OptionValue` 및 콘솔의 기본값 | 
| --- | --- | --- | --- | 
| EC2 인스턴스 | state-name | 인스턴스 상태를 기준으로 필터링 | pending, running, shutting-down, terminated, stopping, stopped(모든 상태) | 
| 시작 템플릿 | version-depth | 확인할 시작 템플릿 버전 수를 지정(최신 버전부터 시작) | 10(최신 버전) | 

## 필수 IAM 권한
<a name="ami-references-required-permissions"></a>

DescribeImageReferences API를 사용하여 지정된 AMI를 참조하는 리소스를 식별하려면 리소스를 설명할 수 있는 다음 IAM 권한이 필요합니다.
+ `ec2:DescribeInstances`
+ `ec2:DescribeLaunchTemplates`
+ `ec2:DescribeLaunchTemplateVersions`
+ `ssm:DescribeParameters`
+ `ssm:GetParameters`
+ `imagebuilder:ListImageRecipes`
+ `imagebuilder:ListContainerRecipes`
+ `imagebuilder:GetContainerRecipe`

**DescribeImageReferences API 사용을 위한 예제 IAM 정책**  
다음 예제 정책은 EC2 인스턴스, 시작 템플릿, Systems Manager 파라미터, Image Builder 이미지 레시피 및 Image Builder 컨테이너 레시피를 설명할 수 있는 권한을 포함하는 DescribeImageReferences API 사용 권한을 부여합니다.

------
#### [ JSON ]

****  

```
{
	"Version":"2012-10-17",		 	 	 
	"Statement": [
		{
			"Effect": "Allow",
			"Action": "ec2:DescribeImageReferences",
			"Resource": "*"
		},
		{
			"Effect": "Allow",
			"Action": [
				"ec2:DescribeInstances",
				"ec2:DescribeLaunchTemplates",
				"ec2:DescribeLaunchTemplateVersions",
				"ssm:DescribeParameters",
				"ssm:GetParameters",
				"imagebuilder:ListImageRecipes",
				"imagebuilder:ListContainerRecipes",
				"imagebuilder:GetContainerRecipe"
			],
			"Resource": "*",
			"Condition": {
				"ForAnyValue:StringEquals": {
					"aws:CalledVia": [
						"ec2-images.amazonaws.com"
					]
				}
			}
		}
	]
}
```

------

**중요**  
정책을 직접 생성하는 대신 AWS 관리형 정책 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html)를 사용하는 것이 좋습니다. 필요한 권한만 제공하는 사용자 지정 IAM 정책을 생성하려면 시간과 전문 지식이 필요하며 새 리소스 유형을 사용할 수 있게 되면 업데이트가 필요합니다.  
`AmazonEC2ImageReferencesAccessPolicy` 관리형 정책:  
DescribeImageReferences API를 사용하는 데 필요한 모든 권한(EC2 인스턴스, 시작 템플릿, Systems Manager 파라미터, Image Builder 컨테이너 및 이미지 레시피를 설명할 수 있는 권한 포함)을 부여합니다.
새 리소스 유형을 사용할 수 있게 되면 자동으로 지원합니다(`IncludeAllResourceTypes` 파라미터를 사용할 때 특히 중요함).
`AmazonEC2ImageReferencesAccessPolicy` 정책을 IAM 자격 증명(사용자, 그룹, 역할)에 연결할 수 있습니다.  
이 정책에 포함된 권한을 보려면 *AWS 관리형 정책 참조*에서 [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonEC2ImageReferencesAccessPolicy.html)를 참조하세요.

## AMI 참조를 확인하는 단계
<a name="ami-reference-procedures"></a>

다음 절차에 따라 지정된 AMI를 참조하는 AWS 리소스를 식별합니다.

------
#### [ Console ]

**지정된 AMI를 참조하는 리소스를 식별하려면**

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

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

1. 참조를 확인할 AMI를 하나 이상 선택합니다.

1. **작업**, **AMI 사용**, **참조된 리소스 보기**를 선택합니다.

1. **선택한 AMI를 참조하는 리소스 보기** 페이지에서

   1. **리소스 유형**에서 하나 이상의 리소스 유형을 선택합니다.

   1. **리소스 보기**를 선택합니다.

1. **선택한 AMI를 참조하는 리소스** 섹션이 나타납니다. 목록에는 지정된 AMI를 참조하는 리소스가 표시됩니다. 각 행은 다음 정보를 제공합니다.
   + **AMI ID** - 참조된 AMI의 ID입니다.
   + **리소스 유형** - AMI를 참조하는 리소스의 리소스 유형입니다.
   + **리소스 ID** - AMI를 참조하는 리소스의 ID입니다.

------
#### [ AWS CLI ]

**특정 리소스 유형의 AMI 참조를 확인하려면**  
[describe-image-references](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-references.html) 명령을 `--resource-types` 파라미터와 함께 사용합니다. 다음 예제에서는 EC2 인스턴스(인스턴스 상태별 범위 지정), 시작 템플릿(가장 최근의 시작 템플릿 버전 20개로 범위 지정) 및 기타 특정 리소스 유형을 확인합니다.

```
aws ec2 describe-image-references \
    --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \
    --resource-types \
        'ResourceType=ec2:Instance,ResourceTypeOptions=[{OptionName=state-name,OptionValues=[running,pending]}]' \
        'ResourceType=ec2:LaunchTemplate,ResourceTypeOptions=[{OptionName=version-depth,OptionValues=[20]}]' \
        'ResourceType=ssm:Parameter' \
        'ResourceType=imagebuilder:ImageRecipe' \
        'ResourceType=imagebuilder:ContainerRecipe'
```

다음은 예제 출력입니다.

```
{
    "ImageReferences": [
        {
            "ImageId": "ami-0abcdef1234567890",
            "ResourceType": "ec2:Instance",
            "Arn": "arn:aws:ec2:us-east-1:123456789012:instance/i-1234567890abcdef0"
        },
        {
            "ImageId": "ami-1234567890abcdef0",
            "ResourceType": "ec2:LaunchTemplate",
            "Arn": "arn:aws:ec2:us-east-1:123456789012:launch-template/lt-1234567890abcdef0"
        }
    ]
}
```

**지원되는 모든 리소스 유형에 대한 AMI 참조를 확인하려면**  
[describe-image-references](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-references.html) 명령을 `--include-all-resource-types` 파라미터와 함께 사용합니다.

```
aws ec2 describe-image-references \
    --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \
    --include-all-resource-types
```

**지원되는 모든 리소스 유형 및 특정 옵션에 대한 AMI 참조를 확인하려면**  
[describe-image-references](https://docs.aws.amazon.com/cli/latest/reference/ec2/describe-image-references.html) 명령을 `--include-all-resource-types` 및 `--resource-types` 파라미터와 함께 사용합니다. 이 예제에서는 EC2 인스턴스의 응답 범위를 실행 중 또는 보류 중 인스턴스로 조정하면서 모든 리소스 유형을 확인합니다.

```
aws ec2 describe-image-references \
    --image-ids ami-0abcdef1234567890 ami-1234567890abcdef0 \
    --include-all-resource-types \
    --resource-types 'ResourceType=ec2:Instance,ResourceTypeOptions=[{OptionName=state-name,OptionValues=[running,pending]}]'
```

------
#### [ PowerShell ]

**특정 리소스 유형의 AMI 참조를 확인하려면**  
[Get-EC2ImageReference](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageReference.html) cmdlet을 `-ResourceType` 파라미터와 함께 사용합니다. 다음 예제에서는 EC2 인스턴스(인스턴스 상태별 범위 지정), 시작 템플릿(가장 최근의 시작 템플릿 버전 20개로 범위 지정) 및 기타 특정 리소스 유형을 확인합니다.

```
Get-EC2ImageReference `
    -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' `
    -ResourceType @(
        @{
            ResourceType = 'ec2:Instance'
            ResourceTypeOptions = @(
                @{
                    OptionName = 'state-name'
                    OptionValues = @('running', 'pending')
                }
            )
        },
        @{
            ResourceType = 'ec2:LaunchTemplate'
            ResourceTypeOptions = @(
                @{
                    OptionName = 'version-depth'
                    OptionValues = @('20')
                }
            )
        },
        @{
            ResourceType = 'ssm:Parameter'
        },
        @{
            ResourceType = 'imagebuilder:ImageRecipe'
        },
        @{
            ResourceType = 'imagebuilder:ContainerRecipe'
        }
    )
```

**지원되는 모든 리소스 유형에 대한 AMI 참조를 확인하려면**  
[Get-EC2ImageReference](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageReference.html) cmdlet을 `-IncludeAllResourceTypes` 파라미터와 함께 사용합니다.

```
Get-EC2ImageReference `
    -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' `
    -IncludeAllResourceTypes
```

**지원되는 모든 리소스 유형 및 특정 옵션에 대한 AMI 참조를 확인하려면**  
[Get-EC2ImageReference](https://docs.aws.amazon.com/powershell/latest/reference/items/Get-EC2ImageReference.html) cmdlet을 `-IncludeAllResourceTypes` 및 `-ResourceType` 파라미터와 함께 사용합니다. 이 예제에서는 EC2 인스턴스의 응답 범위를 실행 중 또는 보류 중 인스턴스로 조정하면서 모든 리소스 유형을 확인합니다.

```
Get-EC2ImageReference `
    -ImageId 'ami-0abcdef1234567890', 'ami-1234567890abcdef0' `
    -IncludeAllResourceTypes `
    -ResourceType @(
        @{
            ResourceType = 'ec2:Instance'
            ResourceTypeOptions = @(
                @{
                    OptionName = 'state-name'
                    OptionValues = @('running', 'pending')
                }
            )
        }
    )
```

------