์ด์ ๋๋์ด EC2์ ์ฐ๋ฆฌ๊ฐ ๋ง๋ IAM ์ ์ฑ ์ ์ ์ฉ์ํฌ ๋จ๊ณ์ด๋ค.
์์
์์๋ ๋ค์๊ณผ ๊ฐ๋ค.
- EC2 ์ญํ ์ถ๊ฐ.
- EC2 ์ธ์คํด์ค ์ ์
- Travis์ IAM ๋ก๊ทธ์ธ
- AWS CodeDeploy Agent ์คํ
์ฐ์ EC2 ํญ์ผ๋ก ๊ฐ์
EC2 ์ญํ ์ถ๊ฐ
EC2์ ์ฐ๋ฆฌ๊ฐ ๊ธฐ์กด์ ๋ง๋ค์๋ IAM์ ์ถ๊ฐํด์ค์ผ ํ๋ค.
์ญํ ์์ ํด๋ฆญํ๊ณ ์ฐ๋ฆฌ๊ฐ ๋ง๋ EC2 ์ ์ฉ IAM์ ์ถ๊ฐ์ํค์
๋ฏธ๋ฆฌ ๋ง๋ค์ด๋์ ์ญํ ์ถ๊ฐ ํ ์ ์ฅํ๋ค.
C2 ์ธ์คํด์ค ์ ์
๊ทธ๋ฆฌ๊ณ ssh ๋ช ๋ น์ด๋ฅผ ํตํด ํฐ๋ฏธ๋์์ EC2 ์ธ์คํด์ค์ ์ ๊ทผํด๋ณด์.
Travis์ IAM ๋ก๊ทธ์ธ
Travis๊ฐ ์ ๊ทผํ CodeDeploy์ S3 ์ ์ฑ ์ ๊ฐ๊ณ ์๋ IAM ๊ณ์ ์ ํตํด ๋ก๊ทธ์ธ์ ์ํํด์ผ๋๋๋ฐ, ์ฐ์ AWSCLI๋ฅผ ์ถ๊ฐ์์ผ๋ณด์.
Ubuntu
sudo apt-get install awscli
sudo aws configure
Cent OS
sudo aws configure
์ ์ํํด๊ณ , ๊ทธ๋ฆฌ๊ณ ์๊น IAM ์ค์ ํ๊ณ ๋ฐ์๋ .csv ํ์ผ์ Access Key Id๋ Secret Access Key ๋ฅผ ์ ์ด์ค๋ค.
.csv ํ์ผ์ ๋๋ excel๋ก ์คํ์์ผฐ๋๋ฐ, ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก ์คํํด๋ ๋ฌด๋ฐฉํ๋ค.
ํ์ธํ ์๋ง ์๋ค๋ฉด ๋ค OK
์๊น ๋ช ๋ น์ด๋ฅผ ์คํ์ํค๋ฉด ๋ค์๊ณผ ๊ฐ์ 4๊ฐ์ ํ๋๊ฐ ๋์จ๋ค.
๊ฐ๊ฐ .csv ํ์ผ์์ ๋์์์ผ ์ ์ด์ฃผ๊ณ
AWS Access Key ID [None]: [????]
AWS Secret Access Key [None]: [????]
Default region name [None]: ap-northeast-2
Default output format [None]: json
[ec2-user@ip-172-31-34-77 ~]$
- region name
- output format
์๋ ๊ฐ๊ฐ
- region name: ap-northeast-2
- output format: json
์ด๋ผ๊ณ ์ ์ผ๋ฉด ๋๋ค.
AWS CodeDeploy Agent ์คํ
์ค์ ๋ง์ณค์ผ๋ฉด codedeploy agent ๋ค์ด๋ฐ์์ผํ๋ค.
codedeploy agent๋ฅผ ๋ค์ด๋ก๋ ๋ฐ๊ธฐ ์ํด ๋ค์๊ณผ ๊ฐ์ ๋ช
๋ น์ด๋ฅผ ์ถ๊ฐํด๋ณด์.
Ubuntu
aws s3 cp s3://aws-codedeploy-ap-northeast-2/latest/install . --region ap-northeast-2
CentOS
wget https://aws-codedeploy-ap-northeast-2.s3.amazonaws.com/latest/install
๋ช ๋ น์ด ์ณ์ codedeploy agent install์ ๋ค์ด ๋ฐ๋๋ฐ,
์์ ๊ณผ์ ์ ๊ฑฐ์น๋ฉด ํด๋น ๋๋ ํ ๋ฆฌ ๋ณด๋ฉด install ํ์ผ์ด ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์๋ค.
ํ์ผ ์คํ ๊ถํ์ ์ถ๊ฐํ๊ธฐ ์ํด์ chmod
๋ช
๋ น์ด๋ก ํ์ผ ์คํ ๊ถํ์ ์ถ๊ฐํ๋ค.
chmod +x ./install
์ด์ ๋ค์์ผ๋ก install ํ์ผ์ ์คํ์ํค์.
install ํ์ผ ์คํ์์ผ์ผ๋๋๋ฐ ruby ๋ฐํ์์ด ์์ด์ผํ๋ค.
๊ทธ๋์ ๋ฃจ๋น ๋ค์ด ๋จผ์ ๋ฐ๊ณ ์ถ๊ฐํ์.
Ubuntu
sudo apt-get install ruby
sudo ./install auto
CentOS
sudo yum install ruby
sudo ./install auto
ํด์ฃผ๋ฉด agent ๋ค์ด์ด ์๋ฃ๋์๋ค.
๊ทธ๋ฆฌ๊ณ ํด๋น daemon ์คํ์์ผ์ฃผ์.
Ubuntu
sudo service codedeploy-agent start
sudo service codedeploy-agent status
๋ก ์คํํ๊ณ ํ์ธ
CentOS
sudo systemctl start codedeploy-agent
sudo systemctl status codedeploy-agent
๋๊ธ