顯示具有 keyword-aws 標籤的文章。 顯示所有文章
顯示具有 keyword-aws 標籤的文章。 顯示所有文章

2017/08/01

取得EC2 instance的instance id



由於使用的 Amazon CloudWatch Monitoring Scripts for Linux 在建置新環境後會有 cache 在 `/var/tmp/aws-mon` 下

如果 instance id 改了會造成 aws-mon 回報錯的 id 回去導致新機器沒有資料

解決辦法可以刪除 `/var/tmp/aws-mon/instance-id` 這個檔案或是透過以下指令取代為新的

```sh
$ wget -q -O - http://169.254.169.254/latest/meta-data/instance-id > /var/tmp/aws-mon
```

除此之外 http://169.254.169.254 裡面還藏了很多資訊

可以參考 [http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html](http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-metadata.html)

2018/09/25 補充
發現了 ec2metadata 這個指令可以更容易獲取一些資訊

```sh
$ ec2metadata --instance-id
```

2016/08/22

將虛擬機器映像檔 匯入AWS EC2



由於必須必須把映像檔上傳至 S3 上才能建立 EC2 的 AMI

所以我們先在S3上建立一個 bucket

```sh
aws s3api create-bucket --bucket vm-image
```

將映像檔上傳至 S3
```sh
aws s3 cp ~/ubuntu.ova s3://vm-image/
```

建立一個名為 vmimport 的 role

```sh
aws iam create-role --role-name vmimport
```

condition 要改為

"sts:Externalid":"vmimport"


開始匯入囉
```sh
aws ec2 import-image --cli-input-json "{ \"Description\": \"Ubuntu\", \"Format\": \"ova\", \"UserBucket\": { \"S3Bucket\": \"vm-image\", \"S3Key\": \"Ubuntu.ova\" } }"
```

之後就是等等等, 當然可以查進度
```sh
aws ec2 describe-import-image-tasks --import-task-ids import-ami-xxxxxxxxxx
```

完成後就會在你的EC2的AMIs看到image囉


Reference:
* http://docs.aws.amazon.com/vm-import/latest/userguide/import-vm-image.html#import-vm
* http://docs.aws.amazon.com/vm-import/latest/userguide/vmimport-image-import.html