{"id":47008,"date":"2022-11-07T19:00:35","date_gmt":"2022-10-31T02:29:30","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/"},"modified":"2024-04-28T23:31:33","modified_gmt":"2024-04-28T15:31:33","slug":"salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/","title":{"rendered":"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9"},"content":{"rendered":"<p>\u4f60\u597d\u3002\u8fd9\u662fHeroku Advent Calendar 2020\u7684\u7b2c21\u5929\u7684\u5e16\u5b50\u3002<\/p>\n<h1>\u9996\u5148<\/h1>\n<p>Salesforce\u6b63\u5728\u63a8\u8fdb\u5bf9Heroku\u67b6\u6784\u8bbe\u8ba1\u5e08\u7684\u8ba4\u8bc1\u63aa\u65bd\u3002<\/p>\n<blockquote><p>\u65e5\u672c\u8a9e\u6307\u5357\uff1ahttps:\/\/tandc.salesforce.com\/examguide_cert_heroku_architecture_designer.pdf<\/p><\/blockquote>\n<p>\u6211\u5728\u5199\u8fd9\u7bc7\u6587\u7ae0\u7684\u65f6\u5019\u662f2020\u5e7411\u6708\uff0c\u5df2\u7ecf\u843d\u7b2c\u4e09\u6b21\u4e86\uff0c\u6240\u4ee5\u4e0b\u4e00\u6b21\u5c06\u662f\u7b2c\u56db\u6b21\u7684\u5c1d\u8bd5\u3002<br \/>\n\u7b2c\u4e00\u6b21\u662f\u57282019\u5e748\u6708\u7684\u6d4b\u8bd5\u7248\u672c\u65f6\u4ee5\u82f1\u8bed\u53c2\u52a0\uff08\u6b63\u786e\u7387\uff1a58%\uff09\uff0c<br \/>\n\u7b2c\u4e8c\u6b21\u662f\u57282020\u5e7411\u6708\u4ee5\u65e5\u8bed\u53c2\u52a0\uff08\u6b63\u786e\u7387\uff1a68%\uff09\u3002<br \/>\n\u7b2c\u4e09\u6b21\u4e5f\u662f\u57282020\u5e7411\u6708\u4ee5\u65e5\u8bed\u53c2\u52a0\uff08\u6b63\u786e\u7387\uff1a65%\uff09\u3002<\/p>\n<p>\u8fb9\u7f18\u7ebf\u662f72\uff05\uff0c\u53ea\u5dee\u4e00\u70b9\u70b9\u3002\u4e3a\u4e86\u4e0b\u6b21\u4e00\u5b9a\u80fd\u901a\u8fc7\u8003\u8bd5\uff0c\u6211\u6253\u7b97\u6574\u7406\u4e00\u4e0b\u6211\u4e0d\u64c5\u957f\u7684\u7ae0\u8282\u3002<\/p>\n<h1>\u6311\u6218\u6027\u8f83\u9ad8\u7684\u5355\u5143<\/h1>\n<p>\u67e5\u770b\u7b2c\u4e8c\u6b21\u8003\u8bd5\u7ed3\u679c\u540e\uff0c\u53d1\u73b0\u6709\u56db\u4e2a\u5355\u5143\u6ca1\u6709\u8fbe\u5230\u53ca\u683c\u7ebf\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>[50%] \u6570\u636e<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>[66%] \u5b89\u5168<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>[66%] \u5e94\u7528\u7a0b\u5e8f\u67b6\u6784\u8bbe\u8ba1<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>[66%] \u6574\u5408<\/ol>\n<p>\u770b\u4e86\u7b2c\u4e09\u6b21\u8003\u8bd5\u7684\u7ed3\u679c\u540e\u53d1\u73b0\uff0c\u6709\u56db\u4e2a\u5355\u5143\u8fd8\u6ca1\u6709\u8fbe\u5230\u53ca\u683c\u7ebf\u3002\u800c\u4e14\u8fd8\u6709\u4e00\u4e9b\u4e0e\u7b2c\u4e8c\u6b21\u8003\u8bd5\u7ed3\u679c\u76f8\u53cd\u7684\u60c5\u51b5\u53d1\u751f\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>[66%] Heroku Platform\uff08Heroku\u5e73\u53f0\uff09<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>[60%] Data\uff08\u6570\u636e\uff09<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>[58%] Heroku Enterprise\uff08Heroku\u4f01\u4e1a\u7248\uff09<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>[55%] Integrations\uff08\u96c6\u6210\uff09<\/ol>\n<p>\u7531\u4e8e\u6211\u5728\u8003\u8bd5\u4e2d\u975e\u5e38\u81ea\u4fe1\uff0c\u6240\u4ee5\u5728\u91cd\u8981\u7684\u5730\u65b9\u53ef\u80fd\u4f1a\u6709\u8bef\u89e3\u3002\u6211\u4f1a\u5728\u8003\u8bd5\u6307\u5357\u7684\u8303\u56f4\u5185\uff0c\u6df1\u5165\u6316\u6398\u5173\u952e\u8bcd\u3002<\/p>\n<h1>Heroku\u5e73\u53f0<\/h1>\n<h2>\u8bf7\u5c06\u4ee5\u4e0b\u5185\u5bb9\u7528\u4e2d\u6587\u8f6c\u8ff0\uff0c\u4ec5\u9700\u4e00\u4e2a\u9009\u9879\uff1a<\/h2>\n<p>\u63d0\u51fa\u95ee\u9898\u7684\u5185\u5bb9<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b9\u30e9\u30c3\u30b0\u4f5c\u6210\u6642\u306e\u30d3\u30eb\u30c9\u30d1\u30c3\u30af\u306e\u5f79\u5272\u306a\u3069\u3001Heroku \u3067\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u69cb\u7bc9\u304a\u3088\u3073\u30ea\u30ea\u30fc\u30b9\u306b\u95a2\u3059\u308b\u57fa\u672c\u4e8b\u9805\u3092\u7406\u89e3\u3057\u3066\u3044\u308b\u3053\u3068\u3092\u793a\u3059\u3002<\/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\">\u30c8\u30e9\u30d5\u30a3\u30c3\u30af\u306e\u30d4\u30fc\u30af\u6642\u3067\u3082\u9ad8\u3044\u30d1\u30d5\u30a9\u30fc\u30de\u30f3\u30b9\u306e\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u8a2d\u8a08\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Elements Marketplace \u3067\u5165\u624b\u3057\u305f\u30a2\u30c9\u30aa\u30f3\u3084\u305d\u306e\u4ed6\u306e\u30b3\u30f3\u30dd\u30fc\u30cd\u30f3\u30c8\uff08\u30d3\u30eb\u30c9\u30d1\u30c3\u30af\u3001Heroku \u30dc\u30bf\u30f3\uff09\u3092\u4f7f\u7528\u3057\u3066\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u8a2d\u8a08\u3057\u3066\u30ea\u30ea\u30fc\u30b9\u3059\u308b\u3002<\/ul>\n<h2>\u53ef\u4f38\u7f29\u89e3\u51b3\u65b9\u6848<\/h2>\n<h3>\u9ad8\u5cf0\u65f6\u6bb5\u4ea4\u901a\u5e94\u5bf9\u63aa\u65bd<\/h3>\n<p>Auto Scaling \u3055\u305b\u308b\u3002<\/p>\n<p>Private Space Runtime \u306e private dyno \u306b\u3059\u308b\u3002<br \/>\nCommon Runtime \u306e Performance tier \u306e dyno \u306b\u3059\u308b\u3002<\/p>\n<p>Performance tier : performance-m \u3001performance-l<\/p>\n<p>Manual Scaling \u3059\u308b\u3002<\/p>\n<p>Resource \u30bf\u30d6\u304b\u3089\u624b\u52d5\u3067 Standard tier \u307e\u305f\u306f Performance tier \u306e dyno (Professional dyno) \u306b\u3059\u308b<\/p>\n<p>Dyno Type \u3092\u5909\u66f4\u3059\u308b\u3068\u304d\u306e\u8003\u3048\u65b9<\/p>\n<p>Vertical Scaling\uff1astandard-1x \u304b\u3089 standard-2x \u306b\u5909\u66f4\u3059\u308b\u3068\u3001\u30d7\u30ed\u30bb\u30b9\/\u30b9\u30ec\u30c3\u30c9\u306e\u6700\u5927\u5024\u304c 2 \u500d\u306b\u306a\u308b\u3002<\/p>\n<p>\u66f4\u306b\u8aad\u307f\u53d6\u308a\u5c02\u7528\u306e\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u3057\u3066\u30a2\u30d7\u30ea\u306b\u53c2\u7167\u3055\u305b\u308b\u3053\u3068\u3092\u691c\u8a0e\u3059\u308b\u3002<\/p>\n<p>Horizontal Scaling\uff1astandard-1x \u304b\u3089 performance-m \u306b\u5909\u66f4\u3059\u308b\u3068\u3001\u30d7\u30ed\u30bb\u30b9\/\u30b9\u30ec\u30c3\u30c9\u306e\u6700\u5927\u5024\u304c 64 \u500d\u306b\u306a\u308b\u3002<br \/>\nFree \/ Hobby \/ Standard \u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u5171\u6709\u3055\u308c\u3066\u3044\u308b\u3002<br \/>\nPerformance \/ Private \u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u72ec\u7acb\u3057\u3066\u3044\u308b\u3002<\/p>\n<h3>\u8017\u65f6\u8f83\u957f\u7684\u540e\u53f0\u4efb\u52a1<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u30b8\u30e7\u30d6\u3001\u30ad\u30e5\u30fc\u30a4\u30f3\u30b0\u30b7\u30b9\u30c6\u30e0\u3001\u6642\u9593\u6307\u5b9a\u306e\u3042\u308b\u30b8\u30e7\u30d6\u306f Worker dyno \u306b\u3059\u308b\u3002<\/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\">\u9577\u6642\u9593\u306e\u30bf\u30b9\u30af\u3092\u5206\u96e2\u3059\u308b\u305f\u3081\u306b Heroku Redis \u306e\u30ad\u30e5\u30fc \u306b\u8ffd\u52a0\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u4e00\u6642\u7684\u306a\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u51e6\u7406\u306f One-off dyno \u306b\u3059\u308b\u3002<\/ul>\n<h2>\u5143\u7d20\u5e02\u573a<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30a2\u30c9\u30aa\u30f3\u306e\u30de\u30fc\u30b1\u30c3\u30c8\u30d7\u30ec\u30a4\u30b9\u306b\u3042\u308b\u306e\u306f\u3001\u30a2\u30c9\u30aa\u30f3\u3001\u30d3\u30eb\u30c9\u30d1\u30c3\u30af\u3001\u30dc\u30bf\u30f3\u306e 3 \u3064\u3002<\/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\">\u30a2\u30c9\u30aa\u30f3\u306b\u3088\u3063\u3066\u306f Available \u3060\u304c Installable in Private Space \u3067\u306a\u3044\u30ea\u30fc\u30b8\u30e7\u30f3\u304c\u3042\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>Add-on Runtime Availability<br \/>\n\u4f8b: Papertrail \u306f\u3069\u306e\u30ea\u30fc\u30b8\u30e7\u30f3\u3067\u3082\u5229\u7528\u53ef\u80fd\u3060\u304c\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u4e0d\u53ef\u3002<\/p>\n<h1>2. \u6570\u636e<\/h1>\n<h2>\u8bf7\u4ee5\u4e2d\u56fd\u6bcd\u8bed\u91cd\u65b0\u8868\u8fbe\u4ee5\u4e0b\u5185\u5bb9\uff0c\u53ea\u9700\u7ed9\u51fa\u4e00\u4e2a\u9009\u9879\uff1a<\/h2>\n<p>\u9898\u76ee\u5185\u5bb9<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku Postgres \u306e\u77e5\u8b58 (\u30c7\u30fc\u30bf\u51e6\u7406\u3001\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3001\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f7f\u7528\u3059\u308b\u4e00\u822c\u7684\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306a\u3069) \u3092\u793a\u3059\u3002Dataclips \u306e\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3092\u8aac\u660e\u3059\u308b\u3002<\/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\">Apache Kafka on Heroku \u3092\u4f7f\u7528\u3057\u3066\u3001\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u30b5\u30fc\u30d3\u30b9\u3001\u6a5f\u80fd\u9593\u306e\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u901a\u4fe1\u3092\u4fc3\u9032\u3059\u308b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u8a2d\u8a08\u3059\u308b\u3002<\/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\">Heroku Redis \u3092\u4f7f\u7528\u3057\u3066\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u8a2d\u8a08\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u5fc5\u8981\u306b\u5fdc\u3058\u3066\u3001\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u306e\u30a2\u30c9\u30aa\u30f3\u3084\u30a2\u30c9\u30aa\u30f3\u5171\u6709\u3092\u53d6\u308a\u5165\u308c\u3089\u308c\u308b\u3053\u3068\u3092\u793a\u3059\u3002<\/ul>\n<h2>Heroku PostgreSQL<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d7\u30e9\u30f3\u306f Dyno \u306b\u4f3c\u3066\u3044\u308b\uff1ahobby \u3001standard \u3001premium \u3001enterprise \u306e 4 \u3064\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">1\u3064\u306e\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u8907\u6570\u306e\u30a2\u30d7\u30ea\u3067\u5229\u7528\u3057\u3066\u826f\u3044\u3002<\/ul>\n<h3>\u7c89\u4e1d\u6570\u636e\u5e93 s\u012b sh\u00f9 j\u00f9 k\u00f9)<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u76ee\u7684<\/ul>\n<\/li>\n<\/ul>\n<p>\u30ea\u30fc\u30c0\u30fc &#8211; \u30d5\u30a9\u30ed\u30ef\u30fc\u8a2d\u5b9a\u306b\u3088\u308b\u8aad\u307f\u53d6\u308a\u30b9\u30eb\u30fc\u30d7\u30c3\u30c8\u306e\u5411\u4e0a<br \/>\n\u30db\u30c3\u30c8\u30b9\u30bf\u30f3\u30d0\u30a4\u306b\u3088\u308b\u8ffd\u52a0\u306e\u53ef\u7528\u6027<br \/>\n\u30ec\u30dd\u30fc\u30c6\u30a3\u30f3\u30b0\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3068\u3057\u3066\u306e\u5f79\u5272<br \/>\n\u30b7\u30fc\u30e0\u30ec\u30b9\u306a\u79fb\u884c\u3068\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9<\/p>\n<p>Hobby tier \u3067\u306f\u4f5c\u6210\u4e0d\u53ef\u3002<br \/>\n\u30a2\u30d7\u30ea\u6a2a\u65ad\u3067\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4f5c\u6210\u53ef\u80fd\u3002<br \/>\n\u30d5\u30a9\u30ed\u30ef\u30fc\u306b\u5bfe\u3059\u308b\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306f\u4f5c\u6210\u4e0d\u53ef\u3002<br \/>\n\u81ea\u52d5\u30d5\u30a7\u30fc\u30eb\u30aa\u30fc\u30d0\u30fc\uff08\u30ea\u30fc\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u5229\u7528\u4e0d\u53ef\u3068\u306a\u3063\u305f\u5834\u5408\u3001\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u304c\u81ea\u52d5\u7684\u306b\u30ea\u30fc\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u306a\u308b\uff09\u304c\u5fc5\u8981\u306a\u5834\u5408\u3001Heroku Postgres \u306e Premium tier \u307e\u305f\u306f Enterprise tier \u3092\u5951\u7d04\u3059\u308b\u3002<br \/>\n\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30a2\u30c3\u30d7\u30b0\u30ec\u30fc\u30c9\u3057\u305f\u3044\u5834\u5408<\/p>\n<p>\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u4e0a\u4f4d\u30d7\u30e9\u30f3\u3067\u4f5c\u6210\u3059\u308b<br \/>\n\u30a2\u30d7\u30ea\u3092\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u30e2\u30fc\u30c9\u306b\u3059\u308b<br \/>\n\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u30ea\u30fc\u30c9\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u6607\u683c\u3055\u305b\u308b<br \/>\n\u30a2\u30d7\u30ea\u3092\u518d\u958b\u3059\u308b<\/p>\n<h3>\u591a\u500b\u9078\u64c7\uff1a<\/h3>\n<p>1. \u53c9\u5b50\u8cc7\u6599\u5eab<br \/>\n2. \u9910\u53c9\u8cc7\u6599\u5eab<br \/>\n3. \u5319\u53c9\u8cc7\u6599\u5eab<br \/>\n4. \u98df\u7528\u53c9\u8cc7\u6599\u5eab<br \/>\n5. \u9910\u5177\u8cc7\u6599\u5eab<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d5\u30a9\u30ed\u30ef\u30fc\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306b\u3066\u30d5\u30a9\u30ed\u30fc\u89e3\u9664 heroku pg:unfollow \u3059\u308b\u3053\u3068\u3067\u30d5\u30a9\u30fc\u30af\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff08\u305d\u306e\u6642\u70b9\u307e\u3067\u306b\u53d7\u3051\u53d6\u3063\u305f\u3059\u3079\u3066\u306e\u30c7\u30fc\u30bf\u3092\u542b\u3080\u30d5\u30eb\u8aad\u307f\u53d6\u308a\/\u66f8\u304d\u8fbc\u307f\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff09\u3068\u306a\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u672c\u756a\u30c7\u30fc\u30bf\u3092\u5229\u7528\u3057\u305f\u30c6\u30b9\u30c8\u306b\u5229\u7528\u3067\u304d\u308b\u3002<\/ul>\n<h3>\u6570\u636e\u7247\u6bb5<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku CLI \u307e\u305f\u306f Heroku Dashboard \u7d4c\u7531\u3067\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u3002<\/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\">\u5171\u6709\u53ef\u80fd\u30ea\u30f3\u30af URL \u3078\u306e\u30a2\u30af\u30bb\u30b9\u306f Heroku \u30ed\u30b0\u30a4\u30f3\u30e6\u30fc\u30b6\u4ee5\u5916\u3082\u53ef\u80fd\u3002<\/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\">Shield tier \u306e Heroku Postgres \u306b\u306f Dataclips \u4f5c\u6210\u4e0d\u53ef\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Dataclips \u306e JSON URL \u306b\u5bfe\u3059\u308b GET \u30ea\u30af\u30a8\u30b9\u30c8\u306b\u304a\u3044\u3066 Cross-Origin Resource Sharing \u3092\u30b5\u30dd\u30fc\u30c8\u3059\u308b\u3002<\/ul>\n<h2>\u5728Heroku\u4e0a\u7684Apache Kafka<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u6982\u8981<\/ul>\n<\/li>\n<\/ul>\n<p>Producer \u306f Broker \u306b\u30c7\u30fc\u30bf\uff08streams of messages\uff09\u3092\u66f8\u304d\u8fbc\u3080\u3002<br \/>\nConsumer \u306f Broker \u304b\u3089\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u53d6\u308b\u3002<br \/>\n\u30c7\u30fc\u30bf\u306f Topic \u306b\u683c\u7d0d\u3055\u308c\u308b\u3002<br \/>\nTopic \u306f Partition \u306b\u5206\u5272\u3055\u308c\u308b\u3002<br \/>\nPartition \u5185\u306e message \u306e\u9806\u5e8f\u306f\u4fdd\u8a3c\u3055\u308c\u308b\u3002<br \/>\nPartition \u9593\u306e message \u306e\u9806\u5e8f\u306f\u4fdd\u8a3c\u3055\u308c\u306a\u3044\u3002<\/p>\n<p>AWS Private Link\u200b \u3092\u4f7f\u7528\u3057\u3066\u3001AWS VPC \u3068\u3001Private Space\u200b \u307e\u305f\u306f Shield Private Space\u200b \u306b\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3055\u308c\u305f Apache Kafka on Heroku \u30a2\u30c9\u30aa\u30f3\u306e\u9593\u306e\u5b89\u5168\u306a\u63a5\u7d9a\u3092\u4f5c\u6210\u3059\u308b\u3002<\/p>\n<h2>Heroku Redis \u4e3a\u4f60\u63d0\u4f9b\u7684Redis\u670d\u52a1\u3002<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9<\/ul>\n<\/li>\n<\/ul>\n<p>Job Queues<br \/>\nCaching<br \/>\nSession Storage<\/p>\n<p>Heroku Redis \u81ea\u4f53\u306b\u306f\u3001SSL \u306a\u3069\u306e\u30e1\u30ab\u30cb\u30ba\u30e0\u3067\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u4e0a\u3092\u901a\u904e\u3059\u308b\u30c7\u30fc\u30bf\u3092\u6697\u53f7\u5316\u3059\u308b\u6a5f\u80fd\u306f\u306a\u3044\u3002<\/p>\n<p>Dyno \u3068 Heroku Redis \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u9593\u306b SSL \u30c8\u30f3\u30cd\u30eb\u3092\u4f5c\u6210\u3059\u308b\u305f\u3081\u306b\u3001Stunnel buildpack \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3002<\/p>\n<p>Private Space \u306e Heroku Redis \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u306b\u306f\u3001Heroku Redis CLI \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3059\u308b\u3002<br \/>\nShield Private Space \u306e Heroku Redis \u306b\u306f\u5916\u90e8\u63a5\u7d9a\u4e0d\u53ef\u3002<br \/>\nAWS Private Link\u200b \u3092\u4f7f\u7528\u3057\u3066\u3001AWS VPC \u3068\u3001Private Space\u200b \u307e\u305f\u306f Shield Private Space\u200b \u306b\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3055\u308c\u305f Heroku Redis \u30a2\u30c9\u30aa\u30f3\u306e\u9593\u306e\u5b89\u5168\u306a\u63a5\u7d9a\u3092\u4f5c\u6210\u3059\u308b\u3002<br \/>\n\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304c\u30b9\u30c8\u30ec\u30fc\u30b8\u5236\u9650\u306b\u5230\u9054\u3057\u305f\u5834\u5408\u3001\u200b\u30ad\u30fc\u8ffd\u3044\u51fa\u3057\u306e\u30dd\u30ea\u30b7\u30fc \u200b\u3092\u898b\u76f4\u3059\u3002<\/p>\n<h2>\u7b2c\u4e09\u65b9\u63d2\u4ef6<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Marketing Cloud Connector<\/ul>\n<\/li>\n<\/ul>\n<p>REST API \u3068 SOAP API \u3067 Marketing Cloud \u3068\u9023\u643a\u3059\u308b<\/p>\n<h2>\u63d2\u4ef6\u5206\u4eab<\/h2>\n<p>heroku addons:attach\u200b \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u7528\u3057\u3066\u3001\u5358\u4e00\u306e Heroku Postgres \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3092\u8907\u6570\u306e\u30a2\u30d7\u30ea\u9593\u3067\u5171\u6709\u53ef\u80fd\u3002<\/p>\n<h1>3. \u5b89\u5168<\/h1>\n<h2>\u8bf7\u63d0\u4f9b\u4e00\u4e2a\u4e2d\u6587\u7684\u539f\u59cb\u53e5\u5b50\u4f5c\u4e3a\u51fa\u9898\u5185\u5bb9\u3002<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku \u3092\u5229\u7528\u3057\u3066\u3055\u307e\u3056\u307e\u306a\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u8a8d\u8a3c\u3092\u53d6\u5f97\u3059\u308b\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u69cb\u7bc9\u3059\u308b\u3002<\/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\">\u9069\u5207\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u306b Heroku Private Space Peering \u3084 VPN Connections \u3092\u63a8\u5968\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092 Private Space Runtime \u3067\u5b9f\u884c\u3059\u3079\u304d\u304b\u3001Common Runtime \u3067\u5b9f\u884c\u3059\u3079\u304d\u304b\u3092\u63d0\u6848\u3059\u308b\u3002<\/ul>\n<h2>\u5b89\u5168<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ab\u30b9\u30bf\u30e0\u30c9\u30e1\u30a4\u30f3\u3067 SSL (Secure Sockets Layer) \u3092\u6709\u52b9\u5316\u3059\u308b\u65b9\u6cd5<\/ul>\n<\/li>\n<\/ul>\n<p>Automated Certificate Management<\/p>\n<p>Common Runtime<br \/>\nSSL \u306f\u7121\u6599\u3002<br \/>\n\u7121\u6599\u306e Let&#8217;s Encrypt \u306e TLS (Transport Layer Security) \u8a3c\u660e\u66f8\u3092\u5229\u7528\u3067\u304d\u308b\u3002<br \/>\n\u8a3c\u660e\u66f8\u306f\u81ea\u52d5\u66f4\u65b0\u3002<\/p>\n<p>Heroku SSL<\/p>\n<p>\u6709\u511f\u306e dyno \u3067\u7121\u6599\u306e SSL\u3002<br \/>\n\u81ea\u524d\u3067\u8cfc\u5165\u3057\u305f TLS \u8a3c\u660e\u66f8\u3092\u5229\u7528\u3067\u304d\u308b\u3002<br \/>\n\u8a3c\u660e\u66f8\u306f\u81ea\u524d\u3067\u66f4\u65b0\u5fc5\u8981\u3002<br \/>\nTLS \u30d7\u30ed\u30c8\u30b3\u30eb\u3092\u62e1\u5f35\u3057\u305f SNI (Server Name Indication) \u3092\u5229\u7528\u3059\u308b\u306e\u3067\u3001\u53e4\u3044\u30d6\u30e9\u30a6\u30b6\u306f\u30b5\u30dd\u30fc\u30c8\u5bfe\u8c61\u5916\u3002<\/p>\n<p>SSL Endpoint<\/p>\n<p>Common Runtime \u3067\u6709\u511f\u306e SSL\u3002<br \/>\nPrivate Spaces Runtime \u3067\u7121\u6599\u306e SSL\u3002<br \/>\n\u53e4\u3044\u30d6\u30e9\u30a6\u30b6\u3082\u30b5\u30dd\u30fc\u30c8\u5bfe\u8c61\u3002<br \/>\nTLS 1.0 \u3084 1.1 \u3092\u7121\u52b9\u5316\u3067\u304d\u308b\u3002<\/p>\n<p>Private Spaces \u3068 Shield Spaces \u306e\u30a2\u30d7\u30ea<\/p>\n<p>SNI \u3092\u4f7f\u3046\u305f\u3081\u306b TLS \u63a5\u7d9a\u304c\u5fc5\u8981<br \/>\n\u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3068\u306e TLS \u63a5\u7d9a\u3092\u3084\u308a\u3068\u308a\u3059\u308b\u305f\u3081\u306b\u4f7f\u7528\u3059\u308b\u6697\u53f7\u30b9\u30a4\u30fc\u30c8\u3092\u9078\u629e\u3067\u304d\u308b\u3002<\/p>\n<p>spaces-tls-salesforce\uff1aSalesforce \u306e TSL \u30ac\u30a4\u30c9\u30e9\u30a4\u30f3\u306b\u6e96\u62e0<br \/>\nspaces-tls-modern\uff1aTSL 1.2 \u306e\u307f<br \/>\nspaces-tls-legacy\uff1a\u30ec\u30ac\u30b7\u30fc\u3067\u5fc5\u8981\u306a\u5834\u5408\u306e\u307f<br \/>\nspaces-strict-tls\uff1a\u975e\u63a8\u5968<\/p>\n<p>Trusted IP \u3067\u30a2\u30d7\u30ea\u3078\u306e\u5916\u90e8\u304b\u3089\u306e\u30a2\u30af\u30bb\u30b9\u3092\u5236\u9650\u3067\u304d\u308b\u3002<\/p>\n<p>Space \u3042\u305f\u308a\u30c7\u30d5\u30a9\u30eb\u30c8\u3067 20 \u500b\u307e\u3067<\/p>\n<p>SSO<\/p>\n<p>SAML 2.0 \u306b\u6e96\u62e0<br \/>\n\u30bb\u30c3\u30b7\u30e7\u30f3\u306f 8 \u6642\u9593\u7d9a\u304f<br \/>\nAccount \u30ec\u30d9\u30eb\u53ca\u3073 Team \u30ec\u30d9\u30eb\u3067 SSO \u8a2d\u5b9a\u304c\u53ef\u80fd\u3002<\/p>\n<p>Keystroke Logging<\/p>\n<p>Shield Private Spaces \u306e\u307f\u3067\u5229\u7528\u3067\u304d\u308b\u3002<br \/>\nPrivate Space \u306e\u4f5c\u6210\u5f8c\u306b Private Space Logging \u3092\u6709\u52b9\u306b\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\u3002<\/p>\n<p>Internal Routing \u304c\u6709\u52b9\u5316\u3055\u308c\u305f\u30a2\u30d7\u30ea<\/p>\n<p>\u30a2\u30d7\u30ea\u4f5c\u6210\u6642\u306b\u6709\u52b9\u5316\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<br \/>\n\u5916\u90e8\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u3002<br \/>\n\u540c\u3058 Space \u5185\u306e\u30a2\u30d7\u30ea\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3002<\/p>\n<p>\u305d\u306e\u30a2\u30d7\u30ea\u306b\u5bfe\u3057\u3066 Trusted IP \u3067\u5916\u90e8\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u3067\u9593\u63a5\u7684\u306b Internal Routing \u304c\u6709\u52b9\u5316\u3055\u308c\u305f\u30a2\u30d7\u30ea\u306b\u3082\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308b\u3002<\/p>\n<p>VPC Peering \u63a5\u7d9a\u6e08\u307f\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3002<br \/>\nVPN \u63a5\u7d9a\u6e08\u307f\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u304b\u3089\u30a2\u30af\u30bb\u30b9\u3067\u304d\u308b\u3002<\/p>\n<p>\u30ed\u30b0<\/p>\n<p>Heroku Postgres \u306e\u30d9\u30fc\u30b9\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3068\u66f8\u304d\u8fbc\u307f\u30ed\u30b0\u306f\u540c\u3058\u30ea\u30fc\u30b8\u30e7\u30f3\u306b\u683c\u7d0d\u3055\u308c\u308b\u3002<br \/>\n\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30ed\u30b0\u306f US \u30ea\u30fc\u30b8\u30e7\u30f3\u306b\u683c\u7d0d\u3055\u308c\u308b\u3002<\/p>\n<p>Shield Private Spaces \u3067\u3042\u308c\u3070\u3001Private Space Logging \u3067\u540c\u3058\u30ea\u30fc\u30b8\u30e7\u30f3\u3092\u9078\u629e\u3067\u304d\u308b\u3002<\/p>\n<p>Heroku Postgres \u306e\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u306f US \u30ea\u30fc\u30b8\u30e7\u30f3\u306b\u683c\u7d0d\u3055\u308c\u308b\u3002<br \/>\nDataclips \u306f US \u30ea\u30fc\u30b8\u30e7\u30f3\u306b\u683c\u7d0d\u3055\u308c\u308b\u3002<br \/>\n\u30a2\u30c9\u30aa\u30f3\u88fd\u54c1\u304c\u3069\u3053\u306b\u30c7\u30fc\u30bf\u3092\u683c\u7d0d\u3059\u308b\u304b\u3092 Heroku \u5074\u3067\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3057\u306a\u3044\u3002<\/p>\n<p>Shield Postgres<\/p>\n<p>Trusted IPs for data \u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3002<br \/>\nHeroku Dataclips \u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3002<\/p>\n<p>PB Backup PGBackups \u306f\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u3002 2023\/09\/08 \u4fee\u6b63<\/p>\n<h2>\u53cc\u5411TLS\u5bf9\u79c1\u6709\u8fde\u63a5\u7684\u6bd4\u8f83<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku Postgres<\/ul>\n<\/li>\n<\/ul>\n<p>\u76f8\u4e92 TLS \u3067 AWS VPC \u4ee5\u5916\u304b\u3089\u3082\u63a5\u7d9a\u3067\u304d\u308b<br \/>\nPrivate Link \u3067 AWS VPC \u306e\u307f\u304b\u3089\u63a5\u7d9a\u3067\u304d\u308b<br \/>\nPrivate Space \u53ca\u3073 Shield Private Space \u306b\u5bfe\u5fdc\u3059\u308b\u3002<\/p>\n<p>Heroku Kafka<\/p>\n<p>Private Link \u3067 AWS VPC \u306e\u307f\u304b\u3089\u63a5\u7d9a\u3067\u304d\u308b<br \/>\nPrivate Space \u53ca\u3073 Shield Private Space \u306b\u5bfe\u5fdc\u3059\u308b\u3002<\/p>\n<p>Heroku Redis<\/p>\n<p>Private Link \u3067 AWS VPC \u306e\u307f\u304b\u3089\u63a5\u7d9a\u3067\u304d\u308b<br \/>\nPrivate Space \u53ca\u3073 Shield Private Space \u306b\u5bfe\u5fdc\u3059\u308b\u3002<\/p>\n<h2>Heroku\u7684\u79c1\u6709\u7a7a\u95f4\u4e92\u8054\u4e0eVPN\u8fde\u63a5\u7684\u6bd4\u8f83<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Private Space Peering<\/ul>\n<\/li>\n<\/ul>\n<p>Private\/Shield Dyno \u3068 AWS VPC (Virtual Private Cloud) \u306e\u9593\u3092 Private \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3067\u901a\u4fe1\u3059\u308b\u3002<br \/>\nCIDR (Classless Inter-Domain Routing) \u3092\u5229\u7528\u3059\u308b\u3002<\/p>\n<p>IPv4 CIDR \u30d6\u30ed\u30c3\u30af\u53ca\u3073 RFC1918 CIDR \u30d6\u30ed\u30c3\u30af\u3002<br \/>\nVPC \u306e CIDR \u306f Private Spaces \u306e CIDR \u3092\u30aa\u30fc\u30d0\u30fc\u30e9\u30c3\u30d7\u3067\u304d\u306a\u3044\u3002<\/p>\n<p>Private Space VPN Connection<\/p>\n<p>Google Cloud VPN \u3084 Azure VPN \u3067\u5229\u7528\u3059\u308b\u3002<br \/>\n\u6b63\u5f0f\u306b\u306f Azure VPN \u3068\u306f\u4e92\u63db\u6027\u304c\u306a\u3044\u3068\u3055\u308c\u3066\u3044\u308b\u304c\u3001\u81ea\u5df1\u8cac\u4efb\u3067\u3042\u308c\u3070\u624b\u9806\u304c\u3042\u308b\u3002<\/p>\n<p>Site to Site VPN between Microsoft Azure and Heroku<\/p>\n<p>Public \u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u3092\u4ecb\u3057\u3066\u901a\u4fe1\u3055\u308c\u308b\u304c\u3001IPsec (Security Architecture for Internet Protocol) \u3067\u6697\u53f7\u5316\u3055\u308c\u308b\u3002<br \/>\n\u30a4\u30f3\u30c8\u30e9\u30cd\u30c3\u30c8\u5185\u3060\u3051\u3067\u4f7f\u3048\u308b\u30a2\u30d7\u30ea\u3001\u306e\u3088\u3046\u306a\u4f7f\u3044\u65b9\u304c\u3067\u304d\u308b\u3002<br \/>\nPrivate\/Shield Space \u3054\u3068\u306b \uff11 VPN \u306e\u307f\u8a2d\u5b9a\u3067\u304d\u308b\u3002<\/p>\n<p>Private Spaces<\/p>\n<p>HIPPA, PCI<\/p>\n<h2>Heroku Enterprise \u7684\u89d2\u8272\u4e0e\u6743\u9650 Enterprise de y\u01d4<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Team<\/ul>\n<\/li>\n<\/ul>\n<p>Admin<\/p>\n<p>\u3059\u3079\u3066\u306e\u30a2\u30d7\u30ea\u306b\u5bfe\u3059\u308b\u5b8c\u5168\u306a\u30a2\u30d7\u30ea\u30ec\u30d9\u30eb\u306e\u6a29\u9650\u200b<br \/>\n\u65b0\u3057\u3044 Private Space \u3092\u4f5c\u6210\u3059\u308b<br \/>\nPrivate Space \u3092\u7834\u68c4\u3059\u308b<\/p>\n<p>Member<\/p>\n<p>Viewer \u306e\u4e0a\u4f4d\u6a29\u9650<br \/>\nEnterprise Team \u306b\u5c5e\u3059\u308b\u65b0\u3057\u3044\u30a2\u30d7\u30ea\u3092\u4f5c\u6210\u3059\u308b<br \/>\n\u500b\u4eba\u306e\u30a2\u30d7\u30ea\u3092 Enterprise Team \u306b\u79fb\u52d5\u3059\u308b<br \/>\n\u4f5c\u6210\u3057\u305f\u30a2\u30d7\u30ea\u3084\u30c1\u30fc\u30e0\u306b\u79fb\u52d5\u3057\u305f\u30a2\u30d7\u30ea\u306b\u5bfe\u3057\u3066\u4efb\u610f\u306e\u64cd\u4f5c\u3092\u5b9f\u884c\u3059\u308b<\/p>\n<p>Viewer<\/p>\n<p>Collaborator<\/p>\n<p>App \u306e Manage\u200b \u6a29\u9650\u3092\u6301\u3064\u30e6\u30fc\u30b6\u30fc<br \/>\nEnterprise Team \u306e Admin\u200b \u30ed\u30fc\u30eb\u3092\u6301\u3064\u30e6\u30fc\u30b6\u30fc<\/p>\n<p>Account<\/p>\n<p>View<\/p>\n<p>Manage<\/p>\n<p>\u200bTeams \u30bf\u30d6\u304b\u3089\u306e Enterprise Team \u306e\u7ba1\u7406<br \/>\n\u30a2\u30ab\u30a6\u30f3\u30c8\u30e1\u30f3\u30d0\u30fc\u306e\u7ba1\u7406 (\u30a2\u30af\u30bb\u30b9\u8a31\u53ef\u306e\u8ffd\u52a0\u3001\u524a\u9664\u3001\u7de8\u96c6)<br \/>\n\u200bSettings \u30bf\u30d6\u306e\u6a5f\u80fd\u306e\u4f7f\u7528 (SSO \u306e\u8a2d\u5b9a\u304a\u3088\u3073\u7ba1\u7406\u3001\u76e3\u67fb\u30ed\u30b0\u306e\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9)<\/p>\n<p>Billing<\/p>\n<p>\u200bUsage \u30bf\u30d6\u306e\u6a5f\u80fd\u306e\u4f7f\u7528 (\u4f7f\u7528\u72b6\u6cc1\u30d5\u30a1\u30a4\u30eb\u306e\u30a8\u30af\u30b9\u30dd\u30fc\u30c8)<\/p>\n<p>Create<\/p>\n<p>Enterprise Team \u306e\u4f5c\u6210\u3001\u540d\u524d\u5909\u66f4\u3001\u524a\u9664<\/p>\n<p>App<\/p>\n<p>View<\/p>\n<p>Deploy<\/p>\n<p>\u30b3\u30fc\u30c9\u3092\u30d5\u30a7\u30c3\u30c1\u3059\u308b<br \/>\n\u30b3\u30fc\u30c9\u3092\u30d7\u30c3\u30b7\u30e5\u3059\u308b<br \/>\n\u74b0\u5883\u8a2d\u5b9a\u3092\u8868\u793a\u304a\u3088\u3073\u7de8\u96c6\u3059\u308b<br \/>\n\u7121\u6599\u306e\u30a2\u30c9\u30aa\u30f3\u3092\u8ffd\u52a0\u304a\u3088\u3073\u524a\u9664\u3059\u308b<br \/>\nOne-off dyno \u3092\u5b9f\u884c\u3059\u308b<br \/>\n\u30ea\u30ea\u30fc\u30b9\u3092\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u3059\u308b<\/p>\n<p>Operate<\/p>\n<p>\u74b0\u5883\u8a2d\u5b9a\u3092\u8868\u793a\u304a\u3088\u3073\u7de8\u96c6\u3059\u308b<\/p>\n<p>\u7121\u6599\u304a\u3088\u3073\u6709\u6599\u306e\u30a2\u30c9\u30aa\u30f3\u3092\u8ffd\u52a0\u304a\u3088\u3073\u524a\u9664\u3059\u308b<br \/>\nOne-off dyno \u3092\u5b9f\u884c\u3059\u308b<br \/>\n\u30a2\u30c9\u30aa\u30f3\u8a2d\u5b9a\u3092\u7ba1\u7406\u3059\u308b<br \/>\n\u30a2\u30d7\u30ea\u3092\u518d\u8d77\u52d5\u3059\u308b<br \/>\n\u30ea\u30ea\u30fc\u30b9\u3092\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u3059\u308b<br \/>\n\u30d7\u30ed\u30bb\u30b9\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0\u3068\u30b9\u30bf\u30c3\u30af\u3092\u7ba1\u7406\u3059\u308b<\/p>\n<p>Manage<\/p>\n<p>\u30a2\u30d7\u30ea\u306b\u30e6\u30fc\u30b6\u30fc\u3092\u8ffd\u52a0\u3059\u308b<br \/>\n\u30a2\u30d7\u30ea\u4e0a\u306e\u4efb\u610f\u306e\u30e6\u30fc\u30b6\u30fc\u306b\u30a2\u30af\u30bb\u30b9\u8a31\u53ef\u3092\u5272\u308a\u5f53\u3066\u307e\u305f\u306f\u7de8\u96c6\u3059\u308b<br \/>\n\u30a2\u30d7\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9\u3092\u5236\u9650\u3059\u308b<br \/>\n\u30a2\u30d7\u30ea\u306e\u540d\u524d\u5909\u66f4\u307e\u305f\u306f\u524a\u9664\u3092\u884c\u3046<br \/>\n\u30a2\u30d7\u30ea\u3092\u8ee2\u9001\u3059\u308b<br \/>\n\u30ab\u30b9\u30bf\u30e0\u30c9\u30e1\u30a4\u30f3\u3092\u7ba1\u7406\u3059\u308b<\/p>\n<h1>4. Heroku\u4f01\u4e1a\u7248<\/h1>\n<h2>\u8bf7\u91cd\u65b0\u63d0\u4f9b\u9700\u8981\u8f6c\u8ff0\u7684\u5185\u5bb9\u3002<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku Enterprise \u306e\u6a5f\u80fd\u3092\u4f7f\u7528\u3057\u3066\u3001\u30b7\u30b9\u30c6\u30e0\u306e\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u3069\u306e\u3088\u3046\u306b\u5411\u4e0a\u3055\u305b\u3089\u308c\u308b\u306e\u304b\u3092\u793a\u3059\u3002<\/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\">Heroku Private Spaces \u307e\u305f\u306f Common Runtime \u3092\u9069\u5207\u306b\u4f7f\u7528\u3059\u308b\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u63a8\u5968\u3059\u308b\u3002<\/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\">Heroku Shield \u306e\u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u6a5f\u80fd\u306b\u3064\u3044\u3066\u8aac\u660e\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Enterprise Teams \u306e\u6a5f\u80fd\u306b\u3064\u3044\u3066\u8aac\u660e\u3059\u308b<\/ul>\n<h2>\u79c1\u4eba\u7a7a\u95f4\u8fd0\u884c\u65f6\u4e0e\u516c\u5171\u8fd0\u884c\u65f6\u5bf9\u6bd4<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Dyno<\/ul>\n<\/li>\n<\/ul>\n<p>Common: Free, Hobby, Standard, Performance<br \/>\nPrivate: Private<br \/>\nShield: Shield<\/p>\n<p>\u30c7\u30fc\u30bf\u30ed\u30fc\u30c9\u30c6\u30b9\u30c8<\/p>\n<p>Common: 10,000 \u4ef6\u4ee5\u4e0a\u306e\u5834\u5408\u306f Heroku \u793e\u3078\u9023\u7d61\u304c\u5fc5\u8981\u3002<\/p>\n<h3>\u79c1\u4eba\u7a7a\u95f4\u8fd0\u884c\u65f6<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Region<\/ul>\n<\/li>\n<\/ul>\n<p>\u30a2\u30a4\u30eb\u30e9\u30f3\u30c9\uff1aDublin<br \/>\n\u65e5\u672c\uff1aTokyo<br \/>\n\u30c9\u30a4\u30c4\uff1aFrankfurt<br \/>\n\u30aa\u30fc\u30b9\u30c8\u30e9\u30ea\u30a2\uff1aSydney<br \/>\n\u30a2\u30e1\u30ea\u30ab\uff1aOregon\u3001Virginia<\/p>\n<p>\u30c7\u30d5\u30a9\u30eb\u30c8\u30ea\u30fc\u30b8\u30e7\u30f3\u306f\u3001Virginia\u3002<br \/>\nInternal Routing \u304c\u6709\u52b9\u5316\u3055\u308c\u305f\u30a2\u30d7\u30ea\u3068\u306e\u63a5\u7d9a<\/p>\n<p>Private Spaces \u5185\u306e\u30a2\u30d7\u30ea\u9593<br \/>\nVPC \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u9593<br \/>\nVPN \u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u9593<\/p>\n<p>Stable Outbound IPs<\/p>\n<p>Private Spaces \u5185\u306e\u30a2\u30d7\u30ea\u3068\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u88fd\u54c1\u3084\u4f1a\u793e\u306e\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u3068\u7e4b\u3050<br \/>\nPrivate Spaces \u3054\u3068\u306b 4 \u3064\u306e Outbound IP<\/p>\n<p>Trusted IP \u7bc4\u56f2<\/p>\n<p>Private Spaces \u3054\u3068\u306b 20 \u500b<\/p>\n<h3>\u5e38\u89c1\u7684\u8fd0\u884c\u65f6<\/h3>\n<p>Standard-1x Standard-2x : \u6700\u5927 100 dyno \u307e\u3067\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0<\/p>\n<p>Performance-m\u200b Performance-l : \u6700\u5927 10 dyno \u307e\u3067\u30b9\u30b1\u30fc\u30ea\u30f3\u30b0<br \/>\n\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u306b\u516c\u958b\u3055\u308c\u305f\u30a2\u30d7\u30ea\u3092\u30db\u30b9\u30c8\u3059\u308b\u3002<br \/>\n\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u3078\u306e Outbound \u30ea\u30af\u30a8\u30b9\u30c8\u304c\u53ef\u80fd\u3002\u8981\u6c42\u5143\u306e IP \u30a2\u30c9\u30ec\u30b9\u306f\u6307\u5b9a\u3067\u304d\u306a\u3044\u3002<br \/>\n\u30ea\u30fc\u30b8\u30e7\u30f3\u306f\u3001Europe \u3068 United States \u306e2\u3064\u3002<br \/>\n\u30c7\u30d5\u30a9\u30eb\u30c8\u30ea\u30fc\u30b8\u30e7\u30f3\u306f\u3001United States\u3002<br \/>\n1 \u79d2\u3042\u305f\u308a 10,000 \u500b\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u8d85\u3048\u308b\u5834\u5408\u306f Performance dyno \u306b\u3059\u308b\u3002Heroku \u30b5\u30dd\u30fc\u30c8\u306e\u8a31\u53ef\u3082\u5fc5\u8981\u3002<br \/>\nWeb dyno \u304b\u3089 Worker dyno \u3078\u76f4\u63a5\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\u3002\u9593\u306b Heroku Redis \u3092\u5165\u308c\u3066\u30ad\u30e5\u30fc\u30a4\u30f3\u30b0\u3002<\/p>\n<h2>Heroku Shield \u7684\u5408\u89c4\u6027<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Common Runtime &amp; Heroku Private Spaces: ISO 27001, 27017, 27018 SOC 1, 2, 3<\/ul>\n<\/li>\n<\/ul>\n<p>Heroku Shield Private Spaces: ISO 27001, 27017, 27018 SOC 1, 2, 3 HIPAA PCI DSS Level 1<\/p>\n<p>\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u696d\u754c\u306e\u30c7\u30fc\u30bf\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u57fa\u6e96\u306f PCI DSS<\/p>\n<p>Shield Heroku Postgres \u306f OK\u3002<br \/>\nShield Heroku Connect \/ Apache Kafka on Heroku Shield \/ Heroku Shield Redis \u306f NG\u3002<br \/>\nCommon Runtime \u3082 Heroku Private Spaces \u3082 NG\u3002<\/p>\n<p>\u533b\u7642\u306b\u95a2\u3059\u308b\u500b\u4eba\u60c5\u5831\u306f HIPAA<\/p>\n<p>Shield Heroku Postgres \/ Shield Heroku Connect \/ Apache Kafka on Heroku Shield \/ Heroku Shield Redis \u306f OK\u3002<br \/>\nCommon Runtime \u3082 Heroku Private Spaces \u3082 NG\u3002<\/p>\n<h2>\u4f01\u4e1a\u56e2\u961f<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4f7f\u7528\u53ef\u80fd\u306a\u30a2\u30c9\u30aa\u30f3\u30ea\u30b9\u30c8<\/ul>\n<\/li>\n<\/ul>\n<p>Admin \u4ee5\u5916\u306e\u30e6\u30fc\u30b6\u306f\u3001\u5229\u7528\u53ef\u80fd\u306a\u30a2\u30c9\u30aa\u30f3\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u306b\u306a\u3044\u30a2\u30c9\u30aa\u30f3\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3067\u304d\u306a\u3044\u3002<br \/>\n\u9014\u4e2d\u304b\u3089\u6709\u52b9\u5316\u3057\u305f\u5834\u5408\u3001\u305d\u306e\u524d\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u3044\u305f\u30a2\u30c9\u30aa\u30f3\u306f\u76f4\u3061\u306b\u505c\u6b62\u3059\u308b\u3053\u3068\u306f\u306a\u3044\u304c\u3001\u518d\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u306f\u3067\u304d\u306a\u3044\u3002<\/p>\n<h3>\u5982\u679c IdP \u662f Salesforce\uff0c\u90a3\u4e48\u5c31\u4f7f\u7528\u5355\u70b9\u767b\u5f55 (SSO)\u3002<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku Enterprise \u306e\u307f\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Salesforce \u30a2\u30ab\u30a6\u30f3\u30c8\u306e Email \u304c\u3001\u65e2\u5b58\u306e Heroku \u30a2\u30ab\u30a6\u30f3\u30c8\u306e Email \u3067\u65e2\u306b\u4f7f\u308f\u308c\u3066\u3044\u308b\u5834\u5408\u306f\u3001\u30e6\u30fc\u30b6\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3067\u304d\u306a\u3044\u3002<\/ul>\n<h4>\u5927\u81f4\u6b65\u9aa4<\/h4>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u5728Salesforce\u4e2d\u8fdb\u884cSAML IdP\u8bbe\u7f6e\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u4eceSalesforce\u4e0b\u8f7dIdP\u5143\u6570\u636e\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u5728Heroku\u7684\u8bbe\u7f6e\u9009\u9879\u5361&gt;\u8bbe\u7f6eSSO\u4e2d\u4e0a\u4f20IdP\u5143\u6570\u636e\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>\u70b9\u51fb\u542f\u7528SSO\u3002<br \/>\n\u590d\u5236SSO\u4fe1\u606f\u3002<\/p>\n<p>Heroku\u767b\u5f55\u7f51\u5740<br \/>\nHeroku\u5b9e\u4f53ID<br \/>\nACS\u7f51\u5740<\/p>\n<p>\u5c06\u4fe1\u606f\u8f6c\u5f55\u5230Salesforce\u7684\u8fde\u63a5\u5e94\u7528\u7a0b\u5e8fWeb\u5e94\u7528\u8bbe\u7f6e\u4e2d\uff0c\u7136\u540e\u70b9\u51fb\u542f\u7528SAML\u3002<\/p>\n<h1>5. \u6784\u5efa\u5e94\u7528\u7a0b\u5e8f<\/h1>\n<h2>\u8bf7\u5c06\u4ee5\u4e0b\u5185\u5bb9\u7528\u4e2d\u6587\u8fdb\u884c\u540c\u4e49\u8f6c\u8ff0\uff0c\u53ea\u9700\u63d0\u4f9b\u4e00\u79cd\u9009\u9879\uff1a<\/h2>\n<p>\u9898\u76ee\u7684\u5185\u5bb9<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Twelve-Factor App \u65b9\u6cd5\u8ad6\u3092\u9069\u5207\u306b\u4f7f\u7528\u3057\u305f\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u63a8\u5968\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Apache Kafka on Heroku \u3092\u4f7f\u7528\u3057\u3066\u3001\u30de\u30a4\u30af\u30ed\u30b5\u30fc\u30d3\u30b9\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3\u3092\u69cb\u7bc9\u3059\u308b\u305f\u3081\u306e\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3\u30ec\u30a4\u30e4\u3092\u4f5c\u6210\u3059\u308b\u30bd\u30ea\u30e5\u30fc\u30b7\u30e7\u30f3\u3092\u69cb\u6210\u3059\u308b\u3002<\/ul>\n<h2>\u5341\u4e8c\u8981\u7d20\u5e94\u7528\u65b9\u6cd5\u8bba<\/h2>\n<h3>I. \u4ee3\u7801\u5e93<\/h3>\n<blockquote><p>\u4e00\u4e2a\u6709\u7248\u672c\u63a7\u5236\u7684\u4ee3\u7801\u5e93\u548c\u591a\u4e2a\u90e8\u7f72\u3002<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3068\u30a2\u30d7\u30ea\u306f 1:1 \u306b\u3059\u308b\u3053\u3068\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>\u8907\u6570\u306e\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3092\u4f5c\u308b<\/p>\n<p>\u8907\u6570\u306e\u30a2\u30d7\u30ea\u304c\uff11\u3064\u306e\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3092\u5171\u6709\u3059\u308b<\/p>\n<h3>II. \u4f9d\u8d56\u5173\u7cfb<\/h3>\n<blockquote><p>\u660e\u786e\u58f0\u660e\u5e76\u5206\u9694\u4f9d\u8d56\u5173\u7cfb<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u6697\u9ed9\u7684\u306a\u4f9d\u5b58\u95a2\u4fc2\u3092\u524d\u63d0\u3068\u3057\u305f\u5b9f\u88c5\u3092\u3057\u306a\u3044\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u305f\u3068\u3048\u3070 Node.js \u3067\u3042\u308c\u3070 package.json \u306b\u3059\u3079\u3066\u8a18\u8f09\u3059\u308b\u3002<\/ul>\n<h3>III. \u8bbe\u7f6e<br \/>\n\u5c06\u4ee5\u4e0b\u5185\u5bb9\u7528\u4e2d\u6587\u8fdb\u884c\u91ca\u4e49\uff0c\u53ea\u9700\u8981\u7ed9\u51fa\u4e00\u79cd\u9009\u9879\uff1a<br \/>\nIII. \u8bbe\u5b9a<\/h3>\n<blockquote><p>\u5c06\u914d\u7f6e\u8bbe\u5b9a\u5b58\u50a8\u5230\u73af\u5883\u53d8\u91cf\u4e2d<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u306f\u540c\u3058\u3060\u304c\u30c7\u30d7\u30ed\u30a4\u6642\u306b\u74b0\u5883\u3054\u3068\u306b\u7570\u306a\u308b\u5024\u3092\u8a2d\u5b9a\u3059\u308b\u3002<\/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\">\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3068\u8a2d\u5b9a\u306f\u5206\u96e2\u3059\u308b\u3002<\/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\">OSS \u306e\u958b\u767a\u3092\u3057\u3066\u3044\u308b\u3068\u3057\u3066\u3001\u305d\u306e\u30b3\u30fc\u30c9\u30d9\u30fc\u30b9\u3092 public \u306b\u3057\u3066\u3082\u826f\u3044\u304b\u3069\u3046\u304b\uff1f<\/ul>\n<\/li>\n<\/ul>\n<p>public \u306b\u3057\u305f\u304f\u306a\u3044\u30bb\u30f3\u30b7\u30c6\u30a3\u30d6\u306a\u60c5\u5831\u304c\u8a2d\u5b9a\u60c5\u5831\u3068\u306a\u308b\u3002<br \/>\nHeroku\u3067\u306f Config Vars \u306b\u683c\u7d0d\u3059\u308b\u3002<\/p>\n<h3>IV. \u540e\u7aef\u670d\u52a1<\/h3>\n<blockquote><p>\u628a\u540e\u7aef\u670d\u52a1\u89c6\u4e3a\u9644\u52a0\u7684\u8d44\u6e90<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30a2\u30d7\u30ea\u306f\u30ed\u30fc\u30ab\u30eb\u30b5\u30fc\u30d3\u30b9\u3068\u30b5\u30fc\u30c9\u30d1\u30fc\u30c6\u30a3\u30b5\u30fc\u30d3\u30b9\u306e\u533a\u5225\u3092\u3064\u3051\u306a\u3044\u3088\u3046\u306b\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Heroku \u3067\u3042\u308c\u3070\u3001Config Vars \u3067\u76f8\u624b\u306e\u63a5\u7d9a\u60c5\u5831\u3092\u7279\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3002<\/ul>\n<h3>\u6784\u5efa\u3001\u53d1\u5e03\u3001\u6267\u884c<\/h3>\n<blockquote><p>\u4e25\u683c\u5c06\u6784\u5efa\u3001\u53d1\u5e03\u548c\u6267\u884c\u8fd9\u4e09\u4e2a\u9636\u6bb5\u5206\u79bb\u5f00\u6765\u3002<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30d3\u30eb\u30c9\uff1a\u30b3\u30fc\u30c9\u30ea\u30dd\u30b8\u30c8\u30ea\u3092\u30d3\u30eb\u30c9\u3068\u547c\u3070\u308c\u308b\u5b9f\u884c\u53ef\u80fd\u306a\u584a\u3078\u3068\u5909\u3048\u308b\u3053\u3068\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>\u53ef\u5909\u306a\u90e8\u5206\u306f\u306a\u308b\u3079\u304f\u30d3\u30eb\u30c9\u30b9\u30c6\u30fc\u30b8\u3067\u5438\u53ce\u3059\u308b\u3002<\/p>\n<p>\u30ea\u30ea\u30fc\u30b9\uff1a\u30d3\u30eb\u30c9\u3068\u547c\u3070\u308c\u308b\u5b9f\u884c\u53ef\u80fd\u306a\u584a\u3068\u8a2d\u5b9a\u3092\u7d50\u5408\u3057\u3066\u5b9f\u884c\u74b0\u5883\u3067\u3059\u3050\u306b\u3067\u3082\u5b9f\u884c\u3067\u304d\u308b\u3088\u3046\u306b\u3059\u308b\u3053\u3068\u3002<\/p>\n<p>\u53ef\u5909\u306a\u90e8\u5206\u306f\u306a\u308b\u3079\u304f\u30ea\u30ea\u30fc\u30b9\u30b9\u30c6\u30fc\u30b8\u306b\u6b8b\u3055\u306a\u3044\u3002<\/p>\n<p>\u5b9f\u884c\uff1a\u30ea\u30ea\u30fc\u30b9\u306b\u5bfe\u3057\u3066\u30a2\u30d7\u30ea\u306e\u3044\u304f\u3064\u304b\u306e\u30d7\u30ed\u30bb\u30b9\u3092\u8d77\u52d5\u3059\u308b\u3053\u3068\u3067\u30a2\u30d7\u30ea\u3092\u5b9f\u884c\u74b0\u5883\u3067\u5b9f\u884c\u3059\u308b\u3002<br \/>\n\u30ea\u30ea\u30fc\u30b9\u306b\u306f\u56fa\u6709\u306e\u30ea\u30ea\u30fc\u30b9 ID \u304c\u767a\u884c\u3055\u308c\u3001\u30ed\u30fc\u30eb\u30d0\u30c3\u30af\u3067\u304d\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n<h3>\u7b2c\u516d\u7ae0\u3002\u8fdb\u7a0b<\/h3>\n<blockquote><p>\u5c06\u4e00\u4e2a\u6216\u591a\u4e2a\u5e94\u7528\u7a0b\u5e8f\u4f5c\u4e3a\u65e0\u72b6\u6001\u8fdb\u7a0b\u8fd0\u884c\u3002<\/p><\/blockquote>\n<ul class=\"post-ul\">\u30b9\u30c6\u30fc\u30c8\u30ec\u30b91\uff1a\u30b7\u30b9\u30c6\u30e0\u304c\u73fe\u5728\u306e\u72b6\u614b\u3092\u8868\u3059\u30c7\u30fc\u30bf\u306a\u3069\u3092\u4fdd\u6301\u305b\u305a\u3001\u5165\u529b\u306e\u5185\u5bb9\u306b\u3088\u3063\u3066\u306e\u307f\u51fa\u529b\u304c\u6c7a\u5b9a\u3055\u308c\u308b\u65b9\u5f0f\u3002 \u540c\u3058\u5165\u529b\u306b\u5bfe\u3059\u308b\u51fa\u529b\u306f\u5e38\u306b\u540c\u3058\u306b\u306a\u308b\u3002<\/ul>\n<ul class=\"post-ul\">\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb2\uff1a\u30b7\u30b9\u30c6\u30e0\u304c\u73fe\u5728\u306e\u72b6\u614b\u3092\u8868\u3059\u30c7\u30fc\u30bf\u306a\u3069\u3092\u4fdd\u6301\u3057\u3066\u304a\u308a\u3001\u305d\u306e\u5185\u5bb9\u3092\u51e6\u7406\u306b\u53cd\u6620\u3055\u305b\u308b\u65b9\u5f0f\u3002\u540c\u3058\u5165\u529b\u306b\u5bfe\u3059\u308b\u51fa\u529b\u304c\u5e38\u306b\u540c\u3058\u3068\u306f\u9650\u3089\u305a\u3001\u5185\u90e8\u306e\u72b6\u614b\u6b21\u7b2c\u3067\u5909\u308f\u308b\u3053\u3068\u304c\u3042\u308b\u3002<\/ul>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u8907\u6570\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u3001\u304a\u4e92\u3044\u306b\u7af6\u5408\u3092\u8d77\u3053\u3055\u306a\u3044\u3088\u3046\u306b\u30e1\u30e2\u30ea\u3084\u30b9\u30c8\u30ec\u30fc\u30b8\u3092\u5171\u6709\u3057\u306a\u3044\u3002<\/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\">\u6c38\u7d9a\u5316\u304c\u5fc5\u8981\u306a\u30c7\u30fc\u30bf\u306f\u3001\u30b9\u30c6\u30fc\u30c8\u30d5\u30eb\u306a\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d3\u30b9\uff08\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\uff09\u306b\u4fdd\u6301\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3002<\/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\">\u30a2\u30d7\u30ea\u306e\u898f\u6a21\u304c\u5927\u304d\u304f\u306a\u308b\u5834\u5408\u3001\u8907\u6570\u306e\u30b5\u30fc\u30d0\u30fc\u3067\u52d5\u4f5c\u3059\u308b\u3088\u3046\u306b\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>Heroku\u3067\u3042\u308c\u3070\u3001\u8907\u6570\u306e Dyno \u3067\u52d5\u4f5c\u3059\u308b<\/p>\n<p>\u30b3\u30fc\u30c9\u306f\u30b9\u30c6\u30fc\u30c8\u30ec\u30b9\u306b\u5b9f\u884c\u3055\u308c\u3001\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u30ad\u30e3\u30c3\u30b7\u30e5\u3068\u3057\u3066\u6271\u3046\u3002<\/p>\n<p>\u4e00\u6642\u7684\u3067\u3042\u308c\u3070\u30d5\u30a1\u30a4\u30eb\u30b7\u30b9\u30c6\u30e0\u3092\u4f7f\u3063\u3066\u3088\u3044\u3002<\/p>\n<h3>VII. \u7aef\u53e3\u7ed1\u5b9a<\/h3>\n<blockquote><p>\u901a\u8fc7\u7aef\u53e3\u7ed1\u5b9a\u6765\u516c\u5f00\u670d\u52a1\u3002<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30a2\u30d7\u30ea\u306f\u5b8c\u5168\u306b\u81ea\u5df1\u5b8c\u7d50\u3057\u3066\u3044\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u3002<\/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\">\u5b9f\u884c\u74b0\u5883\u3078 Web \u30b5\u30fc\u30d0\u30e9\u30f3\u30bf\u30a4\u30e0\u3092\u6ce8\u5165\u3059\u308b\u3053\u3068\u306b\u983c\u3089\u306a\u3044\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u30dd\u30fc\u30c8\u30d0\u30a4\u30f3\u30c7\u30a3\u30f3\u30b0\u306e\u65b9\u6cd5\u306b\u3088\u3063\u3066\u3001\u3042\u308b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u4ed6\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u3068\u3063\u3066\u306e\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d3\u30b9\u306b\u306a\u308c\u308b\u3002<\/ul>\n<h3>\u7b2c\u516b\u9879\u4e26\u767c\u6027<\/h3>\n<blockquote><p>\u901a\u8fc7\u8fdb\u7a0b\u6a21\u578b\u8fdb\u884c\u6a2a\u5411\u6269\u5c55<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u500b\u3005\u306e\u30ef\u30fc\u30af\u30ed\u30fc\u30c9\uff08\u4f5c\u696d\u8ca0\u8377\uff09\u306e\u7a2e\u985e\u3092\u30d7\u30ed\u30bb\u30b9\u30bf\u30a4\u30d7\u306b\u5272\u308a\u5f53\u3066\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>HTTP \u30ea\u30af\u30a8\u30b9\u30c8\u306f Web \u30d7\u30ed\u30bb\u30b9\u306b\u3088\u3063\u3066\u51e6\u7406\u3059\u308b\u3002<br \/>\n\u6642\u9593\u306e\u304b\u304b\u308b\u30d0\u30c3\u30af\u30b0\u30e9\u30a6\u30f3\u30c9\u30bf\u30b9\u30af\u306f Worker \u30d7\u30ed\u30bb\u30b9\u306b\u3088\u3063\u3066\u51e6\u7406\u3059\u308b\u3002<br \/>\n\u5782\u76f4\u306b\u30b9\u30b1\u30fc\u30eb\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u306a\u3044\u3002\u4e26\u884c\u306b\u30b9\u30b1\u30fc\u30eb\u3059\u308b\u3002<\/p>\n<p>\u30d7\u30ed\u30bb\u30b9\u306f\u6c7a\u3057\u3066\u30c7\u30fc\u30e2\u30f3\u5316\u3059\u308b\u3079\u304d\u3067\u306f\u306a\u3044\u3057\u3001PID \u30d5\u30a1\u30a4\u30eb\u3092\u66f8\u304d\u51fa\u3059\u3079\u304d\u3067\u306f\u306a\u3044\u3002<br \/>\nOS \u306e\u30d7\u30ed\u30bb\u30b9\u30de\u30cd\u30fc\u30b8\u30e3\u30fc\u306b\u983c\u308b\u3053\u3068\u3067\u3001\u30ed\u30b0\u306a\u3069\u306e\u51fa\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u3092\u7ba1\u7406\u3059\u308b\u3002<\/p>\n<h3>\u4e5d. \u5ee2\u68c4\u6613\u65bc\u8655\u7406\u6027<\/h3>\n<blockquote><p>\u901a\u8fc7\u5feb\u901f\u542f\u52a8\u548c\u4f18\u96c5\u7684\u5173\u95ed\u6765\u6700\u5927\u5316\u5065\u58ee\u6027\u3002<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30b0\u30ec\u30fc\u30b9\u30d5\u30eb\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\uff1a<\/ul>\n<\/li>\n<\/ul>\n<p>Web \u30d7\u30ed\u30bb\u30b9\u306e\u5834\u5408\u3001\u30b5\u30fc\u30d3\u30b9\u30dd\u30fc\u30c8\u306e\u30ea\u30c3\u30b9\u30f3\u3092\u4e2d\u6b62\u3057\u3001\u51e6\u7406\u4e2d\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u7d42\u4e86\u3059\u308b\u307e\u3067\u5f85\u3061\u3001\u30b7\u30e3\u30c3\u30c8\u30c0\u30a6\u30f3\u3059\u308b\u3002<br \/>\nWorker \u30d7\u30ed\u30bb\u30b9\u306e\u5834\u5408\u3001\u51e6\u7406\u4e2d\u306e\u30b8\u30e7\u30d6\u3092\u30ef\u30fc\u30ab\u30fc\u30ad\u30e5\u30fc\u306b\u623b\u3059\u3002<\/p>\n<p>\u5373\u5ea7\u306b\u8d77\u52d5\u30fb\u7d42\u4e86\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n<p>\u30d7\u30ed\u30bb\u30b9\u306e\u7a81\u7136\u306e\u6b7b\u306b\u5bfe\u3057\u3066\u5805\u7262\u3067\u3042\u308b\u3002<br \/>\n\u8d77\u52d5\u6642\u9593\u3092\u6700\u5c0f\u5316\u3059\u308b\u3053\u3068\u3067\u3001\u30ea\u30ea\u30fc\u30b9\u4f5c\u696d\u3084\u30b9\u30b1\u30fc\u30eb\u30a2\u30c3\u30d7\u306e\u30a2\u30b8\u30ea\u30c6\u30a3\u304c\u9ad8\u304f\u306a\u308b\u3002<\/p>\n<p>Heroku \u306e Web \u30d7\u30ed\u30bb\u30b9\u3067\u306f\u5272\u308a\u5f53\u3066\u305f\u30dc\u30fc\u30c8\u306b\u30d0\u30a4\u30f3\u30c9\u3059\u308b\u306e\u306b60\u79d2\u4ee5\u4e0a\u304b\u304b\u3063\u3066\u306f\u306a\u3089\u306a\u3044\u3002<\/p>\n<p>\u30af\u30e9\u30c3\u30b7\u30e5\u306f\u30b5\u30fc\u30d3\u30b9\u3060\u3051\u3067\u306a\u304f\u3001\u30b7\u30b9\u30c6\u30e0\u3067\u51e6\u7406\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n<h3>\u5f00\u53d1\/\u751f\u4ea7\u4e00\u81f4<\/h3>\n<blockquote><p>\u4fdd\u6301\u5f00\u53d1\u3001\u9884\u53d1\u5e03\u548c\u751f\u4ea7\u73af\u5883\u5c3d\u53ef\u80fd\u4e00\u81f4\u7684\u72b6\u6001\u3002<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u6642\u9593\u306e\u30ae\u30e3\u30c3\u30d7\u3092\u5c0f\u3055\u304f\u3059\u308b\uff1a\u958b\u767a\u8005\u304c\u66f8\u3044\u305f\u30b3\u30fc\u30c9\u306f\u6570\u6642\u9593\u5f8c\u3001\u3055\u3089\u306b\u306f\u6570\u5206\u5f8c\u306b\u306f\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u308b\u3002<\/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\">\u4eba\u6750\u306e\u30ae\u30e3\u30c3\u30d7\u3092\u5c0f\u3055\u304f\u3059\u308b\uff1a\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u305f\u958b\u767a\u8005\u306f\u305d\u306e\u30b3\u30fc\u30c9\u306e\u30c7\u30d7\u30ed\u30a4\u306b\u6df1\u304f\u95a2\u308f\u308a\u3001\u305d\u306e\u30b3\u30fc\u30c9\u306e\u672c\u756a\u74b0\u5883\u3067\u306e\u6319\u52d5\u3092\u30e2\u30cb\u30bf\u30ea\u30f3\u30b0\u3059\u308b\u3002<\/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\">\u30c4\u30fc\u30eb\u306e\u30ae\u30e3\u30c3\u30d7\u3092\u5c0f\u3055\u304f\u3059\u308b\uff1a\u958b\u767a\u74b0\u5883\u3068\u672c\u756a\u74b0\u5883\u3092\u3067\u304d\u308b\u3060\u3051\u4e00\u81f4\u3055\u305b\u305f\u72b6\u614b\u3092\u4fdd\u3064\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Heroku Flow \u3092\u6d3b\u7528\u3059\u308b\u3002<\/ul>\n<h3>\u7b2c\u5341\u4e00\u70b9\u3002\u30ed\u30b0\u3002<\/h3>\n<blockquote><p>\u5c06\u65e5\u5fd7\u89c6\u4e3a\u4e8b\u4ef6\u6d41\u8fdb\u884c\u5904\u7406<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u30ed\u30b0\u306f\u3001\u3059\u3079\u3066\u306e\u5b9f\u884c\u4e2d\u306e\u30d7\u30ed\u30bb\u30b9\u3068\u30d0\u30c3\u30af\u30a8\u30f3\u30c9\u30b5\u30fc\u30d3\u30b9\u306e\u51fa\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u304b\u3089\u53ce\u96c6\u3055\u308c\u305f\u30a4\u30d9\u30f3\u30c8\u304c\u3001\u96c6\u7d04\u3055\u308c\u3066\u6642\u523b\u9806\u306b\u4e26\u3079\u3089\u308c\u305f\u30b9\u30c8\u30ea\u30fc\u30e0\u3067\u3042\u308b\u3002<\/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\">\u30a2\u30d7\u30ea\u306e\u51fa\u529b\u30b9\u30c8\u30ea\u30fc\u30e0\u306e\u9001\u308a\u5148\u3084\u30b9\u30c8\u30ec\u30fc\u30b8\u306b\u3064\u3044\u3066\u4e00\u5207\u95a2\u77e5\u3057\u306a\u3044\u3002\u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u306b\u66f8\u304d\u8fbc\u3093\u3060\u308a\u7ba1\u7406\u3057\u3088\u3046\u3068\u3059\u308b\u3079\u304d\u3067\u306f\u306a\u3044\u3002<\/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\">\u5b9f\u884c\u4e2d\u306e\u30d7\u30ed\u30bb\u30b9\u306f\u30a4\u30d9\u30f3\u30c8\u30b9\u30c8\u30ea\u30fc\u30e0\u3092 stdout \uff08\u6a19\u6e96\u51fa\u529b\uff09\u306b\u30d0\u30c3\u30d5\u30a1\u30ea\u30f3\u30b0\u305b\u305a\u306b\u66f8\u304d\u51fa\u3059\u3002<\/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\">Heroku \u306b\u306f Logplex \u3068\u3044\u3046\u30ed\u30b0\u306e\u53ce\u96c6\u30a8\u30f3\u30b8\u30f3\u304c\u3042\u308b\u3002\u53ce\u96c6\u5f8c\u306f Papertrail \u306a\u3069\u306e\u30a2\u30c9\u30aa\u30f3\u3082\u5229\u7528\u3067\u304d\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>Shield Private Spaces \u306e\u307f\u3067\u5229\u7528\u3067\u304d\u308b Private Space Logging \u3067\u306f Logplex \u3092\u5229\u7528\u3057\u3066\u3044\u306a\u3044\u3002<\/p>\n<p>Space \u5185\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001Heroku Postgres \u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3001\u304a\u3088\u3073 Heroku \u30b7\u30b9\u30c6\u30e0\u30b5\u30fc\u30d3\u30b9\u304b\u3089\u306e\u3059\u3079\u3066\u306e\u30ed\u30b0\u30a4\u30d9\u30f3\u30c8\u304c 1\u3064 \u306e\u30ed\u30b0\u30ad\u30e3\u30d7\u30c1\u30e3\u8a18\u9332\u5148\u306b\u8ee2\u9001\u3055\u308c\u308b\u3002<\/p>\n<p>Logplex \u306f US \u30ea\u30fc\u30b8\u30e7\u30f3\u306e\u307f\u3067\u3042\u308b\u305f\u3081\u3001\u53b3\u3057\u3044\u30b3\u30f3\u30d7\u30e9\u30a4\u30a2\u30f3\u30b9\u8981\u4ef6\u304c\u3042\u308b\u5834\u5408\u306f Private Space Logging \u3092\u5229\u7528\u3059\u308b\u3002<br \/>\nLogplex \u306f\u3001\u4fdd\u7ba1\u7528\u3067\u306f\u306a\u304f\u30ed\u30b0\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u7167\u5408\u3057\u3066\u30eb\u30fc\u30c6\u30a3\u30f3\u30b0\u3059\u308b\u3088\u3046\u306b\u8a2d\u8a08\u3055\u308c\u3066\u3044\u308b<\/p>\n<p>\u6700\u65b0\u306e 1,500 \u884c\u306e\u30ed\u30b0\u3092\u4fdd\u6301<br \/>\n1 \u9031\u9593\u5f8c\u306b\u671f\u9650\u5207\u308c<\/p>\n<h3>\u5341\u4e8c. \u7ba1\u7406\u8fc7\u7a0b<\/h3>\n<blockquote><p>\u5c06\u7ba1\u7406\u4efb\u52a1\u4f5c\u4e3a\u4e00\u6b21\u6027\u8fdb\u7a0b\u6267\u884c<\/p><\/blockquote>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">1 \u56de\u9650\u308a\u306e\u7ba1\u7406\u30d7\u30ed\u30bb\u30b9\u306f\u3001\u30a2\u30d7\u30ea\u306e\u901a\u5e38\u306e\u9577\u6642\u9593\u5b9f\u884c\u3055\u308c\u308b\u30d7\u30ed\u30bb\u30b9\u3068\u5168\u304f\u540c\u3058\u74b0\u5883\u3067\u5b9f\u884c\u3055\u308c\u308b\u3079\u304d\u3067\u3042\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u7ba1\u7406\u7528\u306e\u30b3\u30fc\u30c9\u306f\u3001\u540c\u671f\u306e\u554f\u984c\u3092\u907f\u3051\u308b\u305f\u3081\u306b\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30b3\u30fc\u30c9\u3068\u4e00\u7dd2\u306b\u30c7\u30d7\u30ed\u30a4\u3055\u308c\u308b\u3079\u304d\u3067\u3042\u308b\u3002<\/ul>\n<h2>Heroku \u4e0a\u7684 Apache Kafka<\/h2>\n<ul class=\"post-ul\">\u958b\u767a\u306b\u306f Heroku CLI \u306e\u30d7\u30e9\u30b0\u30a4\u30f3 heroku-Kafka \u304c\u5fc5\u8981\u3002<\/ul>\n<h3>\u591a\u4e2a\u5e94\u7528\u4e4b\u95f4\u7684\u6570\u636e\u5171\u4eab<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Basic: Kafka \u306f\u30de\u30eb\u30c1\u30c6\u30ca\u30f3\u30c8\u3067 Common Runtime \u306b\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3055\u308c\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>Common Runtime \u306e\u30a2\u30d7\u30ea\u3001Virginia \u304a\u3088\u3073 Dublin \u306e Private Spaces \u306e\u30a2\u30d7\u30ea\u3068\u9023\u643a\u3067\u304d\u308b\u3002<br \/>\nKafka Basic \u30c8\u30d4\u30c3\u30af\u304a\u3088\u3073\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u30fc\u30b0\u30eb\u30fc\u30d7\u306b\u306f\u3001\u30a2\u30c9\u30aa\u30f3\u306b\u95a2\u9023\u4ed8\u3051\u3089\u308c\u305f\u4e00\u610f\u306e\u63a5\u982d\u8f9e\u304c\u5fc5\u8981\u3002<\/p>\n<p>\u63a5\u982d\u8f9e\u304c\u306a\u3044\u5834\u5408\u3001\u30b3\u30f3\u30b7\u30e5\u30fc\u30de\u30fc\u306f\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u53d7\u4fe1\u3067\u304d\u306a\u3044\u3002<\/p>\n<p>\u5c02\u7528: Kafka \u306f Common Runtime \/ Private Spaces \/ Shield Spaces \u3092\u9078\u3093\u3067\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u3067\u304d\u308b\u3002<\/p>\n<p>\u7570\u306a\u308b\u30ea\u30fc\u30b8\u30e7\u30f3\u306e\u30a2\u30d7\u30ea\u3068\u9023\u643a\u3067\u304d\u308b\u3002<\/p>\n<h3>\u53ef\u4ee5\u5171\u4eab\u9ad8\u5ea6\u673a\u5bc6\u7684\u6570\u636e\u5417\uff1f<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Apache Kafka on Heroku Shield \u3067\u3042\u308c\u3070\u3001HIPAA \u306b\u6e96\u62e0\u3002<\/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\">Apache Kafka on Heroku \u306f ISO 27001, 27017, 27018 SOC 1, 2, 3 \u306b\u6e96\u62e0\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>\u4e00\u822c\u7684\u306a\u500b\u4eba\u60c5\u5831\u3067\u3042\u308c\u3070 OK\u3002<\/p>\n<h1>6. \u6574\u5408<\/h1>\n<h2>\u9898\u76ee\u5185\u5bb9<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku Connect \u3092\u9069\u5207\u306b\u4f7f\u7528\u3059\u308b\u30a2\u30fc\u30ad\u30c6\u30af\u30c1\u30e3 (\u5916\u90e8 ID \u306e\u6b63\u3057\u3044\u4f7f\u3044\u65b9\u306a\u3069) \u3092\u63a8\u5968\u3059\u308b\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Heroku \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092 Salesforce Lightning \u30d7\u30e9\u30c3\u30c8\u30d5\u30a9\u30fc\u30e0\u306b\u7d71\u5408\u3059\u308b\u624b\u6cd5\u3092\u63a8\u5968\u3057\u3001\u7279\u5b9a\u306e\u624b\u6cd5\u3092\u9069\u7528\u3059\u3079\u304d\u72b6\u6cc1\u3092\u7406\u89e3\u3059\u308b\u3002<\/ul>\n<h2>\u96c6\u6210\u6a21\u5f0f<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Salesforce \u306e\u30c7\u30fc\u30bf\u3092 Heroku \u3078\u9023\u643a<\/ul>\n<\/li>\n<\/ul>\n<p>Heroku Connect<br \/>\nPlatform Event<br \/>\nHeroku \u30a2\u30d7\u30ea\u304b\u3089 Salesforce API \u3078 GET \u30ea\u30af\u30a8\u30b9\u30c8<br \/>\nApex \u304b\u3089 Heroku API \u3078 POST \u30ea\u30af\u30a8\u30b9\u30c8<\/p>\n<p>Heroku \u306e\u30c7\u30fc\u30bf\u3092 Salesforce \u3078\u9023\u643a<\/p>\n<p>Heroku Connect<br \/>\nSalesforce Connect (Heroku External Objects)<\/p>\n<p>Heroku Connect \u306e\u30d7\u30ed\u30d3\u30b8\u30e7\u30cb\u30f3\u30b0\u306f\u5fc5\u9808\u3002\u30c7\u30fc\u30bf\u540c\u671f\u306f\u4e0d\u8981\u3002<\/p>\n<p>Canvas \u30a2\u30d7\u30ea<br \/>\nHeroku \u30a2\u30d7\u30ea\u304b\u3089 Salesforce API \u3078 POST \u30ea\u30af\u30a8\u30b9\u30c8<br \/>\nApex \u304b\u3089 Heroku API \u3078 GET \u30ea\u30af\u30a8\u30b9\u30c8<\/p>\n<h2>Heroku\u8fde\u63a5<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Salesforce API \u306e\u30b3\u30fc\u30eb\u56de\u6570\u306f\u6d88\u8cbb\u3057\u306a\u3044\u3002<\/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\">Heroku Salesforce<\/ul>\n<\/li>\n<\/ul>\n<p>\u8aad\u307f\u66f8\u304d\u306f\u5f8c\u52dd\u3061<\/p>\n<p>Salesforce Heroku<\/p>\n<p>Streaming API \u3067\u30cb\u30a2\u30ea\u30a2\u30eb\u66f4\u65b0\u304c\u53ef\u80fd<br \/>\nPolling \u9593\u9694\u306f\u30c7\u30d5\u30a9\u30eb\u30c8 10\u79d2<\/p>\n<p>Shield Heroku Postgres \u306e\u6697\u53f7\u5316\u306f\u3001\u30af\u30ec\u30b8\u30c3\u30c8\u30ab\u30fc\u30c9\u60c5\u5831 PCI DSS\u3001\u533b\u7642\u306b\u95a2\u3059\u308b\u500b\u4eba\u60c5\u5831 HIPAA \u306b\u5bfe\u5fdc\u3002<br \/>\n\u30de\u30fc\u30b8\u66f8\u304d\u8fbc\u307f\u3067\u306f SOAP API \u306e\u307f\u30b5\u30dd\u30fc\u30c8\u3002<\/p>\n<h3>\u5728\u53cc\u5411\u540c\u6b65\u65f6\u5982\u4f55\u4f7f\u7528\u5916\u90e8ID<\/h3>\n<p>\u4e00\u610f\u6027\u306e\u4fdd\u8a3c<\/p>\n<p>Salesforce \u306e\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306b GUID \u3068\u3057\u3066\u5916\u90e8ID\u9805\u76ee\u3092\u8ffd\u52a0\u3057\u3001\u305d\u308c\u3092\u30de\u30c3\u30d4\u30f3\u30b0\u30a8\u30c7\u30a3\u30bf\u3067\u4e00\u610f\u8b58\u5225\u5b50\u200b\u3068\u3057\u3066\u8a2d\u5b9a\u3059\u308b\u3002<br \/>\n\u81ea\u52d5\u63a1\u756a\u9805\u76ee\u3092\u4e00\u610f\u8b58\u5225\u5b50\u306b\u4f7f\u7528\u3057\u306a\u3044\u3002<\/p>\n<p>\u9806\u5e8f\u4ed8\u304d\u66f8\u304d\u8fbc\u307f\u30a2\u30eb\u30b4\u30ea\u30ba\u30e0\u304c\u8a2d\u5b9a\u3055\u308c\u3066\u3044\u3066\u30012,000 \uff5e 10,000 \u4ef6\u9023\u7d9a\u3057\u305f\u540c\u3058 DML \u306e\u5834\u5408\u3001Bulk API \u304c\u540c\u671f\u306b\u4f7f\u7528\u3055\u308c\u308b\u3002<\/p>\n<h3>\u5982\u679c\u5220\u9664\u4e86Salesforce\u7684\u5bf9\u8c61\u5b57\u6bb5\uff0c<\/h3>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku Connect \u306e\u30de\u30c3\u30d4\u30f3\u30b0\u304c\u524a\u9664\u3055\u308c\u3066\u3044\u306a\u3044\u5834\u5408\u3001\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u540c\u671f\u304c\u5b8c\u4e86\u3057\u306a\u3044\u3002<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Heroku Connect \u306e\u30de\u30c3\u30d4\u30f3\u30b0\u3092\u524a\u9664\u3059\u308b\u3068\u3001\u540c\u671f\u304c\u518d\u958b\u3055\u308c\u308b\u3002<\/ul>\n<h2>\u53ea\u9700\u8981\u4e00\u4e2a\u9009\u9879\uff08\u5373\u53ea\u9700\u8981\u4e00\u4e2a\uff09<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Salesforce API<\/ul>\n<\/li>\n<\/ul>\n<p>B2C Commerce API \u3067 B2C Commerce Cloud \u3068\u9023\u643a\u3059\u308b<\/p>\n<p>Salesforce Connect<br \/>\nPlatform Event<br \/>\nExternal Service<br \/>\nAnypoint Platform<\/p>\n<h1>\u53c2\u8003\u8d44\u6599<\/h1>\n<p>\u9019\u662f\u6211\u5728\u6e96\u5099\u8003\u8a66\u6642\u4f7f\u7528\u7684\u7db2\u7ad9\u3002<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Heroku Architecture Designer Cert Webinar Series<\/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\">Heroku Academy Guide<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">The Twelve-Factor\uff08\u65e5\u672c\u8a9e\u8a33\uff09<\/ul>\n<h1>\u6700\u540e<\/h1>\n<p>\u6211\u4e5f\u5728Salesforce Platform Advent Calendar 2020\u4e0a\u53d1\u8868\u4e86\u6587\u7ae0\u3002\u8bf7\u52a1\u5fc5\u67e5\u770b\u3002<\/p>\n<p>\u6211\u4eec\u518d\u6b21\u89c1\u9762\u5427\u3002<\/p>\n<h1>\u7ed9\u4f60\u52a0\u70b9\u3002<br \/>\n+<br \/>\n\u52a0\u4e00\u70b9\u5c0f\u4e1c\u897f\u3002<br \/>\n+<br \/>\n\u518d\u591a\u52a0\u70b9\u989d\u5916\u7684\u4e1c\u897f\u3002<\/h1>\n<p>\u7b2c\u56db\u6b21\u8003\u8bd5\u7684\u7ed3\u679c\u662f&#8230;\u5408\u683c\u3002<br \/>\n\u203b2020\u5e745\u6708\u53c2\u52a0\u4e86\u65e5\u8bed\u8003\u8bd5\uff08\u6b63\u786e\u7387\uff1a82%\uff09\u3002<\/p>\n<section>IT \u7528\u8a9e\u8a5e\u5178 \u21a9<\/section>\n","protected":false},"excerpt":{"rendered":"<p>\u4f60\u597d\u3002\u8fd9\u662fHeroku Advent Calendar 2020\u7684\u7b2c21\u5929\u7684\u5e16\u5b50\u3002 \u9996\u5148 Salesforce [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-47008","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>Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9 - 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\/salesforce\u627f\u8ba4heroku-architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9\" \/>\n<meta property=\"og:description\" content=\"\u4f60\u597d\u3002\u8fd9\u662fHeroku Advent Calendar 2020\u7684\u7b2c21\u5929\u7684\u5e16\u5b50\u3002 \u9996\u5148 Salesforce [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/salesforce\u627f\u8ba4heroku-architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2022-10-31T02:29:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T15:31:33+00:00\" \/>\n<meta name=\"author\" content=\"\u5b87, \u534e\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u5b87, \u534e\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 \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\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/\",\"name\":\"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2022-10-31T02:29:30+00:00\",\"dateModified\":\"2024-04-28T15:31:33+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9\"}]},{\"@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\/513018e4e121d3add1b7c5de8be21458\",\"name\":\"\u5b87, \u534e\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g\",\"caption\":\"\u5b87, \u534e\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9 - 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\/salesforce\u627f\u8ba4heroku-architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9","og_description":"\u4f60\u597d\u3002\u8fd9\u662fHeroku Advent Calendar 2020\u7684\u7b2c21\u5929\u7684\u5e16\u5b50\u3002 \u9996\u5148 Salesforce [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce\u627f\u8ba4heroku-architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2022-10-31T02:29:30+00:00","article_modified_time":"2024-04-28T15:31:33+00:00","author":"\u5b87, \u534e","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u5b87, \u534e","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"5 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/","name":"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2022-10-31T02:29:30+00:00","dateModified":"2024-04-28T15:31:33+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/513018e4e121d3add1b7c5de8be21458"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"Salesforce\u627f\u8ba4Heroku Architecture\u8bbe\u8ba1\u5e08\u8003\u8bd5\u4e2d\u7684\u4e2a\u4eba\u56f0\u6270\u70b9"}]},{"@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\/513018e4e121d3add1b7c5de8be21458","name":"\u5b87, \u534e","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/63cd45cbc05a35fc4ff7637a163c83c4962ef58d27472726c3a3e0c9c5194f0f?s=96&d=mm&r=g","caption":"\u5b87, \u534e"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yuhua\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/salesforce%e6%89%bf%e8%ae%a4heroku-architecture%e8%ae%be%e8%ae%a1%e5%b8%88%e8%80%83%e8%af%95%e4%b8%ad%e7%9a%84%e4%b8%aa%e4%ba%ba%e5%9b%b0%e6%89%b0%e7%82%b9%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\/47008","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\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=47008"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47008\/revisions"}],"predecessor-version":[{"id":65196,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/47008\/revisions\/65196"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=47008"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=47008"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=47008"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}