#11 [EC2] EC2 Image! AMI를 검색해 보자 (1/2) 포스팅에서 AMI검색에 대해 이것저것 알아보았습니다. 같은 명령을 써서 찾아봐야 하는데, Amazon Linux를 검색했었으니 이번엔 Windows Server 2012 R2를 검색해 봅시다.
PS> Get-EC2Image -Filter @{ name= 'description'; values= "*Windows Server 2012 R2*" }, `
@{ name= 'owner-alias'; values= "amazon" }, @{ name= 'virtualization-type'; values= "hvm" } `
| Select-Object ImageId, Description, CreationDate, BlockDeviceMappings `
| Sort-Object CreationDate -Descending
확인하시는 대로 Description에 많은 정보들을 내포하고 있습니다. 확인해 보시면 Microsoft Windows Server 2012 R2 RTM 64-bit 버전의 OS들이네요. 그 뒤에 Locale이라고 씌여있는건 라이선스 입니다. 사용자 라이선스(Bring Your Own License)를 사용하는 버전이 아니고 AWS Local License를 사용하도록 되어있네요. 그 다음은 제품의 언어가 표시되어있고 어떤 AMI는 SQL 버전과 같이 제공이 되는군요.
이런 식으로 Description에는 실제 OS의 정보, License 정보, 설치되어있는 Application 정보까지 많은 내용들을 내포하고 있습니다. 그도 그럴 것이 Description 이외에는 위 내용들을 기입할 곳이 마땅치 않거든요. Tag도 좋은 방법이지만 제대로 활용하지 않는 것 같습니다.
이전에 검색했던 Amazon Linux도 한번 볼까요?
PS> Get-EC2Image -Filter @{ name= 'description'; values= "*Amazon Linux*" }, `
@{ name= 'owner-alias'; values= "amazon" }, @{ name= 'virtualization-type'; values= "hvm" } `
| Select-Object ImageId, Description, CreationDate, BlockDeviceMappings `
| Sort-Object CreationDate -Descending
Amazon Linux AMI이고 날짜가 나오네요? CreationDate와 Description 날짜가 다른 것으로 봐서는 버전과 같은 개념으로 사용하는 것 같습니다. X86_64 플랫폼이고요.
그 뒤가 좀 다양한데요. VPC NAT HVM EBS라는것을 보니 VPC의 NAT Instance를 가리키는 것 같네요. 전 가상화에 EBS 볼륨을 사용한다고 합니다.
가만히 보시면 Amazon Linux AMI 2015.09.01 x86_64 HVM 다음에 EBS, GP2, S3 라는 것을 보실 수 있습니다. 차이는 다음과 같습니다.
- EBS: Root Device Type이 Magnetic인 Image입니다. 옛날 EBS에는 Magnetic Type의 EBS 볼륨만 존재했으며 지금까지 동일한 이름 정책을 가지고 있는 것 같습니다.
- GP2: Root Device Type이 General Purpose(SSD)인 Image입니다. General Purpose(SSD)를 GP2라고 부릅니다.
- S3: Root Device Type이 EBS를 사용하지 않는 Image입니다. Instance 종료 시 Root Device 정보는 초기화 됩니다.
S3 형식은 EBS볼륨이 아닌 Instance-store를 사용하며 실제 AMI속성을 보시면 다음과 같습니다.
PS> Get-EC2Image -ImageId ami-31342050
Instance가 Shutdown되면 더 이상 쓸모 없는 Instance는 S3 AMI로 제작하면 EBS 사용량에 대한 금액이 발생하지 않음으로 충분히 고려해볼 수 있는 사항입니다.
OS 말고 타 벤더사가 제공하는 AMI도 한번 살펴 볼까요? 누구에게나 친숙하고 가장 만만한 Cisco를 검색해 봅시다.
PS> Get-EC2Image -Filter @{ name= 'description'; values= "*Cisco*" }, `
@{ name= 'virtualization-type'; values= "hvm" } `
| Select-Object ImageId, Description, CreationDate, BlockDeviceMappings `
| Sort-Object CreationDate -Descending
역시 기대를 져버리지 않고 나오네요. Cisco의 Virtualization Switch인 1000v입니다. Nexus series로 알고 있는 장비네요. 음… Description에 뭐라고 나와있긴 한데 해석할 수 있는 건 BYOL정도네요.
검색된 AMI 중 하나만 찍어서 세부정보를 확인해 봅시다.
PS> Get-EC2Image -ImageId ami-4b02597b
음… 역시 해석할 수 있는 정보들은 많이 없네요. AMI 속성에 ImageOwnerAlias가 aws-marketplace인 AMI는 될 수 있으면 아래 링크를 통해 확인하고 사용하시는 것이 좋습니다. 잘못 만들면 License 비용이 만만치 않을 수 있으니까요.
AWS marketplace: https://aws.amazon.com/marketplace
지금까지 AMI를 검색하여 ImageId를 얻는 방법에 대해 알아봤습니다. 주의하셔야 할 부분은 AMI는 고정이 아니라 변한다는 사실을 꼭 기억하시고, 어제의 ImageId가 오늘도 동일한 ImageId가 아닐 수 있다는 점 꼭 기억하시기 바랍니다. 최신 AMI를 추척 하시려면 나름대로의 알고리즘으로 스크립트에 반영하셔야 합니다.
참고자료 : http://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/concepts.html
'AWS > 파워쉘로 배우는 AWS' 카테고리의 다른 글
#14 [EC2] Instance의 Password Key-Pair (0) | 2015.12.24 |
---|---|
#13 [EC2] Instance Type은 뭘까요? (0) | 2015.12.23 |
#11 [EC2] EC2 Image! AMI를 검색해 보자 (1/2) (0) | 2015.12.23 |
[쉬어가기] VM 리소스 정의 (1) | 2015.12.22 |
#10 [EC2] Instance를 만들기 위한 준비물을 알아보자 (0) | 2015.12.22 |