AWS S3の使い方
概要
- s3の一般公開はファイルホスティングをする必要がある際に便利
- s3はAWS固有のサービスではなく、互換の製品が様々なところで用いられている
- クラウド
- オンプレミス
- s3のバケットのセキュリティは個々に設定されるバケットポリシーで設定されており、IAMとは独立している
基本的なコマンド
aws s3 mb s3://my-new-bucket
- バケットの作成aws s3 rb s3://my-new-bucket
- バケットの削除aws s3 cp example.txt s3://my-bucket/example.txt
- ファイルのアップロードaws s3 rm s3://my-bucket/example.txt
- ファイルの削除aws s3 cp s3://my-bucket/example.txt example.txt
- ファイルのダウンロードaws s3 cp s3://my-bucket/example.txt -
- 標準出力にファイルの内容を表示(catコマンドのようなもの)aws s3 ls s3://my-bucket/
- ディレクトリ(プレフィックス)のみリスト表示aws s3 ls s3://my-bucket/ --recursive
- ディレクトリ以下の全てのファイルをリスト表示aws s3 cp my-folder s3://my-bucket/my-folder --recursive
- フォルダのアップロードaws s3 cp s3://my-bucket/my-folder my-folder --recursive
- フォルダのダウンロードaws s3 rm s3://my-bucket --recursive
- バケット内の全てのファイルの削除
バケットポリシー
インターネットアクセス可能なbucketを作る
[BUCKET選択]
->[アクセス権限]
->[バケットポリシー]
JSONデータを記入する領域があるので、このように記す
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AddPerm",
"Effect": "Allow",
"Principal": "*",
"Action": "s3:GetObject",
"Resource": "arn:aws:s3:::{$YOUR_BACKET_NAME}/*"
}
]
}