用了AWS一段时间了,碰到了两个最坑人的事情,记录一下,也可以提醒他人不要随便轻易入坑。
创建EC2实例时,默认的公有IP是自动分配的
在创建EC2实例时,公有IP默认是自动分配的。当然,这方便了新用户的使用,但也同时带来了一个问题。当你要做配置升级,把这台机器停止,然后再启动,会出现什么情况呢?这台机器自动分配的外网IP变成了另外一个。这对一般测试用户问题不大,但对正常使用EC2的新用户来说,可能就有问题了。如果你把自己example.com的ip指向了你的EC2公有IP,那你就得及时去更新你的DNS指向了。而即使你用的是CNAME到EC2的主机名,也会有问题,因为一级域没办法做CNAME,做了的话,下面就不能再有子域名了。我就是因为把EC2实例停止后,做了一下配置升级,发现原来的公网IP变掉了。又因为DNS上的默认TTL时间是2小时,使本来10钟就可以完成的配置升级操作变成了2个小时。
AWS EC2生成时,默认设置成自动分配外网IP:
解决方案:
上面图上也显示了,在生成新的EC2实例时,把自动分配公有IP设置成禁用,然后申请一个EIP和你新的EC2实例做绑定。这样,就不会有上面所说的问题出现了。
EC2有些”实例存储”SSD可不是长期保存数据的地方,别为了性能丢了数据
有些大的EC2类型实例提供了SSD盘,如下图:
这些SSD“实例存储”可不是给你用来长期存储数据用的,虽然他的性能很高,但当你停止你的实例时(比如做配置升级,要停止你的实例),那上面的数据会全部丢失。为此,AWS在他的文档做了说明:
所以,大家最好是把实例存储当成缓存来用,或是所信不用。不知到AWS脑抽,为什么在大多数高配置实例中,都加了“实例存储”。这简直就是谋财害命啊!!!
当然,做为一个资深的SA, 我还是认真的读了AWS上的相关文档(中文的,很全了),没有犯这个错误。所以,重要的事情说三遍:AWS在使用前,文档 一定要看!一定要看!一定要看。