最後更新日期:2024 年 10 月 13 日
Table of Contents
安裝 AWS CLI
在 bash 下執行
<span class="line"><span style="color: #88C0D0">curl</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">"</span><span style="color: #A3BE8C">https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip</span><span style="color: #ECEFF4">"</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">-o</span><span style="color: #D8DEE9FF"> </span><span style="color: #ECEFF4">"</span><span style="color: #A3BE8C">awscliv2.zip</span><span style="color: #ECEFF4">"</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">unzip</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">awscliv2.zip</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">sudo</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">./aws/install</span></span>測試是否能正常執行
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">--version</span></span>設定權限資料
在設定前,要在 AWS 管理頁面上建好 IAM 帳號,並指定給他適當的 S3 存取權限。
產生存取的秘鑰,並準備好以下資料,長得大概像這樣子,這些值是參考用的,請依自己的設定為主
<span class="line"><span style="color: #D8DEE9">AWS_ACCESS_KEY_ID</span><span style="color: #81A1C1">=</span><span style="color: #A3BE8C">AKIXXXXXYYYYYZZZZZIK</span></span>
<span class="line"><span style="color: #D8DEE9">AWS_SECRET_ACCESS_KEY</span><span style="color: #81A1C1">=</span><span style="color: #A3BE8C">xp2M8wBct8EXjhsMIuVZ785ygj9fqGRBfrW5gk9C</span></span>
<span class="line"><span style="color: #D8DEE9">AWS_DEFAULT_REGION</span><span style="color: #81A1C1">=</span><span style="color: #A3BE8C">ap-northeast-1</span></span>
<span class="line"><span style="color: #D8DEE9">AWS_BUCKET</span><span style="color: #81A1C1">=</span><span style="color: #ECEFF4">"</span><span style="color: #A3BE8C">my-first-test-bucket</span><span style="color: #ECEFF4">"</span></span>然後執行設定程式
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">configure</span></span>執行後,回管相對應的問題,他會在 ~/.aws 下,幫我們建立好相關的設定檔
建立儲存貯體 (Bucket)
建立一個名為 my-first-test-bucket 的貯體
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">mb</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">my-first-test-bucket</span></span>複製 /上傳檔案 (cp)
可用來將「檔案」複製到遠端 s3,也可以在 s3 間複製檔案
假設我們在家目錄下有個 logo.png 檔案想要上傳到 s3
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">cp</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">logo.png</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">cp</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/logo.png</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/new-logo.png</span></span>同步檔案 (sync)
可用來將「檔案」或「目錄」跟遠端 s3 同步。
同步的意思是,如果有檔案有變更,就會上傳;反之,則略過不上傳。
上傳同步
假設我們在家目錄下有個 images 目錄想要上傳到 s3,並保留 images 目錄。
記得要在目標端的 s3 bucket 指定 images 目錄,否則會把 images 下的所有檔案複製到 s3 的根目錄。
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">sync</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">images</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/images</span></span>下載同步
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">sync</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/images</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">images</span></span>設定 ACL
如果你有到 AWS 管理網頁設定 Bucket 的 ACL, 你可以在同步時用 --acl 指定 ACL 權限
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">sync</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">--acl</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">public-read</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">images</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/images</span></span>查看檔案/目錄
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">ls</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket</span></span>移動 / 重新命名檔案
僅可處理檔案,無法處理目錄
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">mv</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/logo.png</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/old-logo.png</span></span>刪除檔案或目錄
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">rm</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/old-logo.png</span></span>
<span class="line"></span>
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">rm</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-first-test-bucket/images</span></span>刪除儲存貯體 (Bucket)
Bucket 必須要是空的,才可以刪除
<span class="line"><span style="color: #88C0D0">aws</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">rb</span><span style="color: #D8DEE9FF"> </span><span style="color: #A3BE8C">s3://my-frist-test-bucket</span></span>
Comments