はじめに
転職生活2日目は、1日目に依頼を受けていたHPのCloudFrontへの移行作業の準備を行いました。
つまずいた事
- CloudFrontの利用方法
- CloudFrontを利用するにあたり、S3へアップロードをする際のコマンドがわからなかった
- S3のディストリビューションの設定がうまく行かなかった
CloudFront自体初耳だったので、教えてもらった事を端的に書いていくと以下です。
CloudFront
- スピードと安全性の高さが魅力の「高速コンテンツ配信ネットワーク機能」である
- 静的ホームページを配置する事で、今まで払っていたサーバー代等のコストダウンに繋がる
- 静的ホームページの場合、index.htmlを配置しておくことで、フレームワークを利用しなくても簡単にWeb上に反映する事ができる
他にも配信に関する遅延は少なかったり、利用料金は使った分だけ支払う従量課金制で、無料利用枠として毎月50GBのデータ送信等が1年間無料は魅力的だなと感じました。
利用方法は、こちらの記事を参考に勉強させていただきました。
S3へアップロードをする際のコマンド
手順
①AWS CLI のインストール
②追加ファイルを作成
③パスを通す
④S3へアップロードする
以上でアップロードができました。
①AWS CLI バージョン2をインストール
こちらを参考にインストールします。
②追加ファイルを作成
格納予定のディレクトリに以下を追加
.sample.sh
#!/bin/bash
set -e
AWS_ACCESS_KEY_ID=[Access key ID] AWS_SECRET_ACCESS_KEY=[Secret access key] aws s3 sync --exclude "*.DS_Store" public/ s3://[該当のドメイン]
AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= aws cloudfront create-invalidation --distribution-id [distributionのid] --paths /index.html /index.css
#distributionのidは、CloudFront Distributionsから確認できるIDを入力
※Git Hub上にAccess keyとSecret access keyをpushしないように、gitignoreで除外処理は必須
.gitignore
/.sample.sh
③パスを通す
ターミナル
ls -la
#該当ファイルのパス状況を確認
-rw-r--r-- 1 ****** staff 360 7 3 16:46 .sample.sh
#パスが通っていない
ターミナル
chmod +x .sample.sh
#パスを通すコマンド
ターミナル
ls -la
#該当ファイルのパス状況を確認
-rwxr-xr-x 1 ****** staff 360 7 3 16:46 .sample.sh
#xが追加された事がわかります
ターミナル
source ~/.bash_profile
#これでパスが通りました
ターミナル
./.sample.sh
上記コマンド入力後、uploadすることができました。
さいごに
自分が学んだ事以外の知識が必要になるため、調べる事は大切だと感じました。
また、パスを通す際にsourceコマンドを利用のは勉強していましたが、いざ実際に仕事として考えると抜けてしまう事が多いので、忘れないよう注意していこうと思います。