AWS API, CLI 활용하기

이재홍 http://www.pyrasis.com 2014.03.24 ~ 2014.06.30

CloudFront

CloudFront 콘텐츠를 갱신Invalidation하는 방법은 다음과 같습니다.

  • DistributionId: CloudFront 배포 ID를 설정합니다.
  • InvalidationBatch: 갱신할 파일 정보를 정의합니다.
    • CallerReference: 함수가 중복 호출되지 않도록 고유한 값을 설정합니다. 문자열 형식이며 특별한 규칙은 없습니다.
    • Paths: 갱신할 파일 목록입니다. Quantity에 갱신할 파일 개수를 설정하고, Items에 갱신할 파일을 배열 형태로 설정합니다.

CloudFront를 사용하는 방법은 ‘12장 전 세계에 콘텐츠를 배포하는 CDN 서비스인 CloudFront’를 참조하기 바랍니다.

cloudfront_1.js

var AWS = require('aws-sdk');
AWS.config.loadFromPath('./config.json');

var cloudfront = new AWS.CloudFront();

var params = {
  DistributionId: 'E2BSR9DHH70GFH', // 필수
  InvalidationBatch: { // 필수
    CallerReference: 'ExampleInvalidation1', // 필수
    Paths: { // 필수
      Quantity: 2, // 필수
      Items: [
        '/index.html',
        '/hello.html'
      ]
    }
  }
};

cloudfront.createInvalidation(params, function (err, data) {
  if (err)
    console.log(err, err.stack);
  else
    console.log(data);
});

갱신할 내용을 JSON 형태로 작성합니다.

{
  "Paths": {
    "Quantity": 2,
    "Items": [
      "/index.html",
      "/hello.html"
    ]
  },
  "CallerReference": "ExampleInvalidation1"
}

--invalidation-batch 옵션에 작성한 JSON을 한 줄로 만들고 ' '(작은 따옴표)로 묶어서 설정합니다.

AWS CLI

$ aws configure set preview.cloudfront true
$ aws cloudfront create-invalidation --distribution-id E2BSR9DHH70GFH --invalidation-batch '{ "Paths": { "Quantity": 2, "Items": [ "/index.html", "/hello.html" ] }, "CallerReference": "ExampleInvalidation1" }'

다른 함수들의 사용 방법은 링크를 참조하기 바랍니다.
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CloudFront.html


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.