aws-cli+win10のbatファイルで、1クリックでS3バケット自動生成・htmlフォルダ内をアップロード・静的ホスティングでWeb公開できるようにしてみた
参考URL:
https://qiita.com/tsukapah/items/96e8402181609518fd3d
windowのコマンドプロンプトって、ヒアドキュメント無いのね。知らんかった。
aws-cliの設定をしてあれば、s3.batとか適当なファイル名にして、同じディレクトリ内にhtmlフォルダを生成。アップロードしたい中身を入れておけば1クリックでS3静的ホスティングで公開される。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
@echo off REM バケット名を重複しないような値にする。 set BUCKET_NAME=auto-generated-s3-%RANDOM% echo S3 Backet Name: %BUCKET_NAME% REM 実際のS3バケットを作る aws s3 mb s3://%BUCKET_NAME% REM S3にアップロード aws s3 sync ./html s3://%BUCKET_NAME% REM 静的ホスティングを有効化 aws s3 website s3://%BUCKET_NAME% --index-document index.html REM ポリシーファイルを作成。ヒアドキュメントもどき ( echo { echo "Version": "2012-10-17", echo "Id": "PublicRead", echo "Statement": [ echo { echo "Sid": "ReadAccess", echo "Effect": "Allow", echo "Principal": "*", echo "Action": "s3:GetObject", echo "Resource": "arn:aws:s3:::%BUCKET_NAME%/*" echo } echo ] echo } )>public.json REM パブリック公開 aws s3api put-bucket-policy --bucket %BUCKET_NAME% --policy file://C:\Users\t.suzuki\Desktop\auto-s3\public.json REM ブラウザで開く start http://%BUCKET_NAME%.s3-website-ap-northeast-1.amazonaws.com |