AWS Summit Tokyo 2017 http://www.awssummit.tokyo/summit/index.html#D2T4-2 2017/5/31 13:20 - 14:00 ã¹ãã¼ã«ã¼ï¼ æ¢ å ç´æ¨¹ æ ªå¼ä¼ç¤¾ãªã³ã¼ ãªãã£ã¹ãµã¼ãã¹éçºæ¬é¨ SIéçºã»ã³ã¿ã¼ 第åéçºâ¦
AWS Lambda 㧠Application Load Balancer (ALB) ã®ãã°ã Elasticsearch ã¸æå ¥ã㦠Kibana ã§ãã¸ã¥ã¢ã©ã¤ãºãããã¨æã nodejs 㧠Lambda Function ãæ¸ãã¦ã¿ã¾ããã https://github.com/awslabs/amazon-elasticsearch-lambda-samples/blob/master/src/s3_lambda_es.js ããã«ãµã³ãã«ããã£ã¦ããã£ï¼ããã¯ã»ã¼ãã®ã¾ã¾ä½¿ããã®ãï¼ã£ã¦æã£ã¦ãã£ã¦ã¿ãã 使ããã¦ãã clf-parser 㯠Apache ã® Common Log Format ã«ãã対å¿ãã¦ããªãElasticsearch ã¸ã®æå ¥ã« Bulk API ã使ã£ã¦ãªããLambda ã«ã¯æéå¶éãããã®ã«1è¡ãã¤ç»é²ãã¦ãã¦ã¯æéãæããéããS3 ã®ã
å®æçã«ããã°ã©ã ã§çæãããããªããµã¤ãºãå°ã大ããã®ãã¡ã¤ã«ãå¤é¨ã®ã¡ã³ãã¼ã¨ããåããããå ´åãAWSã®S3ã®ãã±ãããä¸æãã¡ã¤ã«ç½®ãå ´ã«ãããã¨ãããã¾ãã ãã£ï¼æ¥ã èªåã¢ãããã¼ãããããã¡ã¤ã«ã«ãã£ã¦S3ä¸ã®ãã¡ã¤ã«æ°ã»å®¹éãã¢ãªã¢ãªæé·ããããã£ã¼ããã¼ã®ããã«ã財å¸ãåã£ã¦ããã®ã«å¯¾ããå¤ããã¡ã¤ã«ãåé¤ãããã¨ããã£ããå¿ãã¡ãããã¨ã£ã¦ããã¾ããããã»ãã¥ãªãã£çã«ãå¤ããã¡ã¤ã«ãç½®ãã£ã±ã«ããã®ã¯ããããããã¾ããã ãããªäºæ ãé²ããããS3ã«ãã¡ã¤ã«ãã¢ãããã¦ä¸å®æéå¾ã«èªåçã«åé¤ããã¡ã½ãããä½ãã¾ããã®ã§ãS3ç ´ç£ããåã«ä½¿ã£ã¦ã¿ã¦ãã ããã¾ãã æºåï¼aws-sdkã«ãä¸å®æéå¾ã«ãã¡ã¤ã«èªååé¤ããã¡ã½ããã追å Rubyã®AWSæä½ç¨æ¨æºGemã§ããaws-sdkã®Aws::S3::Clientã¯ã©ã¹ã«delete_expired_objects
西澤ã§ããS3ãã±ãããç´æ¥ãã¦ã³ããã¦é«éã«ä½¿ããgoofysãå¾ æã®Content-Typeã®èªåè¨å®ããµãã¼ãããã¨ã®æ å ±ãè¦ã¤ããã®ã§ãæ©é試ãã¦ã¿ããã¨ã«ãã¾ããã kahing/goofys: a Filey System for Amazon S3 written in Go Use /etc/mime.types to set Content-Type accordingly · Issue #54 · kahing/goofys Content-Typeã¨ã¯ S3ã«ãªãã¸ã§ã¯ããé ç½®ããéã«ã¯ãã·ã¹ãã ã¡ã¿ãã¼ã¿ãè¨å®ãããã¨ãã§ãã¾ããS3ã®ã¦ã§ããã¹ãã£ã³ã°æ©è½ã使ã£ã¦WEBå ¬éããå ´åããã©ã¦ã¶ã¯é ç½®ããããªãã¸ã§ã¯ãã®ContentâTypeãåç §ãã¦æåãå¤ããçºãWEBå ¬éãããªãã¸ã§ã¯ãã«ã¯é©åãªContentâTypeãä»è¾¼ãã§ãããå¿ è¦ãããã¾ãã AW
ã¯ããã« AWSãå©ç¨ãã¦ãã¦ãS3ããµã¼ãã¼ãã¦ã³ãããæè¡ã¨ãã¦s3fsãæåã ã¨æãã¾ãã ã§ãããs3fsã¯é ãã¨æãã人ã¯å°ãªããªããã¨æãã¾ãã ããã§ä»ã«ä½ããªãããªã¨æã£ã¦èª¿ã¹ãã¨ãããgoofysã¨ããã®ãããã¿ããã§ãã goofysã®READMEã«ã以ä¸ã®Benchmarkãè¼ã£ã¦ãã¾ããã ã¨ãããã¨ã§ãã¨ããããgoofysã使ã£ã¦S3ããã¦ã³ããããã¨æãã¾ãã goã¨fuseã®ã¤ã³ã¹ãã¼ã« ã¾ããgoofysãå©ç¨ããã«ããããgoã¨fuseãå¿ è¦ã¨ãªãããããã±ã¼ã¸ãã¤ã³ã¹ãã¼ã«ãã¾ãã
å°å³ãµã¼ãã¹å¤§å¥½ãã£åã®æ£®æ°¸ã§ãã CloudTrailã®ãã°ãæ´»ç¨ã§ãã¦ã¾ããã ç§ã¯ã§ãã¦ãã¾ããã ãæ´»ç¨ããªããã°ã¯ãã ã®ãã°ã ãããããã ã®ã³ã¹ãã ã æã®åã人ã¯è¨ãã¾ãããï¼è¨ã£ã¦ã¾ããï¼ re:Inventã®ç´åã«ElasticSearch Serviceãçºè¡¨ããã¾ããã ããã ããããéã ã ã¨ãããã¨ã§ãç¡é§ã«ããã¦ããCloudTrailã®ç£æ»ãã°ãElasticSearch Serviceã§æ´»ç¨ã§ããããã«ããã¾ã§ãã¾ã¨ãã¦ã¿ã¾ããã æ§æ ãããªæãã§ãã ã¾ãã¯ãCloudTrailã®ãã°ãCloudWatch Logsã«æµãè¾¼ã¿ã¾ãã ããã§ãã£ã¦CloudWatch Logsã«æµãè¾¼ã¾ãããã°ãLambdaã使ã£ã¦ElasticSearch Serviceã¸æµãè¾¼ã¿ã¾ãã ããã¼ããã©ããããã§ããã¼ Lambdaãåºã¦ãããããã§è«¦ããããªã£ã人ãããã£
Amazon Elasticsearch Service ã¯ãã¢ã¯ã»ã¹å¶å¾¡ã IAM ã IPã¢ãã¬ã¹ã§ã§ãã¾ããæå㯠IPã¢ãã¬ã¹ãã£ã«ã¿ã§ããã£ã¦ãã®ã§ãããå°æ¥çã«ãããã«ã¯ã¾ãããã ã£ããã IAM ã§è¡ãããã«ãã¾ããã ãªããAmazon Elasticsearch Service ã®ã¢ã¯ã»ã¹ããªã·ã¼ã®å¤æ´ã¯ãæå®ãã¦ãã20åãããå¾ ããªãã¨åæ ãããªããããé¢åã§ããæ©ãã® IAM åã楽ã ã¨æãã¾ãã(åæ å¾ ã¡ã®éããµã¼ãã¹ã¯ä½¿ãã¾ã) IAM ã¦ã¼ã¶ã¼ã®ä½æ IAM ã®ã¦ã¼ã¶ã¼ãã¼ã¸ https://console.aws.amazon.com/iam/home#users ãããæ°è¦ã¦ã¼ã¶ã¼ã®ä½æã âé©å½ã«ä½ãã¾ã å®æå¾ã ãã¦ã¼ã¶ã¼ã®ã»ãã¥ãªãã£èªè¨¼æ å ±ã表示ããªã³ã¯ãã¯ãªãã¯ãã¦ã ã¢ã«ã¦ã³ãåãã¢ã¯ã»ã¹ãã¼ IDãã·ã¼ã¯ã¬ããã¢ã¯ã»ã¹ãã¼ ãè¨é²ãã¦ããã¾
å¼ç¤¾ã§ã¯kintoneï¼ãã³ãã¼ã³ï¼ã®ã«ã¹ã¿ãã¤ãºéçºã§ã¹ã±ã¸ã¥ã¼ãªã³ã°ãå¿ è¦ãªãããå¦çãçºçããå ´åã«AWS Lambdaãå©ç¨ãããã¨ãããã¾ãã Lambdaã¯node.jsã«å¯¾å¿ãã¦ãããããkintoneã§æ¥é JavaScriptã§éçºãã¦ããæã ã¨ãã¦ãæ±ãããããã¾ãä½ããããµã¼ãã¼ã¬ã¹ã§ã³ã¼ããå®è¡ã§ããã®ã§kintoneã¨ã®ç¸æ§ãé常ã«è¯ããµã¼ãã¹ã§ãã ãã ããLambdaä¸ã§Lambda functionãå®è¡ããkintoneãããã¼ã¿ãåå¾ããå å·¥å¦çããã¦ããkintoneã«ãã¼ã¿ãæ»ãã¨ãã£ãé£æºãè¡ãå ´åãkintoneï¼æ£ç¢ºã«ã¯cybozu.comåºç¤ï¼ä¸ã§IPã¢ãã¬ã¹å¶éãããã¦ããã¨Lambdaå´ããkintoneã¸ã®APIã¢ã¯ã»ã¹ãã§ããªããªãã¨ããã¡ãã£ã¨å°ã£ãç¶æ³ã«é¥ãã¾ãã Lambdaãå©ç¨ãã¦ããã°ãã¼ãã«IPã¢ãã¬ã¹ã.comå´ã®è¨±å¯I
ãµã¼ãã¬ã¹ã§ã¢ããªã±ã¼ã·ã§ã³ãå®è¡ã§ããAWS Lambdaã§ãããå æ¥ã®æ©è½ã¢ããã«ããVPCå ã§ã®å®è¡ãå¯è½ã«ãªãã¾ããã AWS Blogï¼Lambdaãã¡ã³ã¯ã·ã§ã³ããã®VPCå ãªã½ã¼ã¹ã¸ã®ã¢ã¯ã»ã¹ ãã®ã¢ãããã¼ãã¾ã§ã¯Lambdaã¯ã¤ã³ã¿ã¼ãããä¸ã§å®è¡ãããLambdaãã¡ã³ã¯ã·ã§ã³ããVPCå ã®DBãªã©ã®ããã¯ã¨ã³ãã¸ã¢ã¯ã»ã¹ããå ´åã«ä½¿ç¨ãããIPã¢ãã¬ã¹ã¯ä¸å®ã§ããã ãã®ãããSecurityGroupãNACLã§ç¸ããããã¹ã¦ã®IPããã®ã¢ã¯ã»ã¹ã許å¯ããå¿ è¦ããããã»ãã¥ãªãã£ä¸ã®æ¸æ¡ãããã¾ããã ä»åå¯è½ã«ãªã£ãVPCå å®è¡ãå¿ç¨ãããã¨ã§ãLambdaããã¢ã¯ã»ã¹ãããIPã¢ãã¬ã¹ãåºå®ãããã¨ãã§ãããã§ãã Lambdaå®è¡æã®Global IPãåºå®ãã VPCå ã§èµ·åãããLambdaãã¡ã³ã¯ã·ã§ã³ãã¤ã³ã¿ã¼ãããã¸ã®éä¿¡ãå¿ è¦ã¨ããå ´åãNATã¤ã³
#S3 VPCã¨ã³ããã¤ã³ã é常S3ã¸ã®ã¢ã¯ã»ã¹ã¯ã¤ã³ã¿ã¼ããããéãã¦éä¿¡ããã ãã©ã¤ãã¼ããµããããããã®éä¿¡ã¯NATããPublicã§ããã°ã²ã¼ãã¦ã§ã¤ãééããã¢ã¯ã»ã¹ã¨ãªãã ããããS3ã¨ã³ããã¤ã³ããè¨å®ãããã¨ã«ãããã¤ã³ã¿ã¼ããããããããªãã»ãã¥ã¢ãªéä¿¡ã¨ãªãã ãã©ã¤ãã¼ããµããããã®å ´åã¯NATãéããªãéä¿¡ãå¯è½ã¨ãªãã éä¿¡çµè·¯ AWSã®RouteTableã¯ãã³ã²ã¹ããããã¨ãªãããã詳細çµè·¯ãåªå ããã 0.0.0.0/0ãããS3ã¨ã³ããã¤ã³ãã®çµè·¯ãåªå ã¨ãªãNATãééããªãéä¿¡ãå¯è½ã¨ãªãã http://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/peering-configurations-partial-access.html#one-to-two-vpcs-lpm å·¦VPCã¨ã³ããã¤
ã¿ãªããããã«ã¡ã¯! æè¡1課ä¸æã§ãã ä»æ¥ã®è¨äºã¯ãVPC Endpointã使ã£ã¦S3ã«ã¢ã¯ã»ã¹ãã話ã§ãã VPC Endpointèªä½ã¯ä»å¹´ã®5æã«ãªãªã¼ã¹ãããæ©è½ã¨ãªãã¾ãã S3ã使ã£ã¦ã¾ããï¼ ã¨ããã§ãS3ã¯çãã使ã£ã¦ã¾ããï¼ å®¹éã¯ç¡éã99.999999999% ã®å ç¢æ§ã¨ã99.99%ã®å¯ç¨æ§ã ããã«ã¯ã¹ãã¬ã¼ã¸æéã¯1GBããã$0.033(æ±äº¬ãªã¼ã¸ã§ã³)ã¨ãç´ æ´ããããµã¼ãã¹ã§ãã AWSã§ã¯EC2ã«ä¸¦ã¶æåãªãµã¼ãã¹ã ã¨æãã¾ãã ããã«ã¯ãæè¿ã¯ã¯ãã¹ãªã¼ã¸ã§ã³ã¬ããªã±ã¼ã·ã§ã³ã®æ©è½ã追å ããã 大è¦æ¨¡ç½å®³ã«ãåãããã¨ãã§ããããã«ãªãã¾ããã ãã ããS3ã«ã¢ã¯ã»ã¹ããã«ã¯ã¤ã³ã¿ã¼ããããçµç±ãã¦ã¢ã¯ã»ã¹ããªããã°ãªããªããã¨ããå¶ç´ãããã¾ããã ãã®ãããã¤ã³ã¿ã¼ãããã«åºãå¿ è¦ãªãæ¥åã·ã¹ãã ãªã©ãAWSã«æ§ç¯ããå ´åã§ãã S3ã«ã¢ã¯ã»ã¹
Amazonã®ããã¼ã¸ããµã¼ãã¹ã¨ãã¦Elasticsearch+Kiban4ã使ããAmazon Elasticsearch Serviceãçºè¡¨ããã¾ããã ãAWSçºè¡¨ãAmazon Elasticsearch Service 以åfluentdã使ã£ã¦ELBã®ãã°ãElasticsearchã«åãè¾¼ããã¨ããã£ã¦ã¿ãã®ã§ããããã®å ´åãfluentdãåãããµã¼ãã¼ãå¿ è¦ã§ãã ELBã®ã¢ã¯ã»ã¹ãã°ãfluentd(fluent-plugin-elb-access-log)+Elasticsearch+kibanaã§å¯è¦åãã ä»ã§ããã°LambdaãTokyoãªã¼ã¸ã§ã³ã«ãã£ã¦ä½¿ããã®ã§S3ã¸ã®ELBã¢ã¯ã»ã¹ãã°ã®ã¢ãããã¼ããã¤ãã³ãã«ãã¦ãLambdaã§å¦çãã¦Elasticsearchã«ç»é²ãããã¨ã§ãµã¼ãã¼ã¬ã¹ã§å¯è¦åãã§ãããã ã¨æãããã£ã¦ã¿ãã®ã§ã¡ã¢ã Lambda
ã¯ããã« è¤æ¬ã§ãã AWS LambdaãPythonã«å¯¾å¿ãã¦ããè²ã ãªãã¨ã試ãã¦ãã¾ãã æ¦è¦ ELBã®ã¢ã¯ã»ã¹ãã°ã¯S3ã«åºåãããã¨ãå¯è½ã§ãã5åãªãã1æéãªãã§å®æçã«S3ã«ãã°ãã¡ã¤ã«ãä½æããã¾ããS3ã«éç´ãããã¨ã¯ç°¡åã§ãS3ã«åºåããããã¡ã¤ã«ã¯APIã«ããã¢ã¯ã»ã¹ãå¿ è¦ããã°ãã¡ã¤ã«ãç´°ããåå²ããã¦ãããã¨ããããå¯èªæ§ã®é¢ã«ããã¦ã¯åªãã¦ãã¾ããã ããã§AWSã§ã¯ãã°ã管çã§ãããµã¼ãã¹ã¨ãã¦CloudWatch LogsãAmazon Elasticsearch Serviceãç¨æãã¦ãã¾ããAmazon Elasticsearch Serviceã«é¢ãã¦ã¯AWSã®Githubã§S3 -> AWS Lambda -> Elasticsearchã®æµãã¨ãªãã½ã¼ã¹ã³ã¼ããå ¬éããã¦ãã¾ãããããããï¼ããã«ããç°¡åã«ãã°ãã¼ã¿ãåãè¾¼ããã¨ãå¯è½ã§ãã
ã¯ããã« çãããCloudWatchã¯æ´»ç¨ããã¦ãã¾ããï¼CloudWatchã¯ã¨ã¦ã便å©ãªãµã¼ãã¹ã§ãç¹å¥ãªç£è¦ã·ã¹ãã ãå ¥ããªãã¨ããAWSã®æ¨æºçãªä»çµã¿ã¨ãã¦AWSãªã½ã¼ã¹ã®ã¢ãã¿ãªã³ã°ãè¡ã£ã¦ããã¾ããã¾ãã¢ã©ã¼ã ã®è¨å®ãè¡ãã¾ãã®ã§ãä¾ãã°ãEC2ã®CPU使ç¨çãé¾å¤ãè¶ ããå ´åã«ã¡ã¼ã«éç¥ãããã¨ãã£ãéç¥ã®ä»çµã¿ãAWSã ãã§ç°¡åã«è¨å®ã§ãã¾ãã ãã®CloudWatchã¢ã©ã¼ã ã®ä»çµã¿ã使ãã°ãELBã¨EC2ã«ããè² è·åæ£ã·ã¹ãã ã«ããã¦ãEC2ã®ãµã¼ãã¹ç£è¦ãè¡ãã¾ããå ·ä½çã«ã¯ãELBã®åæ£å¯¾è±¡ã§ããEC2ã§HTTPãªã©ã®åæ£å¯¾è±¡ãµã¼ãã¹ãæ£å¸¸ã«åä½ãã¦ããªãå ´åã«ãã¢ã©ã¼ã ãçºå ±ãã¡ã¼ã«éç¥ãªã©ãè¡ããã¨ã§ãæ©æã«ã·ã¹ãã é害ãæ¤ç¥ãããã¨ãåºæ¥ã¾ãã ãã®è¨äºã§ã¯ãELBåæ£å¯¾è±¡ã®EC2ã§çºçãããµã¼ãã¹é害ãæ¤ç¥ãããã©ã¯ãã£ã¹ããç´¹ä»ãã¾ãã EC2ã®ç¶æ æ¯
ååã®è¨äºã«å¼ãç¶ããä»åãAmazon RDSç·¨ã§ãï¼ ä»åã¯Multi-AZã¨ãããã®ã«ã¤ãã¦ã話ãããã¨æãã¾ããããã®åã«Amazon RDSã«é¢ããæ å ±ããç´¹ä»ãã¾ãã å æ¥ãç±³å½Amazon Web Servicesï¼AWSï¼ã¯ãAmazon RDSã®æ°æ©è½è¿½å ãçºè¡¨ãã¾ããã ã¹ãã¬ã¼ã¸ã®å®¹éãæ大3TBã¾ã§ã¨ãªããããã«DBã¤ã³ã¹ã¿ã³ã¹ã®å¦çæ§è½ãæ大3ä¸POIPSï¼Provisioned IOPSï¼ã¾ã§å¼ãä¸ããããããã§ãã ããã«ãããä»å¾ãå¦çæ§è½ã®åä¸ããã³ããªãã·ã§ã³æ©è½ã®å å®ãã¯ãã£ã¦ããã¨ã®ãã¨ã§ãã AWSã¯ããµã¼ãã¹å ¨ä½ã«ããã¦æ°æ©è½ã®è¿½å ããã¾ãããããããªããã¦ããã®ã§æ¥ã ããã§ãã¯ããããªã£ã¦ããå¿ è¦ãããã¾ããï¼ ã¨ããããã§æ¬é¡ã«å ¥ãã¾ãã¦ãä»åã¯Multi-AZã®è¨å®ã«ã¤ãã¦è¨è¿°ãããã¨æãã¾ãã ããããMulti-AZã¨ããã®ã¯Amazo
lambdaã楽ãããããã ã¨ããããåããã¦ã¿ããï¼2015/05/04 00:00ããï¼ ç®æ¨ S3ã®ç¹å®ã®ãã±ããã«ãã¡ã¤ã«ãã¢ãããã¼ãããããã¡ã¼ã«ã§ãã¦ã³ãã¼ããªã³ã¯ãéç¥ããã æºå Lambdaã使ãããªã¼ã¸ã§ã³ã§ãã±ãããä½æ Amazon SNSã§Topicãä½æ ä½ã£ãTopicã«å¯¾ãã¦Subscriptionãemailã§ä½æ ãã£ãã㨠Lambdaã§æ°ããfunctionãä½æã Code entry typeã inline CodeTemplate ã"S3 Get Object" ãã¼ã«ã¯BasicExecutionRoleã§åä½ãããï¼ä»ã®ãµã¼ãã¹ã¸ã®è¨±å¯ãããªãã®ããªã¼ãªã©ã¨æã£ããã©æ¾ç½®ï¼ ä»ã¯ããã©ã«ãå¤ã zipã«ãã¦ã©ã¤ãã©ãªãªã©ãã¨ããã£ã¨ããã¦ãããããã ãã©ãä»åã¯ãããªãã ã§ãããã® ä¸è¨ã®"S3 Get Object"ã®ãã³ãã¬ã¼
Webã§è² è·åæ£ããå ´åãã¢ããªã±ã¼ã·ã§ã³ã¯ç°¡åã«ã¹ã±ã¼ã«ã¢ã¦ãåºæ¥ã¾ãããDBï¼ãRDBMSã®å ´åï¼ã¯ï¼ã¤ã«éç´ãããã¿ã¼ã³ãå¤ãã¨æãã¾ãã ããããã®æ§æã ã¨ã©ããã¦ãDBãæ§è½é¢ã§ã®ããã«ããã¯ã¨ãªããã¡ã§ãããã解æ¶ããï¼ã¤ã®ã¹ã±ã¼ãªã³ã°ãã¯ããã¯ã¨ãã¦Readãã¬ããªã«ã¸åæ£ãããã¨ãããã®ãããã¾ãã ä»åã¯ãããAmazon RDSã®ãªã¼ãã¬ããªã«ã¨multi_dbã¨ããgemã使ã£ã¦è©¦ãã¦ã¿ã¾ããã ãã§ã«DBã¯RDSï¼MySQLï¼ãå©ç¨ãã¦ããããªã¼ãã¬ããªã«ã¯å©ç¨ãã¦ããªããã¨ãããã¨ãã¹ã¿ã¼ãå°ç¹ã¨ãã¦ãã¾ãã Amazon RDSã®ãªã¼ãã¬ããªã«Amazon Web Services ããã°: Amazon RDSã®æ°æ©è½ï¼Read Replica(ãªã¼ãã¬ããªã«)ã®çºè¡¨ ãªã¼ãã¬ããªã«ã¨ã¯ãã®åã®éããRDSã®èªåãå°ç¨è¤è£½ã¤ã³ã¹ã¿ã³ã¹ã§ãã RDSãã¹ã¿ããå®
ãã®ææ¸ã«ã¤ã㦠å æ¥ãã¼ã¿çãå ¬éãããAWS IoTï¼AWSä¸ã§ãµã¼ãã¼ã¤ã³ã¹ã¿ã³ã¹ãèªåã§ç¨æããäºãªãMQTTããã¼ã«ã¼ï¼+αï¼ã®ãµã¼ãã¹ãå©ç¨ã§ããï¼ãRubyã¯ã©ã¤ã¢ã³ã(ruby-mqtt)ãã試ãã¦ã¿ãå人çãªã¡ã¢ã§ãã æ¬å®¶ã®ã¯ã¤ãã¯ã¹ã¿ã¼ããè¦ã¤ã¤ãAWS IoT Message Brokerã®MQTTã§pub/subããã£ã¦ã¿ããåèã«ããã¦é ãã¤ã¤ãã£ã¦ãè¦æ¸ã§ãããç¾æç¹ï¼2015/10/14ï¼ã§AWS IoTã¯ãã¼ã¿çã§ãããä»å¾ãµã¼ãã¹ã®ä»æ§ãå¤ããå¯è½æ§ããããããã§ããã ãæ¬å®¶ã®ããã¥ã¡ã³ããåç §ãããäºããããããã¾ãã AWS IoTã§ã¯ã¯ã©ã¤ã¢ã³ãå´ã®SDKãæä¾ããã¦ããããã§ãããä»åã¯ãªã¼ãã³ã½ã¼ã¹ã§å ¬éããã¦ããMQTTã¯ã©ã¤ã¢ã³ãã使ã£ã¦Pub/Subã試ãã¦ã¿ã¾ãã AWS IoTã®æ¦å¿µã«ã¤ãã¦ã¯Learn how AWS IoT wor
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}