#本記事の目的
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 | バケット名 | 必須 |
#参考文献
- AWSCLIコマンドリファレンス:S3
- JAWS-UG CLI専門支部:ハンズオン(簡易版): S3入門