AWS SDK 또는 DescribeSnapshots CLI와 함께 사용 - Amazon Elastic Compute Cloud

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

AWS SDK 또는 DescribeSnapshots CLI와 함께 사용

다음 코드 예제는 DescribeSnapshots의 사용 방법을 보여줍니다.

CLI
AWS CLI

예제 1: 스냅샷을 설명하는 방법

다음 describe-snapshots 예제에서는 지정된 스냅샷을 설명합니다.

aws ec2 describe-snapshots \ --snapshot-ids snap-1234567890abcdef0

출력:

{ "Snapshots": [ { "Description": "This is my snapshot", "Encrypted": false, "VolumeId": "vol-049df61146c4d7901", "State": "completed", "VolumeSize": 8, "StartTime": "2019-02-28T21:28:32.000Z", "Progress": "100%", "OwnerId": "012345678910", "SnapshotId": "snap-01234567890abcdef", "Tags": [ { "Key": "Stack", "Value": "test" } ] } ] }

자세한 내용은 Amazon EC2 사용 설명서에서 Amazon EBS 스냅샷을 참조하세요.

예제 2: 필터를 기반으로 스냅샷을 설명하는 방법

다음 describe-snapshots 예제에서는 필터를 사용하여 해당 pending 주에 있는 AWS 계정이 소유한 스냅샷으로 결과 범위를 지정합니다. 이 예제에서는 --query 파라미터를 사용하여 스냅샷 ID 및 스냅샷이 시작된 시간만 표시합니다.

aws ec2 describe-snapshots \ --owner-ids self \ --filters Name=status,Values=pending \ --query "Snapshots[*].{ID:SnapshotId,Time:StartTime}"

출력:

[ { "ID": "snap-1234567890abcdef0", "Time": "2019-08-04T12:48:18.000Z" }, { "ID": "snap-066877671789bd71b", "Time": "2019-08-04T02:45:16.000Z }, ... ]

다음 describe-snapshots 예제에서는 필터를 사용하여 결과 범위를 지정된 리전에서 생성된 스냅샷으로 지정합니다. 이 예제에서는 --query 파라미터를 사용하여 스냅샷 ID만 표시합니다.

aws ec2 describe-snapshots \ --filters Name=volume-id,Values=049df61146c4d7901 \ --query "Snapshots[*].[SnapshotId]" \ --output text

출력:

snap-1234567890abcdef0 snap-08637175a712c3fb9 ...

필터를 사용하는 추가 예제는 Amazon EC2 사용 설명서에서 리소스 나열 및 필터링을 참조하세요.

예제 3: 태그를 기반으로 스냅샷을 설명하는 방법

다음 describe-snapshots 예제에서는 태그 필터를 사용하여 결과 범위를 Stack=Prod 태그가 있는 스냅샷으로 지정합니다.

aws ec2 describe-snapshots \ --filters Name=tag:Stack,Values=prod

describe-snapshots 출력 예제는 예제 1을 참조하세요.

태그 필터를 사용하는 추가 예제는 Amazon EC2 사용 설명서에서 태그 작업을 참조하세요.

예제 4: 수명에 기반하여 스냅샷을 설명하는 방법

다음 describe-snapshots 예제에서는 JMEsPath 식을 사용하여 지정된 날짜 이전에 AWS 계정에서 만든 모든 스냅샷을 설명합니다. 스냅샷 ID만 표시합니다.

aws ec2 describe-snapshots \ --owner-ids 012345678910 \ --query "Snapshots[?(StartTime<='2020-03-31')].[SnapshotId]"

필터를 사용하는 추가 예제는 Amazon EC2 사용 설명서에서 리소스 나열 및 필터링을 참조하세요.

예제 5: 아카이브된 스냅샷만 보는 방법

다음 describe-snapshots 예제에서는 아카이브 티어에 저장된 스냅샷만 나열합니다.

aws ec2 describe-snapshots \ --filters "Name=storage-tier,Values=archive"

출력:

{ "Snapshots": [ { "Description": "Snap A", "Encrypted": false, "VolumeId": "vol-01234567890aaaaaa", "State": "completed", "VolumeSize": 8, "StartTime": "2021-09-07T21:00:00.000Z", "Progress": "100%", "OwnerId": "123456789012", "SnapshotId": "snap-01234567890aaaaaa", "StorageTier": "archive", "Tags": [] }, ] }

자세한 내용을 알아보려면 Amazon Elastic Compute Cloud 사용 설명서에서 인스턴스 유형을 참조하세요.

PowerShell
에 대한 도구 PowerShell

예 1: 이 예제에서는 지정된 스냅샷을 설명합니다.

Get-EC2Snapshot -SnapshotId snap-12345678

출력:

DataEncryptionKeyId : Description : Created by CreateImage(i-1a2b3c4d) for ami-12345678 from vol-12345678 Encrypted : False KmsKeyId : OwnerAlias : OwnerId : 123456789012 Progress : 100% SnapshotId : snap-12345678 StartTime : 10/23/2014 6:01:28 AM State : completed StateMessage : Tags : {} VolumeId : vol-12345678 VolumeSize : 8

예 2: 이 예에서는 'Name' 태그가 있는 스냅샷을 설명합니다.

Get-EC2Snapshot | ? { $_.Tags.Count -gt 0 -and $_.Tags.Key -eq "Name" }

예 3: 이 예에서는 'Name' 태그에 값이 'TestValue'인 스냅샷을 설명합니다.

Get-EC2Snapshot | ? { $_.Tags.Count -gt 0 -and $_.Tags.Key -eq "Name" -and $_.Tags.Value -eq "TestValue" }

예 4: 이 예에서는 모든 스냅샷을 설명합니다.

Get-EC2Snapshot -Owner self
  • API 세부 정보는 AWS Tools for PowerShell Cmdlet 참조를 참조하십시오 DescribeSnapshots.

Rust
SDK for Rust
참고

자세한 내용은 다음과 같습니다. GitHub AWS 코드 예제 리포지토리에서 전체 예제를 찾고 설정 및 실행하는 방법을 배워보세요.

스냅샷의 상태를 보여 줍니다.

async fn show_state(client: &Client, id: &str) -> Result<(), Error> { let resp = client .describe_snapshots() .filters(Filter::builder().name("snapshot-id").values(id).build()) .send() .await?; println!( "State: {}", resp.snapshots().first().unwrap().state().unwrap().as_ref() ); Ok(()) }
async fn show_snapshots(client: &Client) -> Result<(), Error> { // "self" represents your account ID. // You can list the snapshots for any account by replacing // "self" with that account ID. let resp = client.describe_snapshots().owner_ids("self").send().await?; let snapshots = resp.snapshots(); let length = snapshots.len(); for snapshot in snapshots { println!( "ID: {}", snapshot.snapshot_id().unwrap_or_default() ); println!( "Description: {}", snapshot.description().unwrap_or_default() ); println!("State: {}", snapshot.state().unwrap().as_ref()); println!(); } println!(); println!("Found {} snapshot(s)", length); println!(); Ok(()) }
  • API에 대한 자세한 내용은 Rust용AWS SDK API 레퍼런스를 참조하십시오 DescribeSnapshots.

AWS SDK 개발자 가이드 및 코드 예제의 전체 목록은 을 참조하십시오. SDK를 사용하여 Amazon EC2 리소스 생성 AWS 이 주제에는 시작하기에 대한 정보와 이전 SDK 버전에 대한 세부 정보도 포함되어 있습니다.