s3 deploy website
1.0.0
これは、静的WebサイトをS3にアップロードするための展開ツールです。 CloudFrontがWebサイトのホストに使用される場合、アップロードされたファイルはCloudFront Distributionで自動的に無効にすることができます。プレフィックスツリーは、限られた数の自由な無効化のみが月に利用できるため、無効化の数を最小限に抑えるために使用されます。
構成は次のようなYAMLファイルに保存されます:
site : _site
s3_bucket : example.com
cloudfront_distribution_id : XXXXXXXXXXX
cache_rules :
- match : " /assets/* "
maxage : 30 days
- match_regexp : ' ^assets/image-d{3}-.*.png$ '
maxage : 90 days
- match : " /css/* "
maxage : 30 days
- match : " * "
maxage : 1 hourこのsite構成ファイルの場所に関連する静的Webサイトのディレクトリです。たとえば、Jekyllは、上記で指定されているように_siteディレクトリに静的サイトを生成します。構成ファイルを.s3_website.yamlとして保存する場合、同じディレクトリからs3-deploy-website実行できます。
$ cd jekyll-site/
$ ls .s3_website.yaml
.s3_website.yaml
$ s3-deploy-websiteAWS資格情報は、環境変数AWS_ACCESS_KEY_IDおよびAWS_SECRET_ACCESS_KEYを介して提供できます。
$ export AWS_ACCESS_KEY_ID=XXXXXX
$ export AWS_SECRET_ACCESS_KEY=XXXXXX
$ s3-deploy-websiteまた、ボトが読むさまざまな構成ファイルを介して提供することもできます。
_siteなど)に比べて。s3:GetObject 、 s3:PutObject 、 s3:DeleteObject and s3:ListBucket on the bucket and the Keys eg arn:aws:s3:::example.comおよびarn:aws:s3:::example.com/* 。cloudfront:CreateInvalidation許可する必要があります。matchキーは、ルールが適用されるパターンを指定します。これは、グローブスタイルのマッチング( * and ? )を使用します。 match_regexpを使用して、一致することも正規表現で実行できます。特定のキーに一致する最初のルールのみが使用されます。 maxageキーは、ファイルをキャッシュする時間を指定します。値は、 30 days 、 5 minutes, 30 secondsなどのような数秒または文字列でなければなりません。.s3_website.yamlの構成はS3_Websiteに触発されましたが、S3_Websiteでサポートされているオプションはわずかに異なります。
mit。