LoginSignup
0
0

More than 1 year has passed since last update.

AWS CLIの振り返り ~S3入門編~

Last updated at Posted at 2021-06-19

本記事の目的

JAWS-UG CLI オンラインハンズオンの復習として、ハンズオンで取り上げられたAWSサービスに関する用語と、使用したAWS CLI コマンドを箇条書きでまとめる。
今回はS3入門編を取り上げる。

主なAWSサービス用語

バケット

オブジェクトを格納するストレージの論理区間。

オブジェクト

バケットに格納されるデータ。

(オブジェクト)キー

オブジェクトの固有の識別子。

署名付きURL

一時的にバケットにアクセスするためのURL。

ACL

バケットやオブジェクトへのアクセス管理をXMLで定義する方法。その内、事前に定義済みの一連のACLは既定ACLと呼ばれ、private,public-read,public-read-write等が含まれる。

静的Webサイトホスティング

S3を利用して、静的コンテンツ(表示される内容が変わらないHTMLページ)をWebサイトとして公開する機能。

主なAWS CLI コマンド一覧

バケットの作成

aws s3 mb \
    s3://${S3_BUCKET_NAME}

バケットの一覧表示

aws s3 ls  \  
    s3://${S3_BUCKET_NAME} \
    --recursive
オプション 引数 必須/任意 備考
N/A s3://<バケット名> 任意 特定のバケットの情報を取得可能。
--recursive N/A 任意 指定したディレクトリ以下にある全てのオブジェクトを一覧表示する。

バケットの削除

aws s3 rb \
  s3://${S3_BUCKET_NAME} \
  --force
オプション 引数 必須/任意 備考
N/A s3://<バケット名> 必須 特定のバケットの情報を取得可能。
--force N/A 任意 バケット自体を含むバケット内の全てのオブジェクトを削除する。

オブジェクトのアップロード/コピー/ダウンロード

aws s3 cp \
   s3://${S3_BUCKET_SOURCE}/${S3_OBJECT_SOURCE} \
   s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY}
オプション 引数 必須/任意 備考
N/A s3://<コピー元バケット名>/<コピー元オブジェクトキー> 必須
N/A s3://<コピー先バケット名>/<コピー先オブジェクトキー> 必須

オブジェクトの削除

aws s3 rm  \
    s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY}
オプション 引数 必須/任意 備考
N/A s3://<バケット名>/<オブジェクトキー> 必須

オブジェクトの移動

aws s3 mv \
    s3://${S3_BUCKET_SOURCE}/${S3_OBJECT_SOURCE}  \
   s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY}
オプション 引数 必須/任意 備考
N/A s3://<移動元バケット名>/<移動元オブジェクトキー> 必須
N/A s3://<移動先バケット名>/<移動先オブジェクトキー> 必須

オブジェクトの同期

aws s3 sync \
   ${DIR_S3_SYNC}
   s3://${S3_BUCKET_NAME}/ \
   --exclude ${S3_SYNC_EXCLUDE} \
    --acl ${S3_SYNC_ACL}
オプション 引数 必須/任意 備考
N/A 同期ファイル用ディレクトリ 必須
N/A s3://<同期先バケット名> 必須
--exclude 除外するオブジェクト 任意 同期対象から除外するディレクトリまたはファイルを指定可能。
--acl 既定ACL 任意 既定ACLの例:public-read(全てのユーザに対して読み取りのみ許可)

署名付きURLの作成

aws s3 presign \
    s3://${S3_BUCKET_NAME}/${S3_OBJECT_KEY} \
    --expires-in ${S3_PRESIGN_SECONDS}
オプション 引数 必須/任意 備考
N/A s3://<バケット名>/<オブジェクトキー> 必須
--expires-in 署名付きURLの有効期限 任意 署名付きURLの有効期限を分単位で指定可能。

静的Webサイトホスティングの有効化

aws s3 website \
    s3://${S3_BUCKET_NAME} \
   --index-document ${S3_DOC_INDEX} \
   --error-document ${S3_DOC_ERROR}
オプション 引数 必須/任意 備考
N/A s3://<バケット名> 必須
--index-document インデックスファイル 任意 静的Webサイトのインデックスファイルを指定可能。
--error-document エラーページファイル 任意 静的Webサイトのエラーページファイルを指定可能。

バケットリージョンの取得

aws s3api website get-bucket-location \
    --bucket ${S3_BUCKET_NAME}
オプション 引数 必須/任意 備考
--bucket バケット名 必須

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0