æè¿ãTerraformãCloudFormationã¿ããã«ãJSONãç¬èªDSLãªã©ã§ãã£ãããAWSã管çãããã¼ã«ãããããåºã¦ãã¦ã¾ãã
ãããããã¼ã«ã¯ä¾¿å©ããã ãªã¨ã¯æããã§ããããªãããµã¨ãã¦ã¼ã¶ããã³ãã«æ±ãã¦ãããã®ã¯ã³ã¬ãªãã ãããï¼ã¨æãã¾ããã
ãªãã ããã è¨ã£ã¦ãä¸çªå¤ã使ããã¦ãããµã¼ã管çãã¼ã«ã¯ãExcelãµã¼ãä¸è¦§ããªã®ã§ã¯ï½ï¼
ãããExcelã§åããããªãã¨ãåºæ¥ãã°ãããä¸çªããã®ã§ã¯ï¼ã¨ã
ã¨ããããã§ãExcelã¯æå ã«ãªãã¦ããã¤ã®ã§ãä»åã¯Googleã¹ãã¬ããã·ã¼ãã§AWSã®ãµã¼ãæ§æç®¡çããã£ã¦ã¿ã¾ããã
ä½¿ãæ¹
äºåæºå
ãµã³ãã«ã®ã¹ãã¬ããã·ã¼ããã³ãã¼ãã
ããã¼ã«ã -> ãã¹ã¯ãªããã¨ãã£ã¿ã -> config.gsãç·¨é
AWS_ACCESS_KEY_IDãAWS_SECRET_ACCESS_KEYã«AWSã®ã¢ã¯ã»ã¹ãã¼ãã
SPREADSHEET_URLã«ã¯ã³ãã¼ããã¹ãã¬ããã·ã¼ãã®URLãè²¼ãä»ãã¦ãã ããã
ãã¨ã¯ãããã¦ã«ã
ã¢ã¯ã»ã¹ãã¼ã®æ¨©éã¯ãEC2ã¨CloudWatchç³»ã®ãå¿ è¦ã§ãããã¨ã§ããã¡ããä¸å¯§ã«æ¸ããã»ã»ã»
ãµã¼ãä¸è¦§ã®åå¾
ã³ãã¼ããã·ã¼ãã«æ»ã£ã¦
ãAWSã -> ãAWS -> SSãã鏿ããã¨ã
ãec2ãã·ã¼ãã«EC2ã®æ å ±ãèªã¿è¾¼ã¾ãã¾ãã
â»ååå®è¡ã¯æ¨©éã®æ¿èªãå¿ è¦ã§ãã
ãµã¼ãä¸è¦§ããã¤ã³ã¹ã¿ã³ã¹èµ·å
ec2ã®ã·ã¼ãã«æ°ããè¡ã追å ãã¦(instanceIdãstateã¯æªè¨å ¥)ããAWSã -> ãSS -> AWSãã鏿ããã¨ã
ã¤ã³ã¹ã¿ã³ã¹ãèµ·åãã¦ãããã®ç¢ºèªç»é¢ãåºã¦ã
ã·ã¼ããæ´æ°ããã¾ãã
æ°ããã¤ã³ã¹ã¿ã³ã¹ãèµ·åããã¦ããã®ã§ãConsoleçã§ç¢ºèªãã¦ãã ããã
ã¤ãã§ã«ãµã¼ãã®ç£è¦
ãAWSã -> ãMonitoringãã鏿ããã¨ã
稼åä¸ã®ã¤ã³ã¹ã¿ã³ã¹ãã¨ã«ååãã¤ã³ã¹ã¿ã³ã¹IDã®ã·ã¼ãã使ããã¦ãç´è¿24æéã®CPU使ç¨çã®æ¨ç§»ãã°ã©ãã§ç¢ºèªåºæ¥ã¾ãã
é¾å¤ãè¶
ãã¦ããã¨ã¢ã©ã¼ããé£ãã§ãã¾ãã
ã¹ã¯ãªããã¨ãã£ã¿ã®ããªã½ã¼ã¹ããããããªæãã§ããªã¬ã¼ãè¨å®ãã¦ããã¨ã10åééã§èªåã§ç£è¦ãã¦ããã¾ãã
ã³ã¼ãã«ã¤ãã¦
ä»åã¯ãã¢ç¨ã®æä½éã®æ©è½ããå®è£ ãã¦ã¾ããããmain.gsã«ããããã«ãããªæãã§aws-sdk-jsã£ã½ãAWSã®APIãå©ããããã«ãã¦ãã¾ãã
// runningç¶æ ã®EC2ã¤ã³ã¹ã¿ã³ã¹ã®instanceIdãåæãã AWS.config({ accessKeyId: AWS_ACCESS_KEY_ID, secretAccessKey: AWS_SECRET_ACCESS_KEY, region: AWS_REGION }); var ec2 = new AWS.EC2(); var params = { Filter: [ { Name: 'instance-state-name', Value: ['running'] } ] }; ec2.describeInstances(params, function (err, data) { // if(err) return; ã¨ã©ã¼å¦çã¯æªå®è£ ã§ã for(var i=0;i<data.reservationSet.length;i++){ var instance = data.reservationSet[i].instancesSet[0]; Logger.log(instance.instanceId); } });
ããããaws-sdk-jsãGoogle Apps Scriptã§åãããã°ããã£ãã®ã§ãããããããããããã¾ããã§ããã
ã¾ã¨ã
ãªããããã£ã½ãã®ãåºæ¥ã¾ããï½
ãã¡ããã³ã¼ãã¯githubã«ãããã¨ãã¾ããã
ãã å人çã«ã¯rubyã§ã³ã¼ãããã¦ããããã¹ãã¬ããã·ã¼ããããã»ããã¯ããã«æ¥½ã ã確å®ãªã®ã§ããã¶ãä»äºã§ä½¿ããã¨ã¯ãªãã§ãããã»ã»ã»
ã§ãæ¬å®¶SDK使ããã«AWSã®APIå©ãã®åãã¦ã§ããããåå¼·ã«ãªã£ãã®ã§ã使ãããã£ã¦äººãããã°æ©è½è¿½å ããã°ä¿®æ£ã¯ããããã§ãã