古くさくも、それまで s3cmdを使っていたので、いいかげん AWS CLIを使うことにする。
ちなみにそれまで使っていたs3cmd
での同期コマンドはこちら。
s3cmd sync --no-mime-magic --guess-mime-type --acl-public --delete-removed public/* s3://arimasou16.com/
s3cmd modify --add-header='Content-Type':'text/css' s3://arimasou16.com/*/*.css
--no-mime-magic --guess-mime-type
やらcssだけ個別に同期コマンドを実行しているのは、一度、同期させたあとにcssファイルがスタイルシートファイルとして認識されずにブログのデザインが崩れるという経験をしたため。実際、これで効果があったのどうか確証はとれていないが、それ以降一度も、こうした出来事には遭遇していない。
ともあれ、 AWS CLIを導入する。Windowsではインストーラーをダウンロードしてきてインストールするだけだ。以下はLinux環境での場合。
Linux での AWS CLI バージョン 2 のインストール - AWS Command Line Interface
-
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
-
unzip awscliv2.zip
-
sudo ./aws/install
ちなみにexport PATH="$HOME/.local/bin:$PATH"
を ~/.bashrc に記述しているので、既にパスは通っている。
インストールしていしまえば、Windows、Linuxどの環境でも同じように操作できる。
特に複数のプロファイルとか設定しない場合はaws configure
aws configure
PS C:\Users\yoyuu> aws configure
AWS Access Key ID [None]: AKIAIOSFODNN7EXAMPLE
AWS Secret Access Key [None]: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Default region name [None]: ap-northeast-1
Default output format [None]: json
で設定完了。
記事の内容とはズレるが、これまでAWSユーザーに関しては無頓着にrootユーザーを使っていたが、これを機に特定のS3パケットのみ読み書き可能なIAMユーザーを作成して、それを使うことにした。
で、同期を取る前に
aws s3 sync --delete public/ s3://arimasou16.com --dryrun >dryrun.txt
で同期対象ファイルの確認をしてから、--dryrun
を外して実行。
aws s3 sync --delete public/ s3://arimasou16.com
特に問題はなし。