{"id":47263,"date":"2024-01-21T12:05:15","date_gmt":"2023-06-28T20:59:32","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/"},"modified":"2024-05-04T19:29:37","modified_gmt":"2024-05-04T11:29:37","slug":"2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/","title":{"rendered":"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0"},"content":{"rendered":"<h2>\u7ea2\u9885\u9aa8\u5448\u73b0\u300a\u5982\u679c\u5728AWS\u4e0a\u8fdb\u884c\u5e94\u7528\u5f00\u53d1\uff0c\u9700\u8981\u4e86\u89e3\u7684\u4e8b\u9879\u300b<\/h2>\n<h3>\u67b6\u6784\u6700\u4f73\u5b9e\u8df5<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Design for failure<\/ul>\n<\/li>\n<\/ul>\n<p>\u5358\u4e00\u969c\u5bb3\u70b9\u3092\u306a\u304f\u3059\u3001\u3059\u3079\u3066\u304c\u5931\u6557\u3057\u5f97\u308b\u3068\u3044\u3046\u524d\u63d0\u3067\u8003\u3048\u308b<\/p>\n<p>\u6700\u521d\u306b\uff11\u30db\u30b9\u30c8\u3092\u8907\u6570\u306b\u5206\u5272\u3059\u308b\u21d2Web\u3068\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff08RDS\uff09<br \/>\n\u8907\u6570\u306eWeb\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u7570\u306a\u308bAZ\u3067<br \/>\nRDS\u306fMulti-AZ<br \/>\nELB\u3092\u5229\u7528\u3057\u3066\u8ca0\u8377\u5206\u6563<\/p>\n<p>Build Security Every Layer<\/p>\n<p>\u901a\u4fe1\u7d4c\u8def\u304a\u3088\u3073\u4fdd\u5b58\u3055\u308c\u305f\u30c7\u30fc\u30bf\u306e\u6697\u53f7\u5316\u3001IAM\uff0f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b0\u30eb\u30fc\u30d7<\/p>\n<p>Leverage Many Storage Options<\/p>\n<p>\u4e07\u80fd\u306a\u30c7\u30fc\u30bf\u30b9\u30c8\u30a2\u306f\u5b58\u5728\u3057\u306a\u3044\u3001\u7279\u6027\u306b\u5fdc\u3058\u3066\u4f7f\u3044\u5206\u3051\u308b<br \/>\nStorage<\/p>\n<p>Object Storage: S3, Glacier<br \/>\nFile\/Block Storage: EFS(NFS\u3001\u5171\u6709\u30c7\u30a3\u30b9\u30af), EBS<\/p>\n<p>Database<\/p>\n<p>NoSQL: ElastiCache, DynamoDB<br \/>\nSQL: RDS\uff08\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u51e6\u7406\uff09, Redshift\uff08DWH\uff09<\/p>\n<p>\u4f8b<\/p>\n<p>\u9759\u7684\u30b3\u30f3\u30c6\u30f3\u30c4\u306fS3\u306b<br \/>\n\u30bb\u30c3\u30b7\u30e7\u30f3\u3084\u30b9\u30c6\u30fc\u30c8\u306fDynamoDB<br \/>\nDB\u306e\u30ad\u30e3\u30c3\u30b7\u30e5\u306fElastiCache<\/p>\n<p>Implement Elasticity<\/p>\n<p>IP\u30a2\u30c9\u30ec\u30b9\u3067\u53c2\u7167\u3057\u306a\u3044\uff08\u540d\u524d\u30d9\u30fc\u30b9\u3067\uff09\u3001\u5206\u6563\u3055\u305b\u308b<\/p>\n<p>Think Prallel<\/p>\n<p>EMR\u3092\u7528\u3044\u3066\u4e26\u5217\u306eMapReduce\u30b8\u30e7\u30d6\u3092\u5b9f\u884c\u3001ELB\u3001\uff11\u3064\u306eKinesis Stream\u3068\u8907\u6570\u306eKCL\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u3068\u3057\u3066\u306eLambda<br \/>\n1\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3067N\u6642\u9593 = N\u53f0\u30921\u6642\u9593 \u21d2 \u30b3\u30b9\u30c8\u306f\u540c\u3058<\/p>\n<p>Loose Coupling<\/p>\n<p>\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u9593\u306e\u7d50\u5408\u5ea6\u304c\u7de9\u3084\u304b\u306b\u306a\u308b\u307b\u3069\u3001\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\u306f\u9ad8\u307e\u308b<br \/>\n\u3059\u3079\u3066\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\u306f\u30d6\u30e9\u30c3\u30af\u30dc\u30c3\u30af\u30b9\u3068\u3057\u3066\u30c7\u30b6\u30a4\u30f3\uff08API\u30a2\u30af\u30bb\u30b9\u3001DNS\u540d\u3067\u30a2\u30af\u30bb\u30b9\u306a\u3069\uff09<br \/>\nQueue\u3092\u4f7f\u3063\u3066\u758e\u7d50\u5408\u306b\uff08\u90e8\u5206\u7684\u306aretry\u304c\u3057\u3084\u3059\u304f\u306a\u308b\u3001\u91cd\u305f\u3044\u51e6\u7406\u3060\u3051\u3092\u30b9\u30b1\u30fc\u30eb\u3059\u308b\uff09<br \/>\nService Discovery<\/p>\n<p>\u5404\u30b5\u30fc\u30d3\u30b9\u3067\u5897\u3048\u305f\u30ea\u30bd\u30fc\u30b9\u3001\u6e1b\u3063\u305f\u30ea\u30bd\u30fc\u30b9\u306b\u5bfe\u3057\u3066\u900f\u904e\u7684\u306b\u30a2\u30af\u30bb\u30b9<br \/>\nAuto Scaling\u3092\u4f7f\u3063\u305fELB\u81ea\u52d5\u767b\u9332\u3001Consul\u306a\u3069<\/p>\n<p>Asynchronous Integration<\/p>\n<p>\u540c\u671f\u51e6\u7406\u3067\u3042\u308b\u5fc5\u8981\u304c\u306a\u3051\u308c\u3070\u975e\u540c\u671f\u306b\u3059\u308b\uff08\u305d\u306e\u51e6\u7406\u3001\u672c\u5f53\u306b\u30ec\u30b9\u30dd\u30f3\u30b9\u5fc5\u8981\u3067\u3059\u304b\uff1f\uff09<br \/>\n\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u30d6\u30ed\u30c3\u30af\u3055\u308c\u306a\u3044<br \/>\n\u30b9\u30b1\u30fc\u30e9\u30d3\u30ea\u30c6\u30a3\uff06\u9ad8\u53ef\u7528\u6027<br \/>\nFrontend\u3092\u505c\u6b62\u3059\u308b\u3053\u3068\u306b\u306a\u304fBackend\u3092\u5bb9\u6613\u306b\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u53ef\u80fd<br \/>\n\u30ea\u30af\u30a8\u30b9\u30c8\u306e\u51e6\u7406\u9806\u5e8f\u3084\u30ea\u30c8\u30e9\u30a4\u7b49\u306e\u5236\u5fa1\u304c\u5bb9\u6613\u306b\uff08\u4e00\u65b9\u3001\u6570\u73e0\u3064\u306a\u304e\u3067\u5168\u4f53\u306e\u898b\u901a\u3057\u306f\u60aa\u304f\u306a\u308b\uff09<\/p>\n<p>Don&#8217;t Fear Constraints<\/p>\n<p>\u3088\u308a\u591a\u304f\u306e\u30e1\u30e2\u30ea\u304c\u5fc5\u8981\uff1f\u21d2\u8ca0\u8377\u5206\u6563\u3001\u30ad\u30e3\u30c3\u30b7\u30e5<br \/>\n\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306eIOPS\u304c\u5fc5\u8981\uff1f\u21d2\u30ea\u30fc\u30c9\u30ec\u30d7\u30ea\u30ab\u3001\u30b7\u30e3\u30fc\u30c7\u30a3\u30f3\u30b0\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30ad\u30e3\u30c3\u30b7\u30f3\u30b0<br \/>\n\u554f\u984c\u306e\u3042\u308b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u7834\u68c4\u3057\u3001\u7f6e\u304d\u63db\u3048\u308b<\/p>\n<h3>\u5341\u4e8c\u56e0\u7d20\u5e94\u7528<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Docker\u306b\u3088\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u3084Lambda\u306e\u3088\u3046\u306a\u30b5\u30fc\u30d0\u30ec\u30b9\u30b3\u30f3\u30d4\u30e5\u30fc\u30c8\u306e\u666e\u53ca\u306b\u4f34\u3044\u3001\u6539\u3081\u3066\u91cd\u8981\u6027\u304c\u5897\u3057\u3064\u3064\u3042\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Codebase<\/ul>\n<\/li>\n<\/ul>\n<p>\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u3066\u3044\u308b\u30a2\u30d7\u30ea\u3068\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u306f\u5e38\u306b1:1\u3067\u3042\u308b\u3079\u304d<\/p>\n<p>Dependencies<\/p>\n<p>\u4f9d\u5b58\u95a2\u4fc2\u3092\u660e\u793a\u7684\u306b\u5ba3\u8a00\u3057\u5206\u96e2\u3059\u308b<br \/>\n\u7279\u5b9a\u306e\u74b0\u5883\u306b\u6697\u9ed9\u7684\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3055\u308c\u3066\u3044\u308b\u30d1\u30c3\u30b1\u30fc\u30b8\u3084\u30c4\u30fc\u30eb\u306b\u4f9d\u5b58\u305b\u305a\u3001\u30a2\u30d7\u30ea\u306b\u540c\u68b1\u3059\u308b<br \/>\n\u4f8b\uff1agem\u3068bundler<\/p>\n<p>Config<\/p>\n<p>OS\u30ec\u30d9\u30eb\u306e\u74b0\u5883\u5909\u6570\u306b\u3088\u3063\u3066\u6ce8\u5165\u3055\u308c\u308b\u3079\u304d<br \/>\n\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306f\u8a00\u8a9e\uff0f\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u306e\u74b0\u5883\u4f9d\u5b58\u306b\u306a\u308b<\/p>\n<p>Backing Service<\/p>\n<p>\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u8d8a\u3057\u306b\u4f7f\u3046\u3082\u306e\u306f\u3059\u3079\u3066\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u6271\u3044\uff08URL\u306e\u3088\u3046\u306b\uff09\u3001\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u30a2\u30bf\u30c3\u30c1\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u6271\u3046<br \/>\n\u30ea\u30bd\u30fc\u30b9\u306e\u5207\u66ff\u306f\u30ea\u30bd\u30fc\u30b9\u30cf\u30f3\u30c9\u30eb\u306e\u5207\u66ff\uff08URL\u306e\u5207\u66ff\uff09\u3068\u3059\u308b<\/p>\n<p>Build<\/p>\n<p>build\u3001\u30ea\u30ea\u30fc\u30b9\u3001\u5b9f\u884c\u306e\uff13\u3064\u306e\u30b9\u30c6\u30fc\u30b8\u3092\u53b3\u5bc6\u306b\u5206\u96e2\u3059\u308b<br \/>\n\u3059\u3079\u3066\u306e\u30ea\u30ea\u30fc\u30b9\u306f\u4e00\u610f\u306eID\u3092\u6301\u3064\u3079\u304d\uff08\u3069\u306e\u74b0\u5883\u306b\u3069\u306eID\u304cdeploy\u3055\u308c\u3066\u3044\u308b\u304b\uff09<\/p>\n<p>Process<\/p>\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092Stateless\u306a\u30d7\u30ed\u30bb\u30b9\u306e\u7d44\u307f\u5408\u308f\u305b\u3068\u3057\u3066\u5b9f\u884c\uff01<br \/>\n\u30b9\u30b1\u30fc\u30eb\u30a2\u30a6\u30c8\u306e\u5358\u4f4d\u3068\u3057\u3066\u30d7\u30ed\u30bb\u30b9\u30e2\u30c7\u30eb\u306f\u5206\u304b\u308a\u3084\u3059\u3044\uff08\u30b9\u30ec\u30c3\u30c9\u306f\u30e1\u30e2\u30ea\u5171\u6709\u3059\u308b\u306a\u3069\u3067\u7ba1\u7406\u304c\u8907\u96d1\uff09<br \/>\n\u6c38\u7d9a\u5316\u3059\u308b\u5fc5\u8981\u306e\u3042\u308b\u30c7\u30fc\u30bf\uff08\u6b21\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3067\u3082\u5229\u7528\u3059\u308b\u30c7\u30fc\u30bf\uff09\u306fDB\u306a\u3069statefull\u306a\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u3092\u5229\u7528<br \/>\n\u30ed\u30fc\u30ab\u30eb\u30c7\u30a3\u30b9\u30af\u306e\u30d5\u30a1\u30a4\u30eb\u3001\u30e1\u30e2\u30ea\u4e0a\u306e\u30c7\u30fc\u30bf\u306f\u3042\u304f\u307e\u3067\u3082\u30ad\u30e3\u30c3\u30b7\u30e5\u3068\u3057\u3066\u6271\u3046<\/p>\n<p>Dsiposability<\/p>\n<p>\u30b0\u30ec\u30fc\u30b9\u30d5\u30eb\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3<\/p>\n<p>Dev\/prod parity<\/p>\n<p>\u958b\u767a\u30fb\u30b9\u30c6\u30fc\u30b8\u30f3\u30b0\u30fb\u672c\u756a\u74b0\u5883\u3092\u3067\u304d\u308b\u3060\u3051\u4e00\u81f4\u3055\u305b\u3001CI\/CD\u306e\u52b9\u679c\u3092\u767a\u63ee\u3059\u308b<\/p>\n<p>Log<\/p>\n<p>\u51fa\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u4fdd\u5b58\u5148\u3084\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u306b\u30a2\u30d7\u30ea\u306f\u95a2\u4e0e\u3057\u306a\u3044\uff08\u6a19\u6e96\u51fa\u529b\u306b\u5410\u304d\u51fa\u3059\u3060\u3051\u306b\u3059\u308b\uff09<br \/>\n\u53ce\u96c6\u3001\u4fdd\u5b58\u3001\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u5316\u3057\u5206\u6790\u3059\u308b\u74b0\u5883\u3092\u30a2\u30d7\u30ea\u306e\u5916\u306b\u7528\u610f\u3059\u308b<\/p>\n<p>Stateless<\/p>\n<p>\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u306b\u306b\u306a\u308b\u8981\u7d20\u3092\u6c34\u5e73\u30b9\u30b1\u30fc\u30eb\u3059\u308b\u30ea\u30bd\u30fc\u30b9\u306e\u5916\u90e8\u306b\u914d\u7f6e<br \/>\nSession\u60c5\u5831(\u30b9\u30b1\u30fc\u30eb\u30a2\u30a6\u30c8\u3059\u308b\u3068\u65b0\u3057\u3044\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304b\u3089\u898b\u3048\u306a\u3044\uff09\u21d2DynamoDB\u306b\u898b\u306b\u3044\u3063\u3066\u30ed\u30fc\u30ab\u30eb\u306b\u30ad\u30e3\u30c3\u30b7\u30e5<\/p>\n<h3>DevOps \u8fd0\u7ef4\u5f00\u53d1<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u7121\u99c4\u3084\u30dc\u30c8\u30eb\u30cd\u30c3\u30af\u3092\u53d6\u308a\u9664\u304f\u3053\u3068\u3067\u3001\u30e9\u30a4\u30d5\u30b5\u30a4\u30af\u30eb\uff08\u30d5\u30a3\u30fc\u30c9\u30d0\u30c3\u30af\u30eb\u30fc\u30d7\uff09\u3092\u52b9\u7387\u5316\u3057\u3001\u9ad8\u901f\u5316\u3059\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Cluture\uff1aEnd to End\u3067One team\u3067\u3042\u308b\u3053\u3068\u3001\u4e3b\u4f53\u7684\u306a\u30aa\u30fc\u30ca\u30fc\u30b7\u30c3\u30d7\u3001\u884c\u308f\u308c\u305f\u4f5c\u696d\u306e\u7d50\u679c\u306b\u5bfe\u3059\u308b\u53ef\u8996\u6027\u3092\u9ad8\u3081\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Practice\uff1aAutomate Everything\u3001Test Everything, CI\/CD\/Infrastructure as a code, etc&#8230;<\/ul>\n<\/li>\n<\/ul>\n<p>\u81ea\u52d5\u5316\u3068\u69cb\u6210\u7ba1\u7406\uff1a\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3001\u8a2d\u5b9a\u3001\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3\u3001\u30ec\u30dd\u30fc\u30c6\u30a3\u30f3\u30b0<br \/>\nApplication\u3068Infrastructure\u3092\u3044\u305a\u308c\u3082\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u7ba1\u7406\u3057\u3001build&amp;test\u3057\u3001\u6210\u679c\u7269\u3092\u767b\u9332\u3057\u3001\u30c7\u30d7\u30ed\u30a4\u3059\u308b<br \/>\n\u7e70\u308a\u8fd4\u3057\u7d99\u7d9a\u7684\u306b\u884c\u3046<\/p>\n<p>Tool<\/p>\n<h3>AWS\u4e0a\u7684DevOps\u5de5\u5177<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u307b\u3068\u3093\u3069\u306e\u30b5\u30fc\u30d3\u30b9\u306bAPI\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u21d2\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306e\u6587\u8108\u3067\u30a4\u30f3\u30d5\u30e9\u3092\u5236\u5fa1\u3059\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>\u5404\u8a00\u8a9e\u306eSDK\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\uff08IDE\u5411\u3051\u306e\u30d7\u30e9\u30b0\u30a4\u30f3\u3082\u7528\u610f\u3055\u308c\u3066\u3044\u308b\uff09<\/p>\n<p>Cloud formation<br \/>\nJenkins\u3092\u4f7f\u3063\u305f\u30c7\u30d7\u30ed\u30a4<\/p>\n<h3>\u6700\u4f73\u5b9e\u8df5<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u81ea\u52d5\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\uff1a\u307e\u305a\u306f\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u3057\u3001\u305d\u306e\u5f8c\u30ed\u30b0\uff0f\u30b0\u30e9\u30d5\u306a\u3069\u3092\u7528\u3044\u3066\u30c7\u30d0\u30c3\u30b0\u3059\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30c0\u30c3\u30b7\u30e5\u30dc\u30fc\u30c9\u3067\u901a\u5e38\u6642\u3068\u7570\u5e38\u6642\u3092\u628a\u63e1\u3059\u308b<\/ul>\n<h2>AWS\u5b89\u5168\u6027\u4e4b\u6b7b \\m\/ \u2014\u2014 \u5b89\u5168\u4e4b\u9ca8\u9c7c\u69d8\u7684\u542f\u793a ~ by \u5b89\u5168-JAWS<\/h2>\n<h3>\u7f51\u7edc<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">public subnet \/ private subnet<\/ul>\n<\/li>\n<\/ul>\n<p>public subnet: \u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u76f4\u63a5\u63a5\u7d9a\u53ef\u80fd\u306a\u30b5\u30d6\u30cd\u30c3\u30c8\uff08\u516c\u958b\u30b5\u30fc\u30d0\u3092\u7f6e\u304f\u3001EIP\u3068\u306e\u7d10\u3065\u3051\u3082\u3067\u304d\u308b\uff09<br \/>\nprivate subnet: NAT\u30b2\u30fc\u30c8\u30a6\u30a7\u30a4\u3092\u7d4c\u7531\u3057\u3066\u5185\u21d2\u5916\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u901a\u4fe1\u306f\u53ef\u80fd<\/p>\n<p>statefull \/ stateless<\/p>\n<p>NAT\u914d\u4e0b\u306e\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306eSource Port\u306f\u30cf\u30a4\u30dd\u30fc\u30c8\uff081024-65535\uff09\u304b\u3089\u30e9\u30f3\u30c0\u30e0\u306b\u8a2d\u5b9a\u3055\u308c\u308b<br \/>\nStatefull: \u623b\u308a\u306e\u901a\u4fe1\u3082\u3088\u308d\u3057\u304f\u3057\u3066\u304f\u308c\u308b<br \/>\nStateless\uff1a\u5185\u21d2\u5916\u3082\u66f8\u304b\u306a\u3044\u3068\u3044\u3051\u306a\u3044\uff081024-65535\/tcp\uff09<br \/>\nSecurity Group\u306fStatefull\u21d4Network ACL\uff08subnet\u5358\u4f4d\u3067\u901a\u4fe1\u3092\u5236\u5fa1\uff09\u306fStateless<\/p>\n<p>VPN<\/p>\n<p>\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/p>\n<p>Web\u30b5\u30fc\u30d0\uff0fDB\u30b5\u30fc\u30d0\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u306f\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u3067\u884c\u3044\u305f\u3044\uff08\u5e73\u6587\u3067\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3092\u901a\u3055\u306a\u3044\uff09<br \/>\n\u793e\u5185\u30b7\u30b9\u30c6\u30e0\u3067\u4e8b\u696d\u6240\u3068AWS\u306e\u9593(Direct Connect\u306f\u54c1\u8cea\u3092\u9ad8\u3081\u308b\u3053\u3068\u3082\u3067\u304d\u308b)<br \/>\nAWS\u3092\u65e2\u5b58\u30b7\u30b9\u30c6\u30e0\u306e\u62e1\u5f35\u30ea\u30bd\u30fc\u30b9\u3068\u3057\u3066\u4f7f\u7528\u3059\u308b\u3088\u3046\u306a\u5834\u5408\uff08\u7e41\u5fd9\u671f\u306a\u3069\uff09<\/p>\n<p>VPN\u306e\u5834\u5408\u3001AWS\u5074\u306b\u306f\uff12\u3064\u306eVPN\u30a8\u30f3\u30c9\u30dd\u30a4\u30f3\u30c8\u304c\u7528\u610f\u3055\u308c\u308b\uff08Customer Gateway\u5074\u3067\uff12\u3064\u306e\u30c8\u30f3\u30cd\u30eb\u3092\u5f35\u308b\u5fc5\u8981\u304c\u3042\u308b\uff09<\/p>\n<p>static routing\u3082\u3057\u304f\u306f\u3001BGP\u306b\u3088\u308b\u30c0\u30a4\u30ca\u30df\u30c3\u30af\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\uff08\u5bfe\u5fdc\u6a5f\u7a2e\u306eFAQ\u53c2\u7167\uff09<\/p>\n<p>Direct Connect\uff08\u5c02\u7528\u7dda\u63a5\u7d9a\uff09<\/p>\n<p>\u5b85\u5185\uff5e\u63a5\u7d9a\u30dd\u30a4\u30f3\u30c8\u21d2\u4e00\u822c\u7684\u306b\u306f\u901a\u4fe1\u30ad\u30e3\u30ea\u30a2<br \/>\n\u63a5\u7d9a\u30dd\u30a4\u30f3\u30c8\uff5eAWS\u21d2AWS\u304c\u63d0\u4f9b<br \/>\nVLAN\u5206\u3051\u3092\u3067\u304d\u308b\u30ad\u30e3\u30ea\u30a2\u3068\u3001\u3067\u304d\u306a\u3044\u30b5\u30fc\u30d3\u30b9\u304c\u3042\u308b<br \/>\nTOKAI\u30b3\u30df\u30e5\u30cb\u30b1\u30fc\u30b7\u30e7\u30f3\u30ba\u3001Colt(\u65e7KVH)<\/p>\n<h3>\u7f51\u7edc\u5e94\u7528\u9632\u706b\u5899\uff08WAF\uff09\u548c\u5206\u5e03\u5f0f\u62d2\u7edd\u670d\u52a1\uff08DDoS\uff09<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u5168\u8133\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u82e5\u624b\u306e\u4f1a<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">#### DDoS<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">DDoS\u5bfe\u7b56\uff08\u30b3\u30b9\u30c8\u304c\u304b\u304b\u308b\uff09\u3001DDoS\u3092\u3042\u3048\u3066\u53d7\u3051\u308b\uff08\u843d\u3061\u3066\u3082\u3044\u3044\u30b5\u30a4\u30c8\u3067\u3042\u308c\u3070\u3001\u653e\u7f6e\u3059\u308b\u306e\u3082\u4e00\u3064\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>L3\/L4\uff1aInfrastructure<br \/>\nL7: Application<\/p>\n<p>AWS Shield<\/p>\n<p>CloudFront\u3092\u4f7f\u3063\u3066\u3001Shield\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u6709\u52b9\u5316<br \/>\nShield\u306e\u5f8c\u308d\u306fAWS\u3067\u3082\u3001\u30aa\u30f3\u30d7\u30ec\u3067\u3082\u5bfe\u7b56\u53ef\u80fd<br \/>\n\u9632\u5fa1\u5bfe\u8c61\uff1aCloudFront, ELB, ALB, Route53<br \/>\n\u76e3\u8996\uff1a\u5e38\u306b\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3057\u3066\u30d9\u30fc\u30b9\u30e9\u30a4\u30f3\u306e\u4f5c\u6210\u3001\u7570\u5e38\u691c\u51fa<br \/>\nBasic\u306f\u7121\u6599\u3067\u5229\u7528\u53ef\u80fd\u3001Advanced\u306fDRT\u4ed8\u304d<br \/>\nBilling Protection<br \/>\nDRT\uff1aWAF\u306e\u30c1\u30e5\u30fc\u30cb\u30f3\u30b0\u3084\u30eb\u30fc\u30eb\u4f5c\u6210\u3082\u3084\u308b<br \/>\nCloudFront\u3055\u3048\u5165\u3063\u3066\u3044\u308b\u306a\u3089\u3001\u5c0e\u5165\u3057\u3066\u304a\u304b\u306a\u3044\u624b\u306f\u306a\u3044\uff01<\/p>\n<h4>WAF (\u7f51\u7ad9\u5e94\u7528\u9632\u62a4)<\/h4>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">FW\u3084IDS\/IPS\u3067\u306f\u9632\u3050\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u4e0d\u6b63\u306a\u653b\u6483\u3092\u906e\u65ad\uff08\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u8106\u5f31\u6027\u306a\u3069\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>PCI-DSS 6.6\u306b\u3082WAF\u5c0e\u5165\u306b\u3064\u3044\u3066\u660e\u8a18\u3055\u308c\u3066\u3044\u308b<\/p>\n<p>AWS WAF<\/p>\n<p>\u30ab\u30b9\u30bf\u30e0\u30eb\u30fc\u30eb\uff08IP\u30a2\u30c9\u30ec\u30b9\u5236\u9650\uff0f\u6587\u5b57\u5217\u5236\u9650\uff09\u3001SQLI\/XSS\u3068\u3044\u3063\u305f\u57fa\u672c\u7684\u306a\u5bfe\u7b56\u304c\u53ef\u80fd<br \/>\n\u69cb\u6210\uff1aCloudFront, ELB, ALB\u306b\u4ed5\u8fbc\u3081\u308b\u30de\u30cd\u30fc\u30b8\u30c9WAF<br \/>\n\u30eb\u30fc\u30eb\u3092\u6b63\u898f\u8868\u73fe\u3067\u66f8\u3051\u306a\u3044\u3001WAF\u691c\u77e5\u30ed\u30b0\u306f100\u4ef6\u307e\u3067<\/p>\n<p>AWS WAF \/ WAF on AWS \/ SaaS WAF \/ Cloud WAF\u306e\u6bd4\u8f03<\/p>\n<p>SaaS WAF \/ Cloud WAF: \u6b63\u5e38\u306a\u901a\u4fe1\u306e\u78ba\u8a8d\u3001DNS\u306e\u5411\u304d\u5148\u5909\u66f4\u7a0b\u5ea6\u3067\u5c0e\u5165\u3067\u304d\u308b<br \/>\nWAF on AWS\u306f\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u88fd\u54c1\u304c\u591a\u3044<br \/>\nAWS WAF\u306f\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u9762\u3067\u306f\u7269\u8db3\u308a\u306a\u3044<\/p>\n<p>\u300c\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u958b\u767a\u300d\u306f\u306a\u305c\u6d78\u900f\u3057\u306a\u3044\u306e\u304b<\/p>\n<h4>AWS \u914d\u7f6e<\/h4>\n<p>\u53ef\u4ee5\u901a\u8fc7\u7b80\u5355\u7684\u201c\u53ef\u89c6\u5316\u201d\u6765\u8f7b\u677e\u5730\u67e5\u770b\u590d\u6742\u7684AWS\u8d44\u6e90\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u69cb\u6210\u7ba1\u7406\u3001\u5909\u66f4\u7ba1\u7406\u306e\u305f\u3081\u306e\u30b5\u30fc\u30d3\u30b9\uff08\u3088\u304f\u4f7f\u3046\u30b5\u30fc\u30d3\u30b9\u306f\u5bfe\u5fdc\u6e08\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>\u69cb\u6210\u60c5\u5831\u306e\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306e\u53d6\u5f97<br \/>\n\u5909\u66f4\u5185\u5bb9\u3092\u8ffd\u3046\u3053\u3068\u304c\u3067\u304d\u308b\u3001SNS\u3092\u4f7f\u3063\u305f\u901a\u77e5\u3082\u53ef\u80fd<br \/>\nAWS\u30ea\u30bd\u30fc\u30b9\u9593\u306e\u95a2\u4fc2\u6027\u306e\u78ba\u8a8d\uff08EC2\u3068VPC\/Security Group\/ALB\u3068\u306e\u95a2\u4fc2\uff09<br \/>\nEC2 Systems Manager: \u30a8\u30fc\u30b8\u30a7\u30f3\u30c8\u3092\u5165\u308c\u308b\u3068\u3001OS\u306e\u4e2d\u306e\u60c5\u5831\u3092\u53d6\u308c\u308b\u3001\u30b3\u30f3\u30bd\u30fc\u30eb\u304b\u3089\u30b3\u30de\u30f3\u30c9\u3092\u767a\u884c\u21d2OS\u4e0a\u306e\u5909\u66f4\u7ba1\u7406\u304c\u53ef\u80fd\u306b\u306a\u3063\u305f<br \/>\nIAM\u306e\u69cb\u6210\u7ba1\u7406<\/p>\n<p>\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/p>\n<p>AWS\u30ea\u30bd\u30fc\u30b9\u306e\u4e00\u89a7\u3067AWS\u30ea\u30bd\u30fc\u30b9\u3092\u78ba\u8a8d\u3067\u304d\u308b\u3001\u524a\u9664\u3055\u308c\u305f\u30ea\u30bd\u30fc\u30b9\u306b\u3064\u3044\u3066\u3082\u8ffd\u8de1\u53ef\u80fd<br \/>\n\u3044\u3064\u3001\u3069\u306e\u3088\u3046\u306b\u5909\u66f4\u3055\u308c\u305f\u304b\u3092\u8a18\u9332\u3059\u308b\u306e\u3067\u8a3c\u8de1\u3068\u3057\u3066\u5229\u7528\u53ef\u80fd<br \/>\n\u95a2\u9023\u3059\u308bAWS\u30ea\u30bd\u30fc\u30b9\u3082\u8fbf\u308c\u308b\u306e\u3067\u30c8\u30e9\u30d6\u30eb\u30b7\u30e5\u30fc\u30c8\u3057\u3084\u3059\u3044<\/p>\n<p>AWS Confing Rules<\/p>\n<p>AWS Config\u3067\u8a18\u9332\u3057\u305f\u8a2d\u5b9a\u304c\u6b63\u3057\u3044\u304b\u3092\u5224\u5b9a\u3059\u308b\u30eb\u30fc\u30eb\u3092\u5b9a\u7fa9\u3067\u304d\u308b<br \/>\n\u4f8b<\/p>\n<p>\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30b0\u30eb\u30fc\u30d7\u304c\u30d5\u30eb\u30aa\u30fc\u30d7\u30f3<br \/>\nMFA\u8a2d\u5b9a\u3057\u3066\u3044\u306a\u3044<br \/>\nACM\u306e\u8a3c\u660e\u66f8\u306e\u6709\u52b9\u671f\u9650\u304c\u3042\u3068\u5c11\u3057<\/p>\n<p>\u30de\u30cd\u30fc\u30b8\u30c9\u30eb\u30fc\u30eb<\/p>\n<p>Instance\u306btag\u3092\u3064\u3051\u3066\u3044\u308b\u304b\uff1f\uff08billing\u306e\u305f\u3081\u306b\u3001\u4f5c\u3063\u305f\u4eba\uff0f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u540d\u3092\u3064\u3051\u308b\uff09<br \/>\nSecurityGroup\u304c\u30d5\u30eb\u30aa\u30fc\u30d7\u30f3\u306b\u306a\u3063\u3066\u3044\u308b\u304b\uff1f<\/p>\n<p>\u30ab\u30b9\u30bf\u30e0\u30eb\u30fc\u30eb<\/p>\n<p>\u5224\u5b9a\u6a5f\u69cb\u306fLambda\u3067\u5b9f\u88c5\u21d2\u6975\u8ad6\u3001\u4fee\u6b63\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b<br \/>\nawslabs\u306b\u30ab\u30b9\u30bf\u30e0\u30eb\u30fc\u30eb\u304c\u516c\u958b\u3055\u308c\u3066\u3044\u308b\uff08\u73fe\u572834\uff09<\/p>\n<p>AWS Config\u3092\u6709\u52b9\u5316\u3057\u3066\u53ef\u8996\u5316<\/p>\n<p>Auto Scalliing\u3067\u3001\u983b\u7e41\u306b\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u8d77\u52d5\uff0f\u524a\u9664\u3092\u3057\u3066\u3044\u306a\u3051\u308c\u3070\u3001\u8ab2\u91d1\u984d\u306f\u5927\u304d\u304f\u306a\u3044<\/p>\n<h2>\u5177\u5907\u4e9a\u9a6c\u900aLex\u529f\u80fd\u7684\u804a\u5929\u673a\u5668\u4eba<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Amazon Lex\uff1a\u97f3\u58f0\uff0f\u30c6\u30ad\u30b9\u30c8\u51e6\u7406<\/ul>\n<\/li>\n<\/ul>\n<p>Alexa\u3068\u540c\u3058\u6280\u8853\u3067\u63d0\u4f9b\u3055\u308c\u3066\u3044\u308b<br \/>\n\u97f3\u58f0\u8a8d\u8b58\uff0b\u81ea\u7136\u8a00\u8a9e\u51e6\u7406<\/p>\n<p>\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8<\/p>\n<p>\u30e6\u30fc\u30b6\u5165\u529b\u21d2\u51fa\u529b<br \/>\nIntents\uff1a\u610f\u56f3\uff08Utterance\/Slots\uff09<br \/>\nFulfillment\uff1a\u51e6\u7406<\/p>\n<p>Utterance<\/p>\n<p>Intent\uff08\u4f8b\uff1aRegisteruserForEvent\uff09\u306b\u5bfe\u3057\u3066\u30e6\u30fc\u30b6\u5165\u529b\u3092\u7d10\u3065\u3051\u308b<br \/>\nSample utterance\u3092\u8907\u6570\u4e8b\u524d\u306b\u5b9a\u7fa9\u3059\u308b<br \/>\n\u53cd\u5fa9\u3057\u3066\u5b66\u7fd2\u3059\u308b\u3053\u3068\u306b\u3088\u3063\u3066\u30e6\u30fc\u30b6\u5165\u529b\u306e\u8a00\u3044\u56de\u3057\u306e\u63fa\u308c\u3092\u5438\u53ce\uff08\u5f90\u3005\u306b\u6539\u5584\u3057\u3066\u3044\u304f\uff09<\/p>\n<p>Slot<\/p>\n<p>SLOT NAME: eventDate, SLOT TYPE: AMAZON.DATE<br \/>\n12 March 2017 \/ tomorrow\u307f\u305f\u3044\u306a\u63fa\u308c\u3092\u5438\u53ce\u3067\u304d\u308b<\/p>\n<p>Fulfilment<\/p>\n<p>AWS Lambda\u3068\u306e\u7d71\u5408\u21d2\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u306b\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u8fd4\u3059<\/p>\n<p>\u8907\u6570\u306eintent\u3092flow\u306b\u3059\u308b\u3053\u3068\u3067\u3001\u3088\u308a\u81ea\u7136\u306a\u5bfe\u8a71\u304c\u53ef\u80fd\u306b\u306a\u308b<\/p>\n<p>\u3082\u3046\u5c11\u3057\u77e5\u308a\u305f\u3044\u3067\u3059\u304b\uff1f \u21d2 yes \u21d2 \u6b21\u306eintent\u306b\u7e4b\u3052\u308b<br \/>\n\u66d6\u6627\u306a\u7b54\u3048\u306e\u5834\u5408\u306f\u3001\u30d7\u30ed\u30f3\u30d7\u30c8\u3092\u51fa\u3059\uff08\u300c&#8221;yes&#8221;\u304b&#8221;no&#8221;\u3067\u7b54\u3048\u3066\u304f\u3060\u3055\u3044\u300d\uff09<\/p>\n<p>Lambda\u3068\u306e\u7d71\u5408<\/p>\n<p>Lex\u304c\u30e6\u30fc\u30b6\u5165\u529b\u3092parse\u3057\u3001intent\/slots\u3092\u6e21\u3057\u3066lambda\u3092\u8d77\u52d5\u3001lambda\u304b\u3089\u30ec\u30b9\u30dd\u30f3\u30b9\u3092\u8fd4\u3059<br \/>\ndialogAction\uff1a\u4f1a\u8a71\u306e\u6d41\u308c\u3092\u3064\u304b\u3055\u3069\u308b\uff08\u4f8b\uff1aConfirmIntent\uff09<br \/>\nfacebook\u306e\u5834\u5408\u3001Response card\u3092\u8fd4\u3059\u3053\u3068\u3082\u3067\u304d\u308b\uff08\u30e6\u30fc\u30b6\u306b\u9078\u629e\u80a2\u30ea\u30b9\u30c8\u3092\u63d0\u793a\uff09<\/p>\n<p>Lambda Function\u306e\u5b9f\u88c5\u4f8b<\/p>\n<p>switch\u3067intent\u3054\u3068\u306e\u51e6\u7406\u3092\u5b9a\u7fa9\u3057\u3066\u30011 function\u3067\u8907\u6570intent\u3092\u51e6\u7406<br \/>\nLexResponseBuilder\u3067\u30ec\u30b9\u30dd\u30f3\u30b9\u3092build<\/p>\n<p>English Only\u3067launch\u3059\u308b\u304c\u3001\u8907\u6570\u8a00\u8a9e\u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u30ed\u30fc\u30c9\u30de\u30c3\u30d7<\/p>\n<p>\u958b\u767a\u8005\u304b\u3089AWS Japan\u3078\u30d7\u30ec\u30c3\u30b7\u30e3\u30fc\u3092\uff01<\/p>\n<p>\u6700\u521d\u306f\u3088\u304f\u30c6\u30b9\u30c8\u3057\u3066\u3001\u30a8\u30e9\u30fc\u304c\u591a\u3044\u3088\u3046\u3067\u3042\u308c\u3070intent\u3092\u7d30\u304b\u304f\u8a2d\u5b9a\u3059\u308b\u306a\u3069\u306e\u5de5\u592b\u304c\u5fc5\u8981<\/p>\n<h2>\u65e0\u670d\u52a1\u5668\u7684\u73b0\u5728\u4e0e\u672a\u6765<\/h2>\n<h3>\u65e0\u670d\u52a1\u5668<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d1\u30e9\u30c0\u30a4\u30e0\u30b7\u30d5\u30c8<\/ul>\n<\/li>\n<\/ul>\n<p>\u30b5\u30fc\u30d0\u304c\u8981\u3089\u306a\u3044\u3068\u3044\u3046\u3053\u3068\u3067\u306f\u306a\u304f\u3001\u958b\u767a\u8005\u306f\u30b5\u30fc\u30d0\u306b\u3064\u3044\u3066\u300c\u8003\u3048\u306a\u304f\u3066\u3082\u3088\u304f\u306a\u308b\u300d<br \/>\n2014\u5e74\u672b\u306ere:Invent\u306b\u3066Lambda\u306e\u767a\u8868<br \/>\n\u6700\u5927\u306e\u7279\u5fb4\u306f\u3001\u8ab2\u91d1\u306f\u4f7f\u3063\u305f\u5206\u3060\u3051\uff08\u30e1\u30e2\u30ea\u00d7\u6642\u9593\u00d7\u5b9f\u884c\u56de\u6570\uff09<\/p>\n<p>Function as a Service<\/p>\n<p>\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u306b\u304a\u3051\u308b\u8cac\u52d9<\/p>\n<p>Stateful &gt;&gt; Stateless<br \/>\n\u6c38\u7d9a\u30c7\u30fc\u30bf &gt;&gt; \u63ee\u767a\u6027<br \/>\n\u30d0\u30c3\u30c1 &gt;&gt; \u30a4\u30d9\u30f3\u30c8\u30c9\u30ea\u30d6\u30f3<\/p>\n<p>Lambda goes everywhere<\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u30d9\u30fc\u30b9\u306e\u5b9f\u884c\u74b0\u5883\u306fportability\u304c\u9ad8\u3044\u306e\u3067\u3001\u3044\u308d\u3044\u308d\u306a\u3068\u3053\u308d\u306b\u30c7\u30d7\u30ed\u30a4\u3067\u304d\u308b<br \/>\nAthena\u306e\u57fa\u76e4\u3082Lambda<br \/>\nGreengrass(AWS IoT)<br \/>\nCloudFront\u306eEdge\u306e\u4e0a<\/p>\n<h3>\u4ee3\u8868\u6027\u8f83\u9ad8\u7684\u65e0\u670d\u52a1\u5668\u67b6\u6784<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">UI\u30c9\u30ea\u30d6\u30f3\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/ul>\n<\/li>\n<\/ul>\n<p>\u8a8d\u8a3c\u30ed\u30b8\u30c3\u30af\u3092BaaS\u3001DynamoDB\u306b\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u304b\u3089\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u3001SPA\uff0bAPI Gateway<\/p>\n<p>\u30e1\u30c3\u30bb\u30fc\u30b8\u30c9\u30ea\u30d6\u30f3\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3<\/p>\n<p>\u30aa\u30f3\u30e9\u30a4\u30f3\u5e83\u544a\u30b7\u30b9\u30c6\u30e0<br \/>\n\u30b3\u30f3\u30c6\u30f3\u30c4\u306e\u30b5\u30e0\u30cd\u30a4\u30eb\u4f5c\u6210\uff08image magic\u3092\u8f09\u305b\u305flambda\uff09<br \/>\n\u30ed\u30b0\u306e\u30b9\u30c8\u30ea\u30fc\u30e0\u30d7\u30ed\u30bb\u30c3\u30b7\u30f3\u30b0\uff08kinesis\/kafka\u304b\u3089\u53d6\u3063\u3066\u3001\u52a0\u5de5\u3057\u3066\u3001S3\u3084Dynamo\u306b\u5165\u308c\u308b\uff09<\/p>\n<h3>\u751f\u6001\u7cfb\u7edf<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u4e8b\u696d\u8005\u3001\u30d5\u30ec\u30fc\u30e0\u30ef\u30fc\u30af\u3084\u30c4\u30fc\u30eb\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u8005<\/ul>\n<\/li>\n<\/ul>\n<p>\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u8005\u306e\u30ce\u30a6\u30cf\u30a6\u767a\u4fe1\u304c\u8db3\u308a\u306a\u3044<br \/>\ncloud pack\u306e\u6bce\u65e5\u653e\u9001\u4e8b\u4f8b<\/p>\n<p>Serverless framework, Apex, Lamvery, Swagger, AWS Serverless Application Model(SAM), Postman&#8230;<br \/>\nSAM<\/p>\n<p>CloudFormation\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3067\u7ba1\u7406\u3067\u304d\u308b<br \/>\nlambda, API Gateway, DynamoDB\u304c\u30b5\u30dd\u30fc\u30c8\u3055\u308c\u3066\u3044\u308b<br \/>\napp-spec.yaml -&gt; CloudFormation\uff08code\u306fS3\u7d4c\u7531\u3067\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u308b\uff09<\/p>\n<h3>\u7531\u4e8e\u65e0\u670d\u52a1\u5668\u67b6\u6784\uff0c\u53ef\u4ee5\u505a\u4e9b\u4e8b\u60c5\u3002<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">10X Product Development<\/ul>\n<\/li>\n<\/ul>\n<p>TypeScript\u3057\u304b\u66f8\u304b\u305a\u3001\u3042\u3068\u306f\u5916\u90e8\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u4f7f\u3063\u3066\u3044\u308b<br \/>\nfirebase\uff08auth\uff09, Netlify\uff08static site hosting\uff09, Cloudinary\uff08\u753b\u50cf\u7ba1\u7406\uff09, Algolia\uff08\u691c\u7d22\uff09<\/p>\n<p>Serverless, NoOpes and the Tooth Fairy<\/p>\n<p>\u6765\u308b\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9\u306a\u672a\u6765\u3067\u306f\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u958b\u767a\u8005\u304c\u904b\u7528\u306b\u8cac\u4efb\u3092\u6301\u3064<br \/>\n\u30d7\u30ed\u30d0\u30a4\u30c0\u306e\u6280\u8853\u60c5\u5831\u3084\u3001\u5185\u90e8\u6280\u8853\u304c\u4f55\u306b\u4f9d\u5b58\u3057\u3066\u3044\u308b\u304b\u7406\u89e3\u3059\u308b<br \/>\n\u53ef\u8996\u6027\u304c\u4e0b\u304c\u308b\u3001\u81ea\u5206\u81ea\u8eab\u3067\u554f\u984c\u3092fix\u3067\u304d\u306a\u3044\u3057\u65b0\u6a5f\u80fd\u3092\u5b9f\u88c5\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u306a\u3044<br \/>\n\u58f2\u308c\u3066\u3044\u306a\u3044\u30b5\u30fc\u30d3\u30b9\u306f\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3055\u308c\u308b\u304b\u3082<\/p>\n<p>\u65e5\u7d4c\u65b0\u805e\u4e8b\u4f8b\uff08\u7d19\u9762\u30d3\u30e5\u30fc\u30a2\u30fc\uff09<\/p>\n<p>\u6700\u592718,000\u56de\/1\u5206\u9593\u306einvocation<\/p>\n<p>\u30b7\u30b9\u30c6\u30e0\u3092\u30ea\u30a2\u30af\u30c6\u30a3\u30d6\u306b\u8a2d\u8a08\u3059\u308b<\/p>\n<p>\u30a4\u30d9\u30f3\u30c8\u306e\u767a\u706b\u3084webhook\u306a\u3069\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u308b\u5468\u8fba\u306e\u30de\u30cd\u30fc\u30b8\u30c9\u30b5\u30fc\u30d3\u30b9\u3068\u3046\u307e\u304f\u3064\u306a\u3044\u3067\u3044\u308b<br \/>\n\u30b7\u30f3\u30d7\u30eb\u306a\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066<br \/>\n\u4e00\u5ea6\u30c8\u30e9\u30a4\u30a2\u30eb\u3057\u3066\u304a\u304d\u3001\u3044\u3056\u6d3b\u7528\u3059\u308b\u524d\u306b\u306f\u307e\u308a\u3069\u3053\u308d\u306a\u3069\u5224\u65ad<\/p>\n<h3>SPA\u7684\u5f00\u53d1\u6d41\u7a0b<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d3\u30e5\u30fc\uff0f\u30a2\u30d7\u30ea\uff08js\uff09\u958b\u767a<\/ul>\n<\/li>\n<\/ul>\n<p>\u30d3\u30e5\u30fc\u306e\u4f5c\u6210<br \/>\n\u30c6\u30b9\u30c8\u99c6\u52d5\u3067\u30a2\u30d7\u30ea\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\uff08\u30c6\u30b9\u30c8\u304c\u306a\u3044\u3068\u3001\u7d71\u5408\u6642\u306b\u554f\u984c\u304c\u8d77\u3053\u3063\u305f\u3068\u304d\u306e\u5207\u308a\u5206\u3051\u304c\u56f0\u96e3\uff09<br \/>\n\u4f8b\uff1ajQuery+Jasmine<br \/>\n\u30ed\u30fc\u30ab\u30eb\u3067\u958b\u767a\u53ef\u80fd\u3001\u30c1\u30fc\u30e0\u958b\u767a\u304c\u306f\u3058\u307e\u3063\u305f\u3089S3\u3067<br \/>\n\u30c6\u30b9\u30c8\u6642\u306e\u30d6\u30e9\u30a6\u30b6\u30ad\u30e3\u30c3\u30b7\u30e5\u306b\u6ce8\u610f\uff08chrome\u306e\u958b\u767a\u8005\u30c4\u30fc\u30eb\u3067disable cache\u3059\u308b\u3068\u304b\uff09<br \/>\nAWS\u306b\u7e4b\u3050\u524d\u306b\u3001\uff11\u884c\u66f8\u3044\u305f\u3089\uff11\u884c\u30c6\u30b9\u30c8<\/p>\n<p>Cognito\u3092\u4f7f\u3063\u305f\u8a8d\u8a3c+\u30d5\u30a7\u30c7\u30ec\u30fc\u30b7\u30e7\u30f3<\/p>\n<p>\u4f8b\uff1aGoogle+<br \/>\nGoogle\u3067\u8a8d\u8a3c\u3057\u3066ID\u304c\u6255\u3044\u51fa\u3055\u308c\u308b<br \/>\n\u30d6\u30e9\u30a6\u30b6\u304cCognito\u306bJS\u3067\u30a2\u30af\u30bb\u30b9\u3001Cognito\u304cGoogle\u306b\u691c\u8a3c\u3001OK\u3067\u3042\u308c\u3070DynamoDB\u66f8\u304d\u8fbc\u307f\u6a29\u9650\u3092\u6255\u3044\u51fa\u3059<\/p>\n<p>DynamoDB\u3092\u4f7f\u3063\u305f\u30c7\u30fc\u30bf\u306e\u7ba1\u7406<br \/>\nLambda\u3067\u30b7\u30b9\u30c6\u30e0\u5f37\u5316<\/p>\n<p>DynamoDB\u76f4\u63a5\u8aad\u307f\u66f8\u304d\u3067\u306f\u4ed5\u7d44\u307f\u3068\u3057\u3066\u3067\u304d\u3066\u3057\u307e\u3046\u3001\u300c\u4e0d\u6b63\u306a\u30af\u30a8\u30ea\u304b\u3089\u306e\u4fdd\u8b77\u300d\uff08lambda\u3067validation\u3059\u308b\u306a\u3069\uff09<br \/>\n\u300c\u30e6\u30fc\u30b6\u5168\u54e1\u5206\u306e\u96c6\u8a08\u300d\u306a\u3069\u306e\u60c5\u5831\u63d0\u4f9b\u306e\u305f\u3081<\/p>\n<p>Serverless Single Page Apps<\/p>\n<p>Ben Rady\u8457\u3001Step by Step\u30ac\u30a4\u30c9\uff08\u65e5\u672c\u8a9e\u7248\u304c\u9593\u3082\u306a\u304f\u51fa\u308b\u4e88\u5b9a\uff09<\/p>\n<h3>\u4ec5\u63d0\u4f9b\u4e00\u79cd\u4e2d\u6587\u7ffb\u8bd1\uff1a<\/h3>\n<p>\u53c2\u8003\uff08\u5728\u67d0\u4e9b\u5730\u65b9\u88ab\u63d0\u53ca\u7684\u5176\u4ed6\u62a5\u544a\uff09<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b5\u30fc\u30d0\u30fc\u30ec\u30b9\u3067\u30b7\u30b9\u30c6\u30e0\u3092\u958b\u767a\u3059\u308b\u6642\u306b\u5927\u5207\u306a\u4e8b<\/ul>\n<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" title=\"\u30b5\u30fc\u30cf\u3099\u30fc\u30ec\u30b9\u3066\u3099\u30b7\u30b9\u30c6\u30e0\u3092\u958b\u767a\u3059\u308b\u6642\u306b\u2f24\ufa00\u306a\u4e8b\" src=\"https:\/\/www.slideshare.net\/slideshow\/embed_code\/key\/qMSfcT8HMKyBI\" width=\"427\" height=\"356\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" style=\"border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;\" allowfullscreen> <\/iframe> <\/p>\n<div style=\"margin-bottom:5px\"> <strong> <a href=\"https:\/\/www.slideshare.net\/slideshow\/ss-73049142\/73049142\" title=\"\u30b5\u30fc\u30cf\u3099\u30fc\u30ec\u30b9\u3066\u3099\u30b7\u30b9\u30c6\u30e0\u3092\u958b\u767a\u3059\u308b\u6642\u306b\u2f24\ufa00\u306a\u4e8b\" target=\"_blank\">\u30b5\u30fc\u30cf\u3099\u30fc\u30ec\u30b9\u3066\u3099\u30b7\u30b9\u30c6\u30e0\u3092\u958b\u767a\u3059\u308b\u6642\u306b\u2f24\ufa00\u306a\u4e8b<\/a> <\/strong> from <strong><a href=\"https:\/\/www.slideshare.net\/hiroyukihiki\" target=\"_blank\">Hiroyuki Hiki<\/a><\/strong> <\/div>\n<h2>[\u4e9a\u9a6c\u900a\u4e91\u5de5\u4f5c\u574a] \u4f53\u9a8c\u4e00\u4e0bAmazon Kinesis Analytics<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">https:\/\/jaws-days.doorkeeper.jp\/events\/57980<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">https:\/\/github.com\/bdjaws\/share\/tree\/master\/20170311<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">http:\/\/qiita.com\/takada_tf\/items\/f03c36eed9e22eb74744<\/ul>\n<h3>\u52a8\u529b\u5b66<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30e2\u30c1\u30d9\u30fc\u30b7\u30e7\u30f3<\/ul>\n<\/li>\n<\/ul>\n<p>\u51e6\u7406\u3057\u305f\u7d50\u679c\u3092\u8907\u6570\u30b7\u30b9\u30c6\u30e0\u306b\u9001\u308b\u5fc5\u8981\u304c\u3042\u308b<\/p>\n<p>kafka or Kinesis Streams<\/p>\n<p>\u3057\u304b\u3082\u6a5f\u68b0\u5b66\u7fd2\u3092\u884c\u306a\u3046<\/p>\n<p>Spark Streaming or Storm<\/p>\n<p>Kinesis<\/p>\n<p>Streams<\/p>\n<p>\u30de\u30cd\u30fc\u30b8\u30c9kafka\u306e\u30a4\u30e1\u30fc\u30b8\uff1a\u5165\u51fa\u529b\u306b\u5236\u9650\u306f\u3042\u308b\uff08\u5165\u529b\uff1a\u79d2\u95931MB\u307e\u305f\u306f1,000put\uff09<\/p>\n<p>Firehose\uff1aS3, Redshift\u3078\u7c21\u5358\u306b\u914d\u4fe1<br \/>\nAnalytics\uff1aSQL\u30af\u30a8\u30ea\u30fc<\/p>\n<p>Stream Source\/Destination\uff08Stream\u304bFirehose\uff09<\/p>\n<p>\u5165\u529b\u5074\u3092\u6c7a\u5b9a\u3059\u308b\uff08Strems or firehouse\uff09<br \/>\n\u5165\u529b\u30c7\u30fc\u30bf\u306e\u578b\u5b9a\u7fa9\u3092\u304a\u3053\u306a\u3046<br \/>\nSQL\u5206\u3092\u4f5c\u6210\u3001\u30c7\u30d7\u30ed\u30a4<br \/>\n\u51fa\u529b\u5148\u3092\u6c7a\u5b9a\u3059\u308b\uff08Strems or firehouse\uff09<\/p>\n<p>kinesis demo stremas\u306f\u826f\u304f\u505c\u6b62\u3059\u308b\u306e\u3067\u6ce8\u610f\u30fb\u30fb\u30fb<\/p>\n<p>\u30c7\u30fc\u30bf\u5b9a\u7fa9\u306f\u5927\u6587\u5b57\u3067\u5b9a\u7fa9\uff08\u3082\u3057\u304f\u306fselect\u53e5\u3092\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u3067\u631f\u3080\uff09<\/p>\n<h3>\u7a97\u6237\u7684\u6982\u5ff5<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Tumbling Window\uff08\u4f8b\uff1a1\u5206\u3054\u3068\u306b\u51fa\u529b\uff09<\/ul>\n<\/li>\n<\/ul>\n<p>FLOOR((&#8220;SOURCE_SQL_STREAM_001&#8221;.ROWTIME &#8211; TIMESTAMP &#8216;1970-01-01 00:00:00&#8217;) SECOND \/ 10 TO SECOND)<br \/>\n10 TO SECOND\u21d210\u79d2\u9593\u9694<\/p>\n<p>Sliding Window\uff08\u30c7\u30fc\u30bf\u304c\u6d41\u308c\u3066\u304d\u305f\u3089\u51fa\u529b\u3092\u958b\u59cb\u3059\u308b\uff09<\/p>\n<p>Time(60sec\uff1a\u30ec\u30b3\u30fc\u30c9\u53d7\u4fe1\u3092\u30c8\u30ea\u30ac\u30fc\u306b\u76f4\u8fd160sec\u5206\u3092\u96c6\u8a08)<br \/>\nRow(2rows\uff1a\u81ea\u5206+\u76f4\u8fd12\u30ec\u30b3\u30fc\u30c9)<br \/>\n\uff11\u3064\u306edestination\u306b\u5bfe\u3057\u3066\u3001Time\u3068Row\u3092\u4e21\u65b9\u8a2d\u5b9a\u3067\u304d\u308b<\/p>\n<h3>\u6dfb\u52a0\u53c2\u8003\u6570\u636e<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">AWS CLI\u3067\u306e\u307f\u8ffd\u52a0\u304c\u53ef\u80fd<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4f8b\uff1aS3\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u898b\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u73fe\u72b6\u3001Reference Data\u3092\u8ffd\u52a0\u3059\u308b\u3068\u52d5\u4f5c\u3057\u306a\u3044\uff08\u30b5\u30dd\u30fc\u30c8\u78ba\u8a8d\u4e2d\uff09<\/ul>\n<h3>\u6982\u62ec<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Firehose -&gt; Elastic Search -&gt; Kibana\u3068\u3059\u3079\u3066AWS\u30b3\u30f3\u30bd\u30fc\u30eb\u3067\u8a2d\u5b9a\u53ef\u80fd<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u69cb\u7bc9\u306f\u975e\u5e38\u306b\u697d\u3001\u6a19\u6e96SQL\u3001Firehose\u3067\u63a5\u7d9a\u304c\u7c21\u5358<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d0\u30b0\u304c\u591a\u3044\u3001\u6027\u80fd\u8a55\u4fa1\u304c\u3057\u306b\u304f\u3044<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">kinesis streams\u306fzookeeper\u306e\u7ba1\u7406\u304c\u4e0d\u8981\u3001KPL\u3068\u4f75\u7528\u3059\u308c\u3070\u975e\u5e38\u306b\u5b89\u3044<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Analytics\u306f\u7c21\u5358\u306a\u96c6\u8a08\u51e6\u7406\u306a\u3089\u3088\u3044\u304c\u3001\u8907\u96d1\u306a\u51e6\u7406\u306fSpark Streaming\u7b49\u3092\u5229\u7528\u3057\u305f\u307b\u3046\u304c\u3088\u3044<\/ul>\n<h2>\u3010Alexa\u4e4b\u65c5\u3011\u5c1d\u8bd5\u73a9\u8f6cAlexa\u6280\u80fd\u5de5\u5177\u5305\u3010\u57fa\u7840\u7bc7\u3011<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">https:\/\/jaws-days.doorkeeper.jp\/events\/57025<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">https:\/\/github.com\/sparkgene\/jawsdays-ask-handson-beginners\/wiki<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u7ea2\u9885\u9aa8\u5448\u73b0\u300a\u5982\u679c\u5728AWS\u4e0a\u8fdb\u884c\u5e94\u7528\u5f00\u53d1\uff0c\u9700\u8981\u4e86\u89e3\u7684\u4e8b\u9879\u300b \u67b6\u6784\u6700\u4f73\u5b9e\u8df5 Design for failure  [&hellip;]<\/p>\n","protected":false},"author":12,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-47263","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684jaws-days-2017\u4f1a\u8bae\u7b14\u8bb0\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0\" \/>\n<meta property=\"og:description\" content=\"\u7ea2\u9885\u9aa8\u5448\u73b0\u300a\u5982\u679c\u5728AWS\u4e0a\u8fdb\u884c\u5e94\u7528\u5f00\u53d1\uff0c\u9700\u8981\u4e86\u89e3\u7684\u4e8b\u9879\u300b \u67b6\u6784\u6700\u4f73\u5b9e\u8df5 Design for failure [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684jaws-days-2017\u4f1a\u8bae\u7b14\u8bb0\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-28T20:59:32+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-05-04T11:29:37+00:00\" \/>\n<meta name=\"author\" content=\"\u9038, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u9038, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/\",\"name\":\"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-06-28T20:59:32+00:00\",\"dateModified\":\"2024-05-04T11:29:37+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487\",\"name\":\"\u9038, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g\",\"caption\":\"\u9038, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684jaws-days-2017\u4f1a\u8bae\u7b14\u8bb0\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0","og_description":"\u7ea2\u9885\u9aa8\u5448\u73b0\u300a\u5982\u679c\u5728AWS\u4e0a\u8fdb\u884c\u5e94\u7528\u5f00\u53d1\uff0c\u9700\u8981\u4e86\u89e3\u7684\u4e8b\u9879\u300b \u67b6\u6784\u6700\u4f73\u5b9e\u8df5 Design for failure [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684jaws-days-2017\u4f1a\u8bae\u7b14\u8bb0\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-06-28T20:59:32+00:00","article_modified_time":"2024-05-04T11:29:37+00:00","author":"\u9038, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u9038, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/","name":"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-06-28T20:59:32+00:00","dateModified":"2024-05-04T11:29:37+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"2017\u5e743\u670811\u65e5\u53c2\u52a0\u7684JAWS DAYS 2017\u4f1a\u8bae\u7b14\u8bb0"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/85c1dae56e6ea1e695c73d33c684d487","name":"\u9038, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c94f6d9cbbfbca863fab309840bd690c153c95f8490c290ad2ed54dd693dad16?s=96&d=mm&r=g","caption":"\u9038, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keyi\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/2017%e5%b9%b43%e6%9c%8811%e6%97%a5%e5%8f%82%e5%8a%a0%e7%9a%84jaws-days-2017%e4%bc%9a%e8%ae%ae%e7%ac%94%e8%ae%b0%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47263","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=47263"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47263\/revisions"}],"predecessor-version":[{"id":100229,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47263\/revisions\/100229"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=47263"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=47263"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=47263"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}