AWS EBS mount進EC2

step.1 上aws console開ebs

目前有下面三種可以選:
General Purpose (SSD), Provisioned IOPS (SSD) or Magnetic。可以選第一個玩玩看,記得avalibility zone要選EC2的那區。

step2.將EBS attach 到EC2上

這直接在aws console操作即可。

step3.登入EC2,做一些事:

先輸入:

這是看你EC2上的volum的mount狀況,可能會顯示如下:

這代表剛剛attach 近來的ebs xvdf還沒有mount進來。

輸入:

輸入:

基本上,上述指令完成後,應該大功告成,不過如果想要每次開機,都能讓EBS自動mount到EC2,還需要做一些事:

 

參考文章:
ebs-creating-volume
Attaching an Amazon EBS Volume to an Instance
Making an Amazon EBS Volume Available for Use

AWS EC2空間越來越小的問題

使用EC2時,會發現disk space會逐漸越來越小,即便你將所有log都刪除,你會發現用du指令去查每個目錄空間使用狀況,可用空間仍然越來越小:

例如:

這時有兩個解法:

一.重新開機

因為就像swap一樣,你的某些空間無法被釋放,像是暫存檔一樣,重新開機可以解決這個問題。

二.將EBS增大

步驟大概是這樣:
1)將EBS卸載
2)卸載後將EBS快照(snapshot)
3)用snapshot開新的EBS,然後將空間加大
4)將EBS加回原本的EC2

 

參考文章:
1. https://www.orztw.com/2014/06/linux-command-du.html#prettyPhoto
2. http://askubuntu.com/questions/118094/not-enough-disk-space-in-aws-instance

Amazon ec2:將ec2 t1.micro 換成t2.micro

Amazon之前發布了t2.micro,關於t2.micro的說明可以參考這裡

記得之前東京t1.micro是0.022/小時,現在t2.micro是0.02/小時,而且performance比t1.micro好。

換機器過程沒有太大的問題,只是Availibility zone要選1c….,第一次開機器沒選好,開成1a,結果機器要重開不給重開,網路上也有人遇到類似問題,參考此文,其它大致上沒多大問題….

Amazon EC2 T1.micro:自己建制swap

Ec2 T1.micro是amazon 最小規格的機器,記憶體只有6xxM而已,而且預設不會幫你開swap,需要自己建制。

今天愈到了cannot allocate memory for the buffer pool的問題,所以就需要自己弄swap虛擬記憶體空間,步驟如下:

之後可以下一些command line看看狀態

如果不開swap ,在t1.micro規格下遇到流量大點,mysql很容易就crash了,但是如果打開swap,估計在t1.micro的機器下,至少可以撐同時在線人數100~200左右的流量。

以上僅供參考。

參考文章:
1.http://linux.vbird.org/linux_basic/0230filesystem.php#swap
2.在Linux系統中動態增加swap檔案空間的方法
3.linux mkswap命令参数及用法详解—linux设置swap交换分区命令
4.Amazon EC2 Micro Instance Swap Space – Linux
5.MySQL 效能優化之參數配置修改(innodb_buffer_pool_size)

AWS EC2的.pem檔丟失,又無法ssh登入時

今天發生了一個悲劇,我在ec2的機器不小心改動到一些東西,結果ssh無法登入ec2,然後之前的.pem檔又弄丟了。

google了好久都找不到解法,只好直接在該機器上燒AMI,然後用這個AMI燒一台ec2 機器(順便加大了一點硬碟空間)
再把原本的EIP指到新開的這台機器,一下子就把問題搞定了。原本那台ec2就直接停掉了……
只能說AWS的AMI真的是太方便了。