{"id":2068,"date":"2021-08-03T22:00:06","date_gmt":"2021-08-03T14:00:06","guid":{"rendered":"https:\/\/9incloud.com\/?p=2068"},"modified":"2021-08-05T18:10:30","modified_gmt":"2021-08-05T10:10:30","slug":"aws-nat-gateway-layout","status":"publish","type":"post","link":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout","title":{"rendered":"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a"},"content":{"rendered":"\n

\u4e00\u822c\u5728\u500b\u4eba AWS \u6e2c\u8a66\u5e33\u865f\u4e2d\uff0c\u61c9\u8a72\u5f88\u5c11\u6703\u9577\u671f\u53bb\u958b\u555f AWS NAT Gateway\uff0c\u56e0\u70ba\u50f9\u683c\u6eff\u8cb4\uff0c\u958b\u555f\u4e00\u500b\u6bcf\u6708\u5c31\u8981\u50f9\u5927\u7d04 1245 \u53f0\u5e63(\u4ee5\u76ee\u524d\u532f\u7387\u4f86\u8a08\u7b97)\uff0c\u800c\u4e14 AWS NAT Gateway \u4e26\u975e\u5728 free tier \u7684\u65b9\u6848\u88e1\u9762\uff0c\u4e5f\u5c31\u662f\u5982\u679c\u8981\u6e2c\u8a66\u7684\u8a71\uff0c\u90fd\u662f\u6703\u7522\u751f\u8cbb\u7528\u7684\uff0c\u9019\u90e8\u5206\u5c31\u8981\u7279\u5b9a\u5c0f\u5fc3<\/p>\n\n\n\n

\u800c\u4e00\u822c\u5728\u4f01\u696d\u4e2d\uff0c\u6b63\u5f0f production \u74b0\u5883\u4e2d\u5982\u679c Lambda \u9700\u8981\u639b\u4e0a VPC \u9023\u7dda\u975e AWS \u670d\u52d9\u7684\u5916\u7db2\uff0c\u5982 call third party sms API\u3001push API\u3001Server \u5b89\u5168\u6027\u66f4\u65b0\u7b49\u7b49…\uff0c\u52e2\u5fc5\u662f\u9700\u8981\u958b\u555f NAT Gateway\uff0c\u7576\u7136\u5982\u679c Lambda \u53ea\u9700\u8981\u5728 VPC \u5167\u9023\u7dda AWS \u670d\u52d9\uff0c\u53ef\u4ee5\u4f7f\u7528 VPC endpoints<\/a> \u5c31\u597d\uff0c\u9054\u5230\u7bc0\u8cbb\u7684\u6548\u679c\uff0c\u800c\u53e6\u5916\u5e38\u898b\u7684 Server \u670d\u52d9\uff0c\u4e0d\u8ad6\u5728 EC2 or ECS \u4e2d\uff0c\u6703\u5e0c\u671b\u653e\u5728 VPC private subnet \u4e2d\uff0c\u7d93\u7531 ELB \u63d0\u4f9b\u5c0d\u5916\u7684\u9023\u7dda\u670d\u52d9\uff0c\u5982\u679c\u662f\u9019\u7a2e\u4f7f\u7528\u65b9\u5f0f\uff0c\u800c Server \u53c8\u9700\u8981\u9023\u7dda\u975e AWS \u670d\u52d9\u7684\u5916\u7db2\uff0c\u52e2\u5fc5\u4e5f\u662f\u9700\u8981\u958b\u555f NAT Gateway<\/p>\n\n\n\n

\u00a0<\/p>\n

NAT Gateway \u76f8\u8f03\u65bc NAT instances \u4f86\u8aaa\uff0c\u672c\u8eab\u5728\u55ae\u4e00 AZ \u4e2d\u5df2\u7d93\u6709\u5be6\u4f5c High Available\uff0c\u53ef\u53c3\u8003 AWS \u6587\u4ef6<\/a>\u4e2d\u7684\u8aaa\u660e\uff0c\u4f46\u5982\u679c\u55ae\u4e00 AZ \u5982\u679c\u56e0\u70ba\u5929\u707d\u4eba\u798d(\u5982\u505c\u96fb)\u800c\u5931\u6548\uff0c\u4ee3\u8868\u670d\u52d9\u4e5f\u5c31\u8ddf\u8457\u6c92\u8fa6\u6cd5\u9023\u7dda\u51fa\u53bb\uff0c\u6240\u4ee5\u4e00\u822c\u6703\u7528 Multi-AZ \u4f86\u505a HA Redundancy \u9054\u5230 failover\uff0c\u63a5\u8457\u4f86\u770b\u4e00\u5f35\u5716<\/p>\n<\/div>\n\n\n\n

\"\"<\/a>
Hint: \u9ede\u5716\u53ef\u653e\u5927<\/strong><\/span><\/figcaption><\/figure>\n\n\n\n

\u00a0<\/p>\n

\u9019\u5f35\u5716\u4f7f\u7528 2 \u500b API Gateway \u5206\u5225\u5728\u5169\u500b AZ \u4e2d\u505a HA, \u800c\u5728\u8a2d\u5b9a\u4e0a\uff0c\u8a18\u5f97 NAT Gateway \u672c\u8eab\u8981\u653e\u5728 public subnet (\u5982\u5716\u4e2d\u7da0\u8272 icon \u5340\u584a)\uff0c\u4e5f\u5c31\u662f\u9019\u500b public subnet \u7684 route table \u662f\u9700\u8981\u6307\u5411 IGW (Internet Gateway)\uff0c\u70ba\u4ec0\u9ebc NAT Gateway \u4e00\u5b9a\u8981\u653e public subnet \uff1f\u56e0\u70ba NAT Gateway \u672c\u8eab\u624d\u80fd\u7d81\u5b9a public ip \u5f8c\uff0c\u7136\u5f8c\u5177\u6709\u9023\u7dda Internet \u7684\u529f\u80fd<\/p>\n

\u800c ECS or Lambda \u653e\u5728 private subnet (\u5982\u5716\u4e2d\u85cd\u8272 icon \u5340\u584a)\uff0c\u9019\u500b private subnet \u7684 route table \u9700\u8981\u6307\u5411 NAT Gateway (id \u70ba nat- \u958b\u982d)\uff0c\u5982\u6b64\u4e00\u4f86\u670d\u52d9\u5c31\u80fd\u9806\u5229\u900f\u904e NAT Gateway \u9023\u7dda\u5916\u7db2\uff0c\u540c\u6642\u4e5f\u8b93\u670d\u52d9\u4e0d\u66dd\u9732\u5728 Internet \u4e0a (\u56e0\u70ba\u6c92\u6709\u7d81 public ip)\uff0c\u4f86\u9054\u5230\u4e00\u5b9a\u7684\u4fdd\u8b77\u4f5c\u7528<\/p>\n

\u5716\u7247\u4e2d\u7684\u67b6\u69cb\uff0c\u53ef\u4ee5\u7528 AWS CDK \u8f15\u9b06\u5efa\u69cb\uff0c\u53ef\u4ee5\u53c3\u8003\u6211\u7684 GitHub Repo<\/a><\/p>\n<\/div>\n\n\n\n

\u00a0<\/p>\n

\u9700\u8981\u958b\u5230 3 \u500b\u4ee5\u4e0a\u7684 NAT Gateway \u5728 3 \u500b\u4ee5\u4e0a\u7684 AZ \u4e2d\u55ce\uff1f<\/h3>\n

\u9019\u500b\u554f\u984c\u6211\u89ba\u5f97\u61c9\u8a72\u8ddf\u670d\u52d9\u60f3\u63d0\u4f9b\u7684 SLA \u7b49\u7d1a\u548c\u6d41\u91cf\u5927\u5c0f\u6709\u95dc\uff0c\u4f46\u4e00\u822c\u516c\u53f8\u4e2d\u70ba\u4e86\u7bc0\u8cbb\uff0c\u500b\u4eba\u662f\u89ba\u5f97\u958b\u5169\u500b AZ \u5c31\u5920\u4e86\uff0c\u65e2\u53ef\u4ee5\u9054\u5230 HA \u7684\u6548\u679c\uff0c\u53c8\u6bd4\u958b 3 \u500b\u4ee5\u4e0a\u7bc0\u8cbb\uff0c\u7562\u7adf\u5169\u500b AZ \u540c\u6642\u639b\u6389\u7684\u6a5f\u7387\u6eff\u5c0f\u7684\uff0c\u56e0\u70ba\u4e0d\u540c AZ \u5df2\u7d93\u662f\u6709\u7528\u7269\u7406\u689d\u4ef6\u4f86\u505a\u9694\u96e2(\u4f8b\u5982\u5728\u4e0d\u540c\u6a5f\u623f\u4e2d)<\/p>\n

\u00a0<\/p>\n

\u7d50\u8ad6<\/h3>\n

\u4ee5\u81ea\u5df1\u5728\u516c\u53f8\u7684\u4f8b\u5b50\u4e2d\uff0c\u70ba\u4e86\u7d50\u8cbb\u5728 Staging \u74b0\u5883\u53ea\u6709\u958b 1 \u53f0 NAT Gateway \u7d66\u4e0d\u540c AZ \u7684\u670d\u52d9\u5171\u7528\uff0c\u800c Production \u74b0\u5883\u5c31\u958b 2 \u53f0\u4f86\u505a HA \u4f86\u9054\u5230\u6700\u57fa\u672c\u7684\u9ad8\u53ef\u7528\u670d\u52d9<\/p>\n<\/div>\n\n\n\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

\u4e00\u822c\u5728\u500b\u4eba AWS \u6e2c\u8a66\u5e33\u865f\u4e2d\uff0c\u61c9\u8a72\u5f88\u5c11<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[65],"tags":[],"yoast_head":"\nAWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a - \u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef<\/title>\n<meta name=\"description\" content=\"AWS NAT Gateway Layout high availability\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout\" \/>\n<meta property=\"og:locale\" content=\"zh_TW\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a - \u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef\" \/>\n<meta property=\"og:description\" content=\"AWS NAT Gateway Layout high availability\" \/>\n<meta property=\"og:url\" content=\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout\" \/>\n<meta property=\"og:site_name\" content=\"\u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-03T14:00:06+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-05T10:10:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/9incloud.com\/wp-content\/uploads\/2021\/08\/Nat-Gateway-Cross-AZ-1024x639.png\" \/>\n<meta name=\"author\" content=\"Chris\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Chris\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9810\u4f30\u95b1\u8b80\u6642\u9593\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 \u5206\u9418\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#article\",\"isPartOf\":{\"@id\":\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout\"},\"author\":{\"name\":\"Chris\",\"@id\":\"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550\"},\"headline\":\"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a\",\"datePublished\":\"2021-08-03T14:00:06+00:00\",\"dateModified\":\"2021-08-05T10:10:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout\"},\"wordCount\":119,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550\"},\"articleSection\":[\"AWS\"],\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout\",\"url\":\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout\",\"name\":\"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a - \u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef\",\"isPartOf\":{\"@id\":\"https:\/\/9incloud.com\/#website\"},\"datePublished\":\"2021-08-03T14:00:06+00:00\",\"dateModified\":\"2021-08-05T10:10:30+00:00\",\"description\":\"AWS NAT Gateway Layout high availability\",\"breadcrumb\":{\"@id\":\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#breadcrumb\"},\"inLanguage\":\"zh-TW\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9801\",\"item\":\"https:\/\/9incloud.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/9incloud.com\/#website\",\"url\":\"https:\/\/9incloud.com\/\",\"name\":\"\u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef\",\"description\":\"\u6709\u95dc\u96f2\u7aef\u548c\u7a0b\u5f0f\u8a2d\u8a08\u7684\u76f8\u95dc\u6587\u7ae0\",\"publisher\":{\"@id\":\"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/9incloud.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"zh-TW\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550\",\"name\":\"Chris\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-TW\",\"@id\":\"https:\/\/9incloud.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/ef7e8e2f5339fd481f555681a22163f5?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/ef7e8e2f5339fd481f555681a22163f5?s=96&d=mm&r=g\",\"caption\":\"Chris\"},\"logo\":{\"@id\":\"https:\/\/9incloud.com\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/9incloud.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a - \u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef","description":"AWS NAT Gateway Layout high availability","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:\/\/9incloud.com\/aws\/aws-nat-gateway-layout","og_locale":"zh_TW","og_type":"article","og_title":"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a - \u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef","og_description":"AWS NAT Gateway Layout high availability","og_url":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout","og_site_name":"\u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef","article_published_time":"2021-08-03T14:00:06+00:00","article_modified_time":"2021-08-05T10:10:30+00:00","og_image":[{"url":"https:\/\/9incloud.com\/wp-content\/uploads\/2021\/08\/Nat-Gateway-Cross-AZ-1024x639.png"}],"author":"Chris","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Chris","\u9810\u4f30\u95b1\u8b80\u6642\u9593":"1 \u5206\u9418"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#article","isPartOf":{"@id":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout"},"author":{"name":"Chris","@id":"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550"},"headline":"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a","datePublished":"2021-08-03T14:00:06+00:00","dateModified":"2021-08-05T10:10:30+00:00","mainEntityOfPage":{"@id":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout"},"wordCount":119,"commentCount":0,"publisher":{"@id":"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550"},"articleSection":["AWS"],"inLanguage":"zh-TW","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#respond"]}]},{"@type":"WebPage","@id":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout","url":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout","name":"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a - \u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef","isPartOf":{"@id":"https:\/\/9incloud.com\/#website"},"datePublished":"2021-08-03T14:00:06+00:00","dateModified":"2021-08-05T10:10:30+00:00","description":"AWS NAT Gateway Layout high availability","breadcrumb":{"@id":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#breadcrumb"},"inLanguage":"zh-TW","potentialAction":[{"@type":"ReadAction","target":["https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/9incloud.com\/aws\/aws-nat-gateway-layout#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9801","item":"https:\/\/9incloud.com\/"},{"@type":"ListItem","position":2,"name":"AWS NAT Gateway \u4f48\u5c40\u548c\u8a2d\u5b9a"}]},{"@type":"WebSite","@id":"https:\/\/9incloud.com\/#website","url":"https:\/\/9incloud.com\/","name":"\u597d\u7aef\u7aef\u641e\u4ec0\u9ebc\u96f2\u7aef","description":"\u6709\u95dc\u96f2\u7aef\u548c\u7a0b\u5f0f\u8a2d\u8a08\u7684\u76f8\u95dc\u6587\u7ae0","publisher":{"@id":"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/9incloud.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"zh-TW"},{"@type":["Person","Organization"],"@id":"https:\/\/9incloud.com\/#\/schema\/person\/fba1134ab7c10c7e91f689b6f1d5f550","name":"Chris","image":{"@type":"ImageObject","inLanguage":"zh-TW","@id":"https:\/\/9incloud.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/ef7e8e2f5339fd481f555681a22163f5?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ef7e8e2f5339fd481f555681a22163f5?s=96&d=mm&r=g","caption":"Chris"},"logo":{"@id":"https:\/\/9incloud.com\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/9incloud.com"]}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/posts\/2068"}],"collection":[{"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/comments?post=2068"}],"version-history":[{"count":1,"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/posts\/2068\/revisions"}],"predecessor-version":[{"id":2395,"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/posts\/2068\/revisions\/2395"}],"wp:attachment":[{"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/media?parent=2068"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/categories?post=2068"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/9incloud.com\/wp-json\/wp\/v2\/tags?post=2068"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}