AWS ๋ช ๋ น์ค ์ธํฐํ์ด์ค(CLI)๋ AWS ์๋น์ค๋ฅผ ๊ด๋ฆฌํ๋ ํตํฉ ๋๊ตฌ์ ๋๋ค. ๋๊ตฌ ํ๋๋ง ๋ค์ด๋ก๋ํ์ฌ ๊ตฌ์ฑํ๋ฉด ์ฌ๋ฌ AWS ์๋น์ค๋ฅผ ๋ช ๋ น์ค์์ ์ ์ดํ๊ณ ์คํฌ๋ฆฝํธ๋ฅผ ํตํด ์๋ํํ ์ ์์ต๋๋ค.
AWS CLI๋ Amazon S3์์ ํจ์จ์ ์ผ๋ก ํ์ผ์ ๋ณด๋ด๊ณ ๋ฐ์ ์ ์๋ ๊ฐ๋จํ ์ ํ์ผ ๋ช ๋ น ์ธํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
pip install awscli
Amazon Linux
AWS CLI๋ Amazon Linux AMI์ ๋ฏธ๋ฆฌ ์ค์น๋์ด ์ ๊ณต๋ฉ๋๋ค.
์ถ์ ์ ๋ณด
์ต์ ๋ฒ์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ถ์ ์ ๋ณด๋ฅผ ํ์ธํ์ญ์์ค.
aws-shell์ ๋ช ๋ น์ค ์ ธ ํ๋ก๊ทธ๋จ์ผ๋ก์, AWS ๋ช ๋ น์ค ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ์๋ก์ด ์ฌ์ฉ์์ ๊ณ ๊ธ ์ฌ์ฉ์ ๋ชจ๋์๊ฒ ๋์์ด ๋๋ ํธ์ ๊ธฐ๋ฅ ๋ฐ ์์ฐ์ฑ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์ฃผ์ ๊ธฐ๋ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ค์ ํญ๋ชฉ์ ๋ํ ํผ์ง ์๋ ์๋ฃ
- ๋ช ๋ น(์: ec2, describe-instances, sqs, create-queue)
- ์ต์ (์: --instance-ids, --queue-url)
- ๋ฆฌ์์ค ์๋ณ์(์: Amazon EC2 ์ธ์คํด์ค ID, Amazon SQS ๋๊ธฐ์ด URL, Amazon SNS ์ฃผ์ ์ด๋ฆ)
- ๋์ ์ธ๋ผ์ธ ์ค๋ช
- ์ ๋ ฅ์ ํ๋ฉด ๋ช ๋ น ๋ฐ ์ต์ ์ ๋ํ ์ค๋ช ์ด ํ์๋ฉ๋๋ค.
- OS ์
ธ ๋ช
๋ น ์คํ
- ์ ธ์ ๋ฒ์ด๋์ง ์๊ณ cat, ls, cp ๊ฐ์ ์ผ๋ฐ์ ์ธ OS ๋ช ๋ น์ ์ฌ์ฉํ๊ณ ์ ๋ ฅ๊ณผ ์ถ๋ ฅ์ ์ฐ๊ฒฐ
- ์คํ๋ ๋ช ๋ น์ ํ ์คํธ ํธ์ง๊ธฐ๋ก ๋ด๋ณด๋ด๊ธฐ
์์ธํ ๋ด์ฉ์ AWS ๋ช ๋ น์ค ์ธํฐํ์ด์ค ๋ธ๋ก๊ทธ์์ ๊ด๋ จ ๋ธ๋ก๊ทธ ๊ฒ์๋ฌผ์ ์ฐธ์กฐํ์ญ์์ค.
AWS Command Line Interface User Guide๋ ๋๊ตฌ ์ค์น ๋ฐ ๊ตฌ์ฑ ๋ฐฉ๋ฒ์ ๋ํ ๋จ๊ณ๋ณ ์ค๋ช
์ ์ ๊ณตํฉ๋๋ค. ์ด ๋จ๊ณ๋ฅผ ๊ฑฐ์น๊ณ ๋๋ฉด ๋ช
๋ น์ค์์ AWS ์๋น์ค๋ก ํธ์ถํ ์ ์๊ฒ ๋ฉ๋๋ค.
$ aws ec2 describe-instances
$ aws ec2 start-instances --instance-ids i-1348636c
$ aws sns publish --topic-arn arn:aws:sns:us-east-1:546419318123:OperationsError --message "Script Failure"
$ aws sqs receive-message --queue-url https://queue.amazonaws.com/546419318123/Test
๋ช
๋ น์ค์์ ์ง์๋๋ ์๋น์ค
$ aws help
์๋น์ค๋ฅผ ์ํ ์์
$ aws autoscaling help
๋ฐ ์๋น์ค ์์
์ ์ํ ํ๋ผ๋ฏธํฐ ๋ฑ์ ํ์ธํ ์ ์๋ ์ง์์ ๋ฐ์ ์ ์์ต๋๋ค.
$ aws autoscaling create-auto-scaling-group help
์๋ก์ด ํ์ผ ๋ช
๋ น์ผ๋ก Amazon S3 ๊ฐ์ฒด๋ฅผ ์์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ต์ํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ ๋๋ ํฐ๋ฆฌ ๊ธฐ๋ฐ ๋ชฉ๋ก์์ S3 ๋ฒํท์ ๋ด์ฉ์ ๋ณผ ์ ์์ต๋๋ค.
$ aws s3 ls s3://mybucket
LastWriteTime Length Name
------------ ------ ----
PRE myfolder/
2013-09-03 10:00:00 1234 myfile.txt
๋จ์ผ ํด๋ ์์ค ๋ช
๋ น์ผ๋ก ์ฌ๋ฌ ํ์ผ์ ๋ฐ๋ณตํด์ ์
๋ก๋ ๋ฐ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค. AWS CLI๋ ์ด๋ฌํ ์ ์ก์ ๋ณ๋ ฌ๋ก ์คํํ์ฌ ์ฑ๋ฅ์ ํฅ์ํฉ๋๋ค.
$ aws s3 cp myfolder s3://mybucket/myfolder --recursive
upload: myfolder/file1.txt to s3://mybucket/myfolder/file1.txt
upload: myfolder/subfolder/file1.txt to s3://mybucket/myfolder/subfolder/file1.txt
๋๊ธฐํ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ํด๋์ ๋ด์ฉ๊ณผ S3 ๋ฒํท์ ๋ณต์ฌ๋ณธ์ ์์ฝ๊ฒ ๋๊ธฐํํ ์ ์์ต๋๋ค.
$ aws s3 sync myfolder s3://mybucket/myfolder --exclude *.tmp
upload: myfolder/newfile.txt to s3://mybucket/myfolder/newfile.txt
์ง์๋๋ ์๋น์ค์ ์ ์ฒด ๋ชฉ๋ก์ AWS CLI ๋ช ๋ น ์ฐธ์กฐ๋ฅผ ํ์ธํ์ญ์์ค.
๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ฐ๊ฒฐํ๊ธฐ AWS CLI ์ปค๋ฎค๋ํฐ ํฌ๋ผ »
์์ ๋ฐ ๊ธฐํ ์ ๋ณด ์ฐพ๊ธฐ ์ฌ์ฉ ์ค๋ช ์ »
์ต์ CLI ๋๊ตฌ์ ์ธ๋ถ ์ ๋ณด ์์๋ณด๊ธฐ ๋ฆด๋ฆฌ์ค ์ ๋ณด »
์์ค ์ฝ๋ ๋ถ์ GitHub ๋ฆฌํฌ์งํ ๋ฆฌ »

