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

AWS SES寄信,使用smtp+phpmailer

以下是使用AWS SES的步驟:

1.進入AWS CONSOLE,我個人選US East (N. Virginia),EC2則選東京。

2.進入SES後,點選Domain,然後會要你到Route53填一串TXT,填好即可。

3.點選Email Addresses,然後將你在Workmail使用的email填寫進來。Workmail怎麼用可以參考這篇文章

4.之後點選smtp setting,之後download credentials,會有smtp user 跟smtp secret。

5.一開始使用SES,都是在sandbox運作,也就是要經過認證的信箱才能被寄送,這可以到Support center去寫個信即可跳離sandbox模式。

6.用composer安裝好phpmailer

7.寫code。

以上應該已經可以成功寄信囉。然後記得EC2的機器Security group outbound 要打開,否則會連不上amazon的smtp。

Failed to connect to 2a03:2880:11:1f04:face:b00c:0:1: Network is unreachable

今天突然遇到了以下問題,這是在使用facebook “php-sdk-v5:~5.*”時遇到的問題。

主要的原因是facebook php sdk會使用curl,google了很久以為是ipv6無法解析的原因,但把ipv6關掉也無法解決。

最後才發現是aws security group的問題,outbound要把port443打開,curl會用到。

做點筆記。

aws:使用workmail

以下是使用AWS服務的workmail步驟,如果你自己註冊網域,但又不想自己搞SMTP,可以直接用AWS的email服務,它的價格是每個月四美金,使用一個email帳戶。

步驟如下:

1.登入Console,然後進到WORKMAIL

2.add organization,之後會要你填alias,那就是你之後登入會用到的網址。

例如https://alias.awsapps.com/mail

3.設好之後,可以點進去,之後會進到以下畫面,然後點user,新增一個使用者。

螢幕快照 2015-12-21 下午10.28.57

4.新增完使用者之後,點選domails,填入你註冊的網址。

5.設定route53

填完你的domail後,它會要你設定一條MX record、一條TXT record,四條CNAME紀錄。

設定完Route53,再到第二個步驟的網址,你應該已經可以登入用Workmail了。

 

參考文章:
https://docs.aws.amazon.com/workmail/latest/userguide/using_web_application.html

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真的是太方便了。

AWS的AMI

ami
AWS的AMI可以替你搞一模一樣的機器,如果你服務做大了,一台機器負荷不了,可以在該EC2上燒AMI,燒完之後在開機器,非常方便。而你需要做的只是在該instance上點右鍵按create Image。

用AWS的Route53當作DNS

當妳開好一台EC2主機後,你需要設定Route53當作DNS。
點選上方下拉bar的Route53
console

進去之後上方會有Create Hosted Zone,點進去新增你註冊的域名。
新增完之後它會自動幫妳增加NS跟SOA兩種型別的Record set。

接著到你註冊網域名稱的網站上(例如網域中文)設定一些東西。
這裡以網域中文為例,用你註冊的域名登入後選DNS設定,並且選自管。

繼續閱讀 “用AWS的Route53當作DNS”