AWS ๋ช…๋ น์ค„ ์ธํ„ฐํŽ˜์ด์Šค(CLI)๋Š” AWS ์„œ๋น„์Šค๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ†ตํ•ฉ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๋„๊ตฌ ํ•˜๋‚˜๋งŒ ๋‹ค์šด๋กœ๋“œํ•˜์—ฌ ๊ตฌ์„ฑํ•˜๋ฉด ์—ฌ๋Ÿฌ AWS ์„œ๋น„์Šค๋ฅผ ๋ช…๋ น์ค„์—์„œ ์ œ์–ดํ•˜๊ณ  ์Šคํฌ๋ฆฝํŠธ๋ฅผ ํ†ตํ•ด ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AWS CLI๋Š” Amazon S3์—์„œ ํšจ์œจ์ ์œผ๋กœ ํŒŒ์ผ์„ ๋ณด๋‚ด๊ณ  ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ„๋‹จํ•œ ์ƒˆ ํŒŒ์ผ ๋ช…๋ น ์„ธํŠธ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

Windows
64๋น„ํŠธ ๋˜๋Š” 32๋น„ํŠธ Windows ์„ค์น˜ ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์šด๋กœ๋“œํ•ด์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

Mac ๋ฐ Linux
Python 2.6.5 ์ด์ƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
pip๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

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 ๋ฆฌํฌ์ง€ํ† ๋ฆฌ »