{"id":37,"date":"2019-02-02T16:29:26","date_gmt":"2019-02-02T07:29:26","guid":{"rendered":"http:\/\/cloud-textbook.com\/?p=37"},"modified":"2020-06-17T21:12:21","modified_gmt":"2020-06-17T12:12:21","slug":"allservice-gcp","status":"publish","type":"post","link":"https:\/\/cloud-textbook.com\/37\/","title":{"rendered":"GCP\u30b5\u30fc\u30d3\u30b9\u4e00\u89a7\u30fb3\u884c\u89e3\u8aac (\u8aac\u660e\u7db2\u7f85\u738785%)"},"content":{"rendered":"<p>\u6700\u7d42\u66f4\u65b0 <time>2020-05-15<\/time><\/p>\r\n<script>\r\n(function($) {\r\n  $(\"li.date.updated\").each(function(){\r\n      $(this).remove();\r\n  });\r\n})(jQuery);\r\n<\/script>\n\n\n\n<p>Google Cloud Platform (GCP) \u306e\u30b5\u30fc\u30d3\u30b9\u4e00\u89a7\u3068\u3001\u304a\u304a\u3080\u306d 3\u884c\u306e\u89e3\u8aac\u3067\u3059\u3002<\/p>\n\n\n\n<!--more-->\n\n\n <div id=\"toc_container\" class=\"no_bullets\">\r\n  <p class=\"toc_title\">\u76ee\u6b21<\/p>\r\n  <ul class=\"toc_list\" id=\"my_toc_list\">\r\n  <\/ul>\r\n<\/div>\n\n\n\n<h2 id=\"computing\">\u30b3\u30f3\u30d4\u30e5\u30fc\u30c6\u30a3\u30f3\u30b0<\/h2>\n\n\n\n<h3 id='anthos' style='margin-top: 1em; padding-top: 1em'>Anthos \u3068\u306f<\/h3>\n\n\n\n<p><\/p>\n\n\n\n<h3 id='compute-engine' style='margin-top: 1em; padding-top: 1em'>Compute Engine \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/compute\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Compute Engine<\/a><br>\u4eee\u60f3\u30de\u30b7\u30f3 (IaaS)\u3002Linux \u3084 Windows \u30b5\u30fc\u30d0\u3092\u7acb\u3061\u4e0a\u3052\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002 CPU \u306e\u30b3\u30a2\u6570\u3084\u30e1\u30e2\u30ea\u3092\u8abf\u6574\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd (\u30ab\u30b9\u30bf\u30e0\u30de\u30b7\u30f3\u30bf\u30a4\u30d7)\u3002 \u300c\u30d7\u30ea\u30a8\u30f3\u30d7\u30c6\u30a3\u30d6VM\u300d\u3068\u3044\u3046\u6700\u592780%\u5f15\u304d\u306e VM \u3082\u3042\u308b\u3002 \u4ee3\u511f\u306f\u3001\u5e38\u306b\u4f7f\u3048\u308b\u3068\u306f\u9650\u3089\u306a\u3044\u3001\u7a81\u7136\u843d\u3061\u308b\u304b\u3082\u3057\u308c\u306a\u3044\u3001SLA \u306a\u3057\u300124 \u6642\u9593\u7d4c\u904e\u3059\u308b\u3068\u5fc5\u305a\u7d42\u4e86\u3002 GCE \u306b\u63a5\u7d9a\u53ef\u80fd\u306a\u30c7\u30a3\u30b9\u30af\u3068\u3057\u3066&nbsp;<a href='\/37\/#\u6c38\u7d9a\u30c7\u30a3\u30b9\u30af'>\u6c38\u7d9a\u30c7\u30a3\u30b9\u30af<\/a>&nbsp;\u304c\u3042\u308b\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/46\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#iaas'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (iaas)<\/a><br>\n<\/p>\n\n\n\n<h3 id='gae' style='margin-top: 1em; padding-top: 1em'>Google App Engine (GAE) \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/appengine\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Google App Engine (GAE)<\/a><br>GCP \u306b\u304a\u3051\u308b PaaS \u30b5\u30fc\u30d3\u30b9\u3002\u30a2\u30d7\u30ea\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u3060\u3051\u3067\u3001\u30a4\u30f3\u30d5\u30e9\u306f GCP \u306b\u304a\u307e\u304b\u305b\u3002 \u74b0\u5883\u69cb\u7bc9\u304c\u4e0d\u8981\u306a\u306e\u3067\u3001\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb\u3082\u7c21\u5358\u3002 \u5bfe\u5fdc\u8a00\u8a9e\u306f Node.js\u3001Java\u3001Ruby\u3001C#\u3001Go\u3001Python\u3001PHP\u3002 Standard Environment \u3068 Flexible Environment \u306e2\u3064\u304c\u3042\u308b\u3002 Standard \u306f\u7d14\u7c8b\u306a PaaS \u3067\u3001\u30ed\u30b0\u30a4\u30f3\u4e0d\u53ef\u3001\u30ed\u30fc\u30ab\u30eb\u30d5\u30a1\u30a4\u30eb\u30a2\u30af\u30bb\u30b9\u4e0d\u53ef\u7b49\u306e\u5236\u7d04\u306f\u3042\u308b\u304c\u3001\u30df\u30ea\u79d2\u5358\u4f4d\u3067\u8d77\u52d5\u53ef\u80fd\u3002 Flexible \u306f\u3001Compute Engine \u4e0a\u3067 Docker \u30a4\u30e1\u30fc\u30b8\u3092\u52d5\u304b\u3057\u3066\u3044\u308b\u3082\u306e\u3067\u3001 ssh \u30ed\u30b0\u30a4\u30f3\u304c\u53ef\u80fd\u3067\u3001\u30df\u30c9\u30eb\u30a6\u30a7\u30a2\u7b49\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u304c\u53ef\u80fd\u3067\u3042\u308b\u304c\u3001\u5206\u5358\u4f4d\u3067\u306e\u8d77\u52d5\u3002<\/p>\n\n\n\n<p><a href='\/39\/#paas'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (paas)<\/a><br>\n<\/p>\n\n\n\n<h3 id='gke' style='margin-top: 1em; padding-top: 1em'>Kubernetes Engine (GKE) \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/kubernetes-engine\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Kubernetes Engine (GKE)<\/a><br>Docker \u30b3\u30f3\u30c6\u30ca\u306e\u30de\u30cd\u30fc\u30b8\u30c9\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066 Kubernetes \u3068\u3044\u3046\u7ba1\u7406\u30c4\u30fc\u30eb\u304c\u3042\u308b\u3002\u3053\u306e Kubernetes \u3092 GCP \u4e0a\u3067\u5c55\u958b\u3059\u308b\u305f\u3081\u306e\u30de\u30cd\u30fc\u30b8\u30c9\u30b5\u30fc\u30d3\u30b9\u304cS \u30b5\u30fc\u30d3\u30b9\u304c Google Kubernetes Engine (GKE) \u3067\u3042\u308b\u3002\u65e7\u540d Google Container Engine (\u65e7\u540d\u306e\u7565\u79f0\u3082 GKE)\u3002<\/p>\n\n\n\n<p>Docker \u306f Linux \u5185\u3067\u72ec\u7acb\u3057\u305f\u30b3\u30f3\u30c6\u30ca\u3068\u3044\u3046\u3082\u306e\u3092\u7acb\u3061\u4e0a\u3052\u3066\u3001 \u305d\u306e\u4e2d\u306f\u30d7\u30ed\u30bb\u30b9\u3082 CPU \u3082\u30e1\u30e2\u30ea\u3082\u9694\u96e2\u3055\u308c\u3066\u3044\u307e\u3059\u3088\u3068\u3044\u3046\u3082\u306e\u3002 \u3042\u308b\u610f\u5473\u300c\u305d\u308c\u3060\u3051\u300d\u3057\u304b\u3067\u304d\u306a\u3044\u306e\u304c Docker\u3002 \u4f8b\u3048\u3070 Web \u30b5\u30fc\u30d3\u30b9\u3092\u7acb\u3061\u4e0a\u3052\u308b\u3068\u3057\u3066\u3001\u8907\u6570\u30de\u30b7\u30f3\u3067\u540c\u3058\u30b3\u30f3\u30c6\u30ca\u3092\u52d5\u304b\u3057\u305f\u308a\u3001 \u8907\u6570\u30b3\u30f3\u30c6\u30ca\u306b\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b7\u30f3\u30b0\u3057\u305f\u308a\u3001 \u30ea\u30af\u30a8\u30b9\u30c8\u304c\u5897\u3048\u3066\u304d\u305f\u3089\u30b3\u30f3\u30c6\u30ca\u3092\u5897\u3084\u3057\u305f\u308a (\u30aa\u30fc\u30c8\u30b9\u30b1\u30fc\u30eb)\u3001\u30b3\u30f3\u30c6\u30ca\u304c\u6b7b\u3093\u3060\u3089\u518d\u8d77\u52d5\u3057\u305f\u308a\u3001 \u3068\u3044\u3063\u305f\u6a5f\u80fd\u306f Docker \u306b\u306f\u4e00\u5207\u306a\u3044\u3002\u7ba1\u7406\u7528\u30d7\u30ed\u30b0\u30e9\u30e0\u3092\u4f5c\u308a\u8fbc\u3081\u3070\u3067\u304d\u308b\u3051\u3069\u3001\u304b\u306a\u308a\u5927\u5909\u3002<\/p>\n\n\n\n<p>\u305d\u3053\u3067\u5404\u793e\u304c\u3001Docker \u306b\u6b20\u3051\u3066\u3044\u308b\u7ba1\u7406\u6a5f\u80fd\u3092\u958b\u767a\u3057\u305f\u3002\u3053\u308c\u3092\u300c\u30b3\u30f3\u30c6\u30ca\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3\u30b5\u30fc\u30d3\u30b9\u300d\u3068\u547c\u3076\u3002 Amazon \u304c\u958b\u767a\u3057\u305f\u30b3\u30f3\u30c6\u30ca\u30aa\u30fc\u30b1\u30b9\u30c8\u30ec\u30fc\u30b7\u30e7\u30f3\u30b5\u30fc\u30d3\u30b9\u304c&nbsp;<a href='\/8\/#ecs'>Amazon ECS<\/a>\u3002 Google \u304c\u958b\u767a\u3057\u305f\u306e\u304c Kubernetes\u3002Docker \u793e\u304c\u958b\u767a\u3057\u305f\u306e\u304c Docker Swarm\u3002 \u3044\u305a\u308c\u3082\u3067\u304d\u308b\u3053\u3068\u306f\u4f3c\u3066\u3044\u308b\u304c\u3001\u30b3\u30de\u30f3\u30c9\u3084\u8a2d\u5b9a\u30d5\u30a1\u30a4\u30eb\u306a\u3069\u306f\u5168\u7136\u9055\u3046\u3002<\/p>\n\n\n\n<p>2017\u5e74\u3001AWS \u3082\u3001Azure \u3082\u3001Docker \u793e\u3082 Kubernetes \u306b\u5bfe\u5fdc\u3057\u305f\u306e\u3067\u3001 \u3053\u306e\u307e\u307e\u3044\u304f\u3068 Kubernetes \u304c\u30c7\u30d5\u30a1\u30af\u30c8\u30b9\u30bf\u30f3\u30c0\u30fc\u30c9\u306b\u306a\u308a\u305d\u3046\u3002<\/p>\n\n\n\n<p><a href='\/39\/#container'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (container)<\/a><br>\n<\/p>\n\n\n\n<h3 id='functions' style='margin-top: 1em; padding-top: 1em'>Cloud Functions \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/functions\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Functions<\/a><br>\u30b5\u30fc\u30d0\u30ec\u30b9\u3067\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u5b9f\u884c\u3002Compute Engine \u3084 App Engine \u3092\u7528\u610f\u3059\u308b\u5fc5\u8981\u304c\u306a\u3044\u3002 \u6b63\u5f0f\u306a\u5bfe\u5fdc\u8a00\u8a9e\u306f Node.js\u30fbPython3\u30fbGo\u3002HTTP \u3084\u3001Cloud Storage\u30fbCloud Pub\/Sub \u3092\u30c8\u30ea\u30ac\u30fc\u3068\u3057\u3066\u8d77\u52d5\u3055\u305b\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u30022018\/7 GA\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/111\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#serverlesspaas'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (serverlesspaas)<\/a><br>\n<\/p>\n\n\n\n<h2 id=\"storage-database\">\u30b9\u30c8\u30ec\u30fc\u30b8\u3068\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9<\/h2>\n\n\n\n<h3 id='storage' style='margin-top: 1em; padding-top: 1em'>Google Cloud Storage \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/storage\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Google Cloud Storage<\/a><br>GCP \u304c\u63d0\u4f9b\u3059\u308b\u30b9\u30c8\u30ec\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u3002\u5bb9\u91cf\u7121\u5236\u9650\u3002 \u81ea\u52d5\u7684\u306b\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3092\u751f\u6210\u3002\u7ba1\u7406\u30b3\u30f3\u30bd\u30fc\u30eb\u30fb\u5c02\u7528 SDK\u30fb\u5c02\u7528 API \u306b\u3066\u64cd\u4f5c\u3059\u308b\u3002 \u30ed\u30b0\u30d5\u30a1\u30a4\u30eb\u3084\u30c7\u30fc\u30bf\u30d5\u30a1\u30a4\u30eb\u4fdd\u5b58\u7f6e\u304d\u5834\u3068\u3059\u308b\u306e\u304c\u4e00\u822c\u7684\u3002 Cloud Storage \u306b\u914d\u7f6e\u3057\u3066 Web \u4e0a\u3067\u516c\u958b\u3067\u304d\u308b\u305f\u3081\u3001\u753b\u50cf\u30d5\u30a1\u30a4\u30eb\u3084 HTML\u30fbCSS \u7b49\u306e\u7f6e\u304d\u5834\u6240\u3068\u3057\u3066\u4f7f\u3046\u3053\u3068\u3082\u3067\u304d\u308b\u3002 \u305d\u306e\u969b\u3001Cache-Control\u30fbContent-Type \u306a\u3069\u306e\u30e1\u30bf\u30c7\u30fc\u30bf\u3084\u3001404 \u6642\u306b\u8868\u793a\u3059\u308b HTML \u3092\u8a2d\u5b9a\u53ef\u80fd\u3002 Multi-Regional Storage\u30fbRegional Storage\u30fbNearline Storage\u30fbColdline Storage \u3068\u3044\u3046 4\u7a2e\u985e\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u30af\u30e9\u30b9\u304c\u3042\u308a\u3001 \u5148\u306b\u3042\u308b\u3082\u306e\u307b\u3069\u5197\u9577\u6027\u304c\u9ad8\u3044\u304c\u3001\u4fa1\u683c\u304c\u5b89\u3044\u3002 \u30b5\u30fc\u30d0\u5074\u3067\u81ea\u52d5\u7684\u306b\u6697\u53f7\u5316\u3055\u308c\u308b\u304c\u3001\u30e6\u30fc\u30b6\u5074\u3067\u884c\u3046\u6697\u53f7\u3092\u3055\u3089\u306b\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/48\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#storage'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (storage)<\/a><br>\n<\/p>\n\n\n\n<h3 id='storage-transfer-service' style='margin-top: 1em; padding-top: 1em'>Cloud Storage Transfer Service \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/storage-transfer\/docs\/overview\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Storage Transfer Service<\/a>\n\n\n\n<p>GCS \u304b\u3089 GCS\u3001<a href='\/8\/#s3'>Amazon S3<\/a> \u304b\u3089 GCS\u3001http\/https \u304b\u3089 GCS\u3001\u306e\u3044\u305a\u308c\u304b\u3067\u30d5\u30a1\u30a4\u30eb\u3092\u8ee2\u9001\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3002\u8ee2\u9001\u5148\u306f GCS \u306e\u307f\u3002<\/p>\n\n\n\n<p>1\u56de\u9650\u308a\u306e\u8ee2\u9001\u304b\u30011\u65e51\u56deN\u6642M\u5206\u306e\u5b9a\u671f\u8ee2\u9001\u306e\u3044\u305a\u308c\u304b\u3067\u5b9f\u884c\u3059\u308b (\u6bce\u6642\u8d77\u52d5\u3084\u3001\u6bce\u6708N\u65e5\u8d77\u52d5\u306f\u3067\u304d\u306a\u3044)\u3002Stroage Transfer Service \u81ea\u4f53\u306f\u7121\u6599\u306a\u306e\u3067\u3001<a href='\/37\/#compute-engine'>Compute Engine<\/a> \u3092\u7acb\u3061\u4e0a\u3052\u3066 gsutil cp \u3084 gsutil rsync \u3092\u5b9f\u884c\u3059\u308b\u3088\u308a\u7d4c\u6e08\u7684\u304b\u3064\u9ad8\u901f\u3002<\/p>\n\n\n\n<p>2019\/2 \u73fe\u5728\u3001gsutil \u7b49\u306e\u30b3\u30de\u30f3\u30c9\u3067\u6295\u5165\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u305a\u3001\u8d85\u7d76\u4f7f\u3044\u3065\u3089\u3044 GCP \u30b3\u30f3\u30bd\u30fc\u30eb (\u7ba1\u7406\u753b\u9762) \u304b\u3089\u6295\u5165\u3059\u308b\u304b\u3001Cloud SDK \u30e9\u30a4\u30d6\u30e9\u30ea\u7d4c\u7531\u3067\u81ea\u4f5c\u3059\u308b\u3057\u304b\u306a\u3044\u3002\u307e\u305f\u30012019\/2 \u73fe\u5728\u3001\u30bf\u30a4\u30e0\u30a2\u30a6\u30c8\u30fb\u30a8\u30e9\u30fc\u901a\u77e5\u6a5f\u80fd\u304c\u306a\u3044\u305f\u3081\u3001\u30df\u30c3\u30b7\u30e7\u30f3\u30af\u30ea\u30c6\u30a3\u30ab\u30eb\u306a\u7528\u9014\u3067\u4f7f\u3046\u306e\u306f\u5fae\u5999\u3002<\/p>\n\n\n\n<h3 id='sql' style='margin-top: 1em; padding-top: 1em'>Cloud SQL \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/sql\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud SQL<\/a><br>MySQL\u30fbPostgreSQL \u3092\u7c21\u5358\u306b\u7acb\u3061\u4e0a\u3052\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u307e\u305f\u3001\u7c21\u5358\u306b\u8d77\u52d5\u30fb\u7d42\u4e86\u3057\u305f\u308a\u3001\u30ea\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3084\u30ea\u30fc\u30c9\u30ec\u30d7\u30ea\u30ab (\u8aad\u307f\u53d6\u308a\u5c02\u7528\u306e\u8907\u88fd) \u3092\u4f5c\u6210\u3057\u305f\u308a\u3001\u5b9a\u671f\u7684\u306a\u30d0\u30c3\u30af\u30a2\u30c3\u30d7\u3084\u4efb\u610f\u6642\u70b9\u306e\u30c7\u30fc\u30bf\u5fa9\u65e7\u3082\u53ef\u80fd\u3002Compute Engine \u3092\u7acb\u3061\u4e0a\u3052\u3066\u305d\u3053\u3067 DB \u3092\u52d5\u304b\u3059\u3053\u3068\u306b\u6bd4\u3079\u308b\u3068\u3001\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30fb\u8a2d\u5b9a\u30fb\u30d1\u30c3\u30c1\u9069\u7528\u306a\u3069\u306e\u5de5\u6570\u3092\u524a\u6e1b\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/50\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#rdbms'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (rdbms)<\/a><br>\n<\/p>\n\n\n\n<h3 id='bigtable' style='margin-top: 1em; padding-top: 1em'>Cloud Bigtable \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/bigtable\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Bigtable<\/a><br>Google \u304c\u8a87\u308b\u9ad8\u901f\u30fb\u5927\u898f\u6a21\u306a\u5217\u6307\u5411\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30b5\u30fc\u30d3\u30b9\u3002 Google \u306e\u691c\u7d22\u30b5\u30fc\u30d3\u30b9\u3084 Gmail \u3067\u4f7f\u3063\u3066\u3044\u308b Bigtable \uff08\u30d3\u30c3\u30b0\u30c6\u30fc\u30d6\u30eb) \u3092 GCP \u304b\u3089\u5229\u7528\u53ef\u80fd\u3068\u3057\u305f\u3082\u306e\u3002 \u5bb9\u91cf\u7121\u5236\u9650\u3002 \u30c7\u30fc\u30bf\u30a2\u30af\u30bb\u30b9\u306b\u306f SDK\u30fbHBase \u30b7\u30a7\u30eb\u30fbcbt \u30b3\u30de\u30f3\u30c9\u30e9\u30a4\u30f3\u30c4\u30fc\u30eb\u3092\u4f7f\u3046\u3002 \u30c7\u30fc\u30bf\u306f Key-Value \u5f62\u5f0f\u3067\u4fdd\u6301\u3002 SQL \u3067\u306f\u306a\u304f\u3001GET\u30fbPUT\u30fbSCAN \u3068\u3044\u3063\u305f\u6982\u5ff5\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3002 \u6a5f\u80fd\u306f\u6975\u3081\u3066\u9650\u5b9a\u3055\u308c\u3066\u304a\u308a\u3001\u30ad\u30fc\u3067\u306e\u691c\u7d22\u30fb\u7bc4\u56f2\u691c\u7d22\u306f\u3067\u304d\u308b\u304c\u3001\u5024\u3067\u306e\u691c\u7d22\u306f\u4e00\u5207\u3067\u304d\u306a\u3044\u3002 \u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306f\u3001\u884c\u5358\u4f4d\u306e\u307f\u3002 \u3082\u3046\u3061\u3087\u3063\u3068\u4f7f\u3044\u3084\u3059\u3044 KVS \u3068\u3057\u3066\u3001<a href='\/37\/#datastore'>Cloud Datastore<\/a>&nbsp;\u304c\u3042\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#nosql'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (nosql)<\/a><br>\n<\/p>\n\n\n\n<h3 id='spanner' style='margin-top: 1em; padding-top: 1em'>Cloud Spanner \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/spanner\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Spanner<\/a><br>\u3053\u308c\u307e\u3067\u4e0d\u53ef\u80fd\u3068\u3055\u308c\u3066\u3044\u305f\u5927\u898f\u6a21\u306a\u30c7\u30fc\u30bf\u5206\u6563\u304c\u53ef\u80fd\u306a\u30ea\u30ec\u30fc\u30b7\u30e7\u30ca\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u3002 SQL \u3067\u30a2\u30af\u30bb\u30b9\u53ef\u80fd\u3067\u3001\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u51e6\u7406\u3082\u53ef\u80fd\u3002 AWS \u306b\u3082 Azure \u306b\u3082\u540c\u985e\u306e\u30b5\u30fc\u30d3\u30b9\u306f\u306a\u3044\u306e\u3067\u3001GCP \u306e\u76ee\u7389\u6a5f\u80fd\u306e\u4e00\u3064\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#distributed-rdbms'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (distributed-rdbms)<\/a><br>\n<\/p>\n\n\n\n<h3 id='datastore' style='margin-top: 1em; padding-top: 1em'>Cloud Datastore \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/datastore\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Datastore<\/a><br>\u6c38\u7d9a\u7684\u306a Key-Value \u30b9\u30c8\u30a2\u3002 NoSQL \u306a\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u30fb\u4f4e\u9045\u5ef6\u3068\u3044\u3046\u5229\u70b9\u3068\u3001 \u30ea\u30ec\u30fc\u30b7\u30e7\u30ca\u30eb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u306e ACID \u7279\u6027\u3084\u30c8\u30e9\u30f3\u30b6\u30af\u30b7\u30e7\u30f3\u306e\u3088\u3044\u3068\u3053\u3069\u308a\u3092\u3057\u305f\u3082\u306e\u3002 SQL \u7684\u306a\u66f8\u304d\u65b9\u304c\u3067\u304d\u308b\u304c\u3001JOIN \u4e0d\u53ef\u306a\u3069\u306e\u4e0d\u4fbf\u306a\u70b9\u306f\u3042\u308b\u3002 \u5185\u90e8\u7684\u306b\u306f&nbsp;<a href='\/37\/#bigtable'>Cloud Bigtable<\/a>&nbsp;\u306e\u57fa\u76e4\u306e\u4e0a\u306b\u306e\u3063\u304b\u3063\u3066\u3044\u308b\u3089\u3057\u3044\u3002\u5f8c\u7d99\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066 <a href='\/37\/#firestore'>Cloud Firestore<\/a> \u304c\u3042\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#nosql'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (nosql)<\/a><br>\n<\/p>\n\n\n\n<h3 id='\u6c38\u7d9a\u30c7\u30a3\u30b9\u30af' style='margin-top: 1em; padding-top: 1em'>\u6c38\u7d9a\u30c7\u30a3\u30b9\u30af \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/persistent-disk\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a \u6c38\u7d9a\u30c7\u30a3\u30b9\u30af<\/a><br>\u300c\u6c38\u7d9a\u30c7\u30a3\u30b9\u30af\u300d\u306f <a href='\/37\/#compute-engine'>Compute Engine<\/a> \u306b\u63a5\u7d9a\u3057\u3066\u4f7f\u7528\u3059\u308b\u30c7\u30a3\u30b9\u30af\u306e\u3053\u3068\u3002AWS \u3067\u306f <a href='\/8\/#ebs'>EBS<\/a> \u306b\u76f8\u5f53\u3059\u308b\u3002 \u82f1\u8a9e\u540d\u306f &#8220;Persistent Disk&#8221;\u3002&#8221;PD&#8221; \u3068\u7565\u3059\u308b\u3053\u3068\u3082\u3042\u308b\u3002<\/p>\n\n\n\n<p>HDD\u30fbSSD \u9078\u629e\u53ef\u80fd\u3002\u6700\u5927\u5bb9\u91cf 64TB\u3002 \u5b9f\u4f53\u3068\u3057\u3066\u306f\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u7d4c\u7531\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u3002 \u57fa\u672c\u7684\u306b\u306f AWS \u306e EBS \u3068\u540c\u69d8\u306b 1\u3064\u306e GCE\u30fbGKE \u306b\u63a5\u7d9a\u3057\u3066\u4f7f\u3046\u3082\u306e\u3067\u3042\u308b\u304c\u3001 EBS \u3068\u7570\u306a\u308a\u3001\u30ea\u30fc\u30c9\u30aa\u30f3\u30ea\u30fc\u306e\u5834\u5408\u306f\u8907\u6570\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u63a5\u7d9a\u3059\u308b\u3068\u3067\u30c7\u30fc\u30bf\u5171\u6709\u304c\u7c21\u5358\u306b\u884c\u3048\u308b (\u305f\u3060\u3057\u5168\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u304b\u3089\u30ea\u30fc\u30c9\u30aa\u30f3\u30ea\u30fc\u3067\u3042\u308b\u305f\u3081\u3001\u66f4\u65b0\u306f\u3067\u304d\u306a\u3044\u3002\u4f7f\u3044\u6240\u306f\u9650\u5b9a\u3055\u308c\u308b\u3060\u308d\u3046)\u3002 <\/p>\n\n\n\n<p>\u6c38\u7d9a\u30c7\u30a3\u30b9\u30af\u306b\u5bfe\u3057\u3001\u30b9\u30ca\u30c3\u30d7\u30b7\u30e7\u30c3\u30c8\u3084\u30a4\u30e1\u30fc\u30b8\u306e\u4f5c\u6210\u304c\u884c\u3048\u308b\u3002<\/p>\n\n\n\n<p>GCP\u30fbGKE \u306b\u63a5\u7d9a\u53ef\u80fd\u306a\u30b9\u30c8\u30ec\u30fc\u30b8\u3067\u3001\u6c38\u7d9a\u30c7\u30a3\u30b9\u30af\u4ee5\u5916\u306e\u3082\u306e\u306b\u300c\u30ed\u30fc\u30ab\u30eb SSD\u300d\u304c\u3042\u308b\u3002 \u3053\u308c\u306f\u5197\u9577\u6027\u3084\u6c38\u7d9a\u6027\u304c\u4fdd\u8a3c\u3055\u308c\u3066\u3044\u306a\u3044\u304c\u3001NVMe \u63a5\u7d9a\u304c\u3067\u304d\u308b\u306e\u3067\u8d85\u9ad8\u901f\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#iaasstorage'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (iaasstorage)<\/a><br>\n<\/p>\n\n\n\n<h3 id='memorystore' style='margin-top: 1em; padding-top: 1em'>Cloud Memorystore \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/memorystore\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Memorystore<\/a><br>\u30aa\u30f3\u30e1\u30e2\u30ea\u306a\u30ad\u30e3\u30c3\u30b7\u30e5\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b Redis \u3092\u3001GCP \u4e0a\u3067\u5229\u7528\u53ef\u80fd\u306b\u3057\u305f\u30de\u30cd\u30fc\u30b8\u30c9\u30b5\u30fc\u30d3\u30b9\u3002 \u8ab2\u91d1\u306f\u79d2\u5358\u4f4d\u30022018\/9 GA (\u4e00\u822c\u5229\u7528\u53ef\u80fd)\u3002<\/p>\n\n\n\n<p><a href='\/39\/#cache'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (cache)<\/a><br>\n<\/p>\n\n\n\n<h3 id='filestore' style='margin-top: 1em; padding-top: 1em'>Cloud Filestore \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/filestore\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Filestore<\/a>\n\n\n\n<p>\u8907\u6570\u306e GCE \u3084 GKE \u304b\u3089 NFS \u3067\u30de\u30a6\u30f3\u30c8\u3067\u304d\u308b\u30d5\u30a1\u30a4\u30eb\u30b5\u30fc\u30d0\u3002\u6700\u592763TB\u3002<\/p>\n\n\n\n<p>\u306a\u304a\u3001Cloud Fi<strong>R<\/strong>estore \u3068\u306f\u5225\u7269\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#filestorage'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (filestorage)<\/a><br>\n<\/p>\n\n\n\n<h3 id='firestore' style='margin-top: 1em; padding-top: 1em'>Cloud Firestore \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/firestore\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Firestore<\/a>\n\n\n\n<p>Cloud Fi<strong>L<\/strong>estore \u3068\u306f\u5225\u7269\u3067\u3042\u308b\u3002<a href='\/37\/#datastore'>Cloud Datastore<\/a> \u306e\u5f8c\u7d99\u3068\u306a\u308b NoSQL \u7cfb\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u30022019\/01\/31 GA\u3002<\/p>\n\n\n\n<h2 id=\"networking\">\u30cd\u30c3\u30c8\u30ef\u30fc\u30ad\u30f3\u30b0<\/h2>\n\n\n\n<h3 id='vpc' style='margin-top: 1em; padding-top: 1em'>Virtual Private Cloud (VPC) \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#network'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (network)<\/a><br>\n<\/p>\n\n\n\n<h3 id='load-balancing' style='margin-top: 1em; padding-top: 1em'>Google Cloud Load Balancing \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#lb'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (lb)<\/a><br>\n<a href='\/39\/#certificate'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (certificate)<\/a><br>\n<\/p>\n\n\n\n<h3 id='armor' style='margin-top: 1em; padding-top: 1em'>Cloud Armor \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/armor\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Armor<\/a><br>Cloud Armor (\u30af\u30e9\u30a6\u30c9\u30a2\u30fc\u30de\u30fc) \u306f\u3001Global HTTP(S) Load Balancer \u306b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u9632\u5fa1\u6a5f\u80fd\u3092\u8ffd\u52a0\u3059\u308b\u5f62\u306e\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u3002 DDoS \u5bfe\u7b56\u6a5f\u80fd\u306f Global HTTP(S) Load Balancer \u3092\u8a2d\u5b9a\u3059\u308b\u3060\u3051\u3067\u6709\u52b9\u306b\u306a\u308b\u3002 \u307e\u305f\u3001IP \u30a2\u30c9\u30ec\u30b9\u306b\u3088\u308b\u5236\u9650\u3092\u304b\u3051\u308b\u3053\u3068\u3082\u3067\u304d\u3001\u30db\u30ef\u30a4\u30c8\u30ea\u30b9\u30c8\u30fb\u30d6\u30e9\u30c3\u30af\u30ea\u30b9\u30c8\u65b9\u5f0f\u304c\u4f7f\u3048\u308b\u3002 IP \u30a2\u30c9\u30ec\u30b9\u5236\u9650\u3082 Global HTTP(S) Load Balancer \u306b\u7d10\u3065\u304f\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u3002 \u4e0a\u8a18\u306e DDoS \u3068 IP \u30a2\u30c9\u30ec\u30b9\u5236\u9650\u306f 2018\/4 \u73fe\u5728\u30d9\u30fc\u30bf\u3067\u3042\u308b\u3002 \u3055\u3089\u306b\u30d7\u30e9\u30a4\u30d9\u30fc\u30c8\u30a2\u30eb\u30d5\u30a1\u3068\u3057\u3066 WAF \u6a5f\u80fd\u304c\u3042\u308a\u3001XSS \u3084 SQL \u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3\u3092\u9632\u5fa1\u3067\u304d\u308b\u3068\u306e\u3053\u3068\u3002<\/p>\n\n\n\n<p><a href='\/39\/#waf'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (waf)<\/a><br>\n<a href='\/39\/#ddos'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (ddos)<\/a><br>\n<\/p>\n\n\n\n<h3 id='cdn' style='margin-top: 1em; padding-top: 1em'>Cloud CDN \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/cdn\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud CDN<\/a><br>GCP \u306e CDN \u30b5\u30fc\u30d3\u30b9\u3002\u4e3b\u306b\u753b\u50cf\u7b49\u306e\u9759\u7684\u306a\u30d5\u30a1\u30a4\u30eb\u3092\u914d\u7f6e\u3059\u308b\u3053\u3068\u3067\u3001 \u30ec\u30b9\u30dd\u30f3\u30b9\u30bf\u30a4\u30e0\u5411\u4e0a\u30fb\u30b5\u30fc\u30d0\u8ca0\u8377\u8efd\u6e1b\u304c\u5b9f\u73fe\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/56\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#cdn'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (cdn)<\/a><br>\n<\/p>\n\n\n\n<h3 id='interconnect' style='margin-top: 1em; padding-top: 1em'>Cloud Interconnect \u3068\u306f<\/h3>\n\n\n\n<h3 id='dns' style='margin-top: 1em; padding-top: 1em'>Cloud DNS \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/dns\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud DNS<\/a><br>DNS \u30b5\u30fc\u30d3\u30b9\u3002\u30c9\u30e1\u30a4\u30f3\u306e A\u30ec\u30b3\u30fc\u30c9\u3084 PTR \u30ec\u30b3\u30fc\u30c9\u306a\u3069\u3092\u8a2d\u5b9a\u3059\u308b\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/58\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#dns'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (dns)<\/a><br>\n<\/p>\n\n\n\n<h3 id='vpn' style='margin-top: 1em; padding-top: 1em'>Cloud VPN \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#vpn'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (vpn)<\/a><br>\n<\/p>\n\n\n\n<h2 id=\"bigdata\">\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf<\/h2>\n\n\n\n<h3 id='bigquery' style='margin-top: 1em; padding-top: 1em'>Google BigQuery \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/bigquery\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Google BigQuery<\/a><br>\u30c7\u30fc\u30bf\u30a6\u30a7\u30a2\u30cf\u30a6\u30b9 (DWH) \u30a8\u30f3\u30b8\u30f3\u3002DWH \u3068\u306f\u300c\u30c7\u30fc\u30bf\u5009\u5eab\u300d\u306e\u610f\u5473\u3067\u3001\u6570\u5343\u4e07\u4ef6\u3084\u6570\u5104\u4e07\u4ef6\u306e\u58f2\u4e0a\u30c7\u30fc\u30bf\u3092\u3069\u30fc\u3093\u3068\u7a81\u3063\u8fbc\u3093\u3067\u3001 \u5e74\u9f62\u5c64\u3084\u5730\u57df\u5c64\u3054\u3068\u306e\u5206\u6790\u304c\u3067\u304d\u305f\u308a\u3059\u308b\u3002\u305d\u306e\u5834\u305d\u306e\u5834\u3067\u5207\u308a\u53e3\u3092\u5909\u3048\u3066\u3082\u52d5\u4f5c\u3059\u308b\u3088\u3046\u3001\u3044\u3061\u3044\u3061\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u306a\u3069\u3092\u5f35\u3063\u305f\u308a\u3057\u306a\u304f\u3066\u3082\u3001 \u305d\u308c\u306a\u308a\u306b\u9ad8\u901f\u306b\u52d5\u304f\u3088\u3046\u306b\u306a\u3063\u3066\u3044\u308b\u3002 BigQuery \u306f\u5358\u306a\u308b\u30a8\u30f3\u30b8\u30f3\u306a\u306e\u3067\u3001\u30a8\u30f3\u30b8\u30cb\u30a2\u3067\u3042\u308c\u3070\u30d6\u30e9\u30a6\u30b6\u4e0a\u306e\u30c4\u30fc\u30eb\u3084 bq \u30b3\u30de\u30f3\u30c9\u3067 SQL \u3092\u66f8\u3044\u3066\u5206\u6790\u3059\u308c\u3070\u3088\u3044\u3057\u3001 \u975e\u30a8\u30f3\u30b8\u30cb\u30a2\u5411\u3051\u3067\u3042\u308c\u3070&nbsp;<a href='\/37\/#data-studio'>Google Data Studio<\/a>\u30fbPowerBI\u30fbQlik \u306a\u3069\u306e\u4e00\u822c\u7684\u306a BI \u30c4\u30fc\u30eb\u3092\u4f7f\u3046\u3002 \u30b7\u30b9\u30c6\u30e0\u9023\u643a\u3059\u308b\u306a\u3089 Apache Spark\u3001Hadoop \u304b\u3089\u9023\u643a\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p>Amazon Redshift \u3068 Azure SQL Data Warehouse \u3068\u306e\u6bd4\u8f03\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/63\/\">\u3053\u3061\u3089<\/a>\u3002BigQuery FAQ \u306f <a href=\"https:\/\/cloud-textbook.com\/3635\/\">\u3053\u3061\u3089<\/a>\u3002<\/p>\n\n\n\n<p><a href='\/39\/#dwh'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (dwh)<\/a><br>\n<a href='\/39\/#bigdata-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (bigdata-analysis)<\/a><br>\n<\/p>\n\n\n\n<h3 id='bigquery-data-transfer-service' style='margin-top: 1em; padding-top: 1em'>BigQuery Data Transfer Service \u3068\u306f<\/h3>\n\n\n\n<h3 id='data-fusion' style='margin-top: 1em; padding-top: 1em'>Cloud Data Fusion \u3068\u306f<\/h3>\n\n\n\n<h3 id='dataflow' style='margin-top: 1em; padding-top: 1em'>Cloud Dataflow \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/dataflow\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Dataflow<\/a><br><\/p>\n\n\n\n<p>\u3042\u308b\u5165\u529b\u3092\u5143\u306b\u3001\u4f55\u304b\u306e\u51e6\u7406\u3092\u3057\u3066\u3001\u51fa\u529b\u3059\u308b\u3068\u3044\u3046\u30c7\u30fc\u30bf\u51e6\u7406\u3092\u5b9a\u7fa9\u3057\u3066\u304a\u304f\u3053\u3068\u3067\u3001 GCE \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u81ea\u52d5\u7684\u306b\u8907\u6570\u7acb\u3061\u4e0a\u3052\u3001\u5206\u6563\u51e6\u7406\u3092\u3057\u3066\u3001\u51e6\u7406\u304c\u7d42\u308f\u308c\u3070\u7d42\u4e86\u3057\u3066\u304f\u308c\u308b\u30b5\u30fc\u30d3\u30b9\u3002<\/p>\n\n\n\n<p>\u300c\u7121\u9650\u306b\u30c7\u30fc\u30bf\u304c\u767a\u751f\u3057\u3001\u30c7\u30fc\u30bf\u9045\u5ef6\u30fb\u6b20\u640d\u304c\u3042\u308a\u3046\u308b\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u30c7\u30fc\u30bf\u300d\u3068 \u300c\u7bc4\u56f2\u304c\u9650\u5b9a\u3055\u308c\u3066\u78ba\u5b9a\u3057\u3066\u3044\u308b\u30d0\u30c3\u30c1\u30c7\u30fc\u30bf\u300d\u306e\u4e21\u65b9\u3092 (\u307b\u307c) \u540c\u3058\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u3067\u51e6\u7406\u3067\u304d\u308b\u306e\u304c\u7279\u5fb4\u3002 \u5165\u529b\u306f&nbsp;<a href='\/37\/#pub\/sub'>Cloud Pub\/Sub<\/a>\u30fb<a href='\/37\/#datastore'>Cloud DataStore<\/a>\u3001\u51fa\u529b\u306f&nbsp;<a href='\/37\/#bigquery'>Cloud BigQuery<\/a>\u30fb<a href='\/37\/#bigtable'>Cloud Bigtable<\/a>&nbsp;\u306a\u3069\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/67\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#stream'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (stream)<\/a><br>\n<\/p>\n\n\n\n<h3 id='dataproc' style='margin-top: 1em; padding-top: 1em'>Cloud Dataproc \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/dataproc\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Dataproc<\/a><br>GCP \u4e0a\u3067 Hadoop \u3084\u3001Hive \u3084\u3001Apache Spark \u3092\u7c21\u5358\u306b\u4f7f\u3046\u4ed5\u7d44\u307f\u3002 \u4f55\u304c\u3067\u304d\u308b\u304b\u3068\u8a00\u3046\u3068\u3001Hadoop \u3084 Spark \u3092\u4f7f\u3063\u3066\u3001\u30d3\u30c3\u30b0\u30c7\u30fc\u30bf\u306e\u5206\u6563\u51e6\u7406\u304c\u884c\u3048\u308b\u3002 Hadoop \u306f\u3001\u8907\u6570\u30de\u30b7\u30f3\u306b\u30c7\u30fc\u30bf\u3092\u5206\u6563\u3055\u305b\u3066 MapReduce \u304c\u3067\u304d\u308b\u4ed5\u7d44\u307f\u3002 Hive \u306f Hadoop \u3092 SQL \u3067\u64cd\u4f5c\u53ef\u80fd\u306b\u3059\u308b\u4ed5\u7d44\u307f\u30fb Spark \u306f MapReduce \u90e8\u5206\u306e\u4ee3\u66ff\u54c1\u3067\u30aa\u30f3\u30e1\u30e2\u30ea\u306b\u3088\u308a\u9ad8\u901f\u5316\u3059\u308b\u306e\u304c\u72d9\u3044\u3002<\/p>\n\n\n\n<p><a href='\/39\/#bigdata-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (bigdata-analysis)<\/a><br>\n<\/p>\n\n\n\n<h3 id='composer' style='margin-top: 1em; padding-top: 1em'>Cloud Composer \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/composer\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Composer<\/a><br>\u30b8\u30e7\u30d6\u30fb\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u7ba1\u7406\u30c4\u30fc\u30eb\u3002\u300c\u51e6\u7406 A \u304c\u7d42\u308f\u3063\u305f\u3089\u51e6\u7406 B\u3001\u305d\u308c\u304c\u7d42\u308f\u3063\u305f\u3089\u51e6\u7406 C \u3068\u51e6\u7406 D \u3092\u5e73\u884c\u5b9f\u884c\u3057\u3066\u3001\u4e21\u65b9\u306e\u7d42\u4e86\u3092\u5f85\u3063\u3066\u51e6\u7406 E \u3092\u884c\u3046\u300d \u3068\u3044\u3063\u305f\u30d5\u30ed\u30fc\u3092\u5b9a\u7fa9\u3057\u305f\u4e0a\u3067\u3001\u305d\u308c\u3092\u624b\u52d5\u5b9f\u884c\u3057\u305f\u308a\u3001\u6bce\u6642N\u5206\u3084\u6bce\u65e5N\u6642\u306a\u3069\u306b\u5b9a\u671f\u5b9f\u884c\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p>\u30d5\u30ed\u30fc\u5b9a\u7fa9\u306f\u753b\u9762\u4e0a\u3067\u64cd\u4f5c\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001DAG \u30d5\u30a1\u30a4\u30eb\u3068\u3044\u3046 Python \u30b9\u30af\u30ea\u30d7\u30c8\u3092\u30b4\u30ea\u30b4\u30ea\u66f8\u3044\u3066\u4f5c\u308b\u3002 Pub\/Sub\u30fbBigQuery\u30fbDataflow\u30fbsh \u30b9\u30af\u30ea\u30d7\u30c8\u306a\u3069\u3001\u57fa\u672c\u7684\u306a\u64cd\u4f5c\u30e9\u30a4\u30d6\u30e9\u30ea\u306f\u6e96\u5099\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u3001 (\u6bd4\u8f03\u7684) \u7c21\u5358\u306b\u66f8\u3051\u308b\u3002\u30a8\u30e9\u30fc\u901a\u77e5\u30fb\u30ea\u30c8\u30e9\u30a4\u56de\u6570\u30fb\u30ea\u30c8\u30e9\u30a4\u30a4\u30f3\u30bf\u30fc\u30d0\u30eb\u7b49\u3001\u57fa\u672c\u7684\u306a\u6a5f\u80fd\u306f\u5b9f\u88c5\u3055\u308c\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p>Cloud Composer \u306f Apache Airflow \u3068\u3044\u3046\u30d5\u30ea\u30fc\u306e\u30ef\u30fc\u30af\u30d5\u30ed\u30fc\u30a8\u30f3\u30b8\u30f3\u3092 GCP \u306e\u30de\u30cd\u30fc\u30b8\u30c9\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066\u53d6\u308a\u8fbc\u3093\u3060\u3082\u306e\u3002<\/p>\n\n\n\n<p>\u6708\u9593 $350 \u7a0b\u5ea6\u306e\u30b3\u30b9\u30c8\u304c\u304b\u304b\u308b\u3053\u3068\u306b\u6ce8\u610f\u3002<\/p>\n\n\n\n<p>\u3055\u3089\u306a\u308b\u60c5\u5831\u306f\u4e0b\u8a18\u3092\u53c2\u7167\u3002<\/p>\n\n\n\n<ul><li><a href=\"https:\/\/cloud-textbook.com\/69\/\">Composer FAQ<\/a><\/li><li><a href=\"https:\/\/cloud-textbook.com\/79\/\">Composer \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/a><\/li><\/ul>\n\n\n\n<p><a href='\/39\/#job-flow'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (job-flow)<\/a><br>\n<\/p>\n\n\n\n<h3 id='datalab' style='margin-top: 1em; padding-top: 1em'>Cloud Datalab \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/datalab\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Datalab<\/a><br>\u30c7\u30fc\u30bf\u5206\u6790\u306e\u305f\u3081\u306e\u30d5\u30ea\u30fc\u306e\u30c4\u30fc\u30eb Jupyter Notebook \u3092\u3001 GCP \u4e0a\u3067\u624b\u8efd\u306b\u5229\u7528\u3057\u3084\u3059\u3044\u3088\u3046 Google \u304c\u6539\u9020\u3057\u305f\u3082\u306e\u3002 \u8d77\u52d5\u304c\u7c21\u5358\u30fb\u4ed6\u306e\u30e6\u30fc\u30b6\u3068\u60c5\u5831\u3092\u5171\u6709\u3057\u3084\u3059\u3044\u30fbBigQuery \u306a\u3069 Google \u30b5\u30fc\u30d3\u30b9\u3068\u306e\u9023\u643a\u304c\u7c21\u5358\u3068\u3044\u3046\u5229\u70b9\u304c\u3042\u308b\u3002 Datalab \u306b\u306f Web \u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3001SQL\u30fbPython \u7b49\u3067\u30b3\u30fc\u30c9\u3092\u8a18\u8ff0\u3057\u3001\u7d50\u679c\u3092\u30b0\u30e9\u30d5\u3067\u898b\u305f\u308a\u3059\u308b\u3002 Cloud Datalab \u81ea\u4f53\u306f\u7121\u6599\u3060\u304c\u3001Cloud Datalab \u306f&nbsp;<a href='\/37\/#compute-engine'>Compute Engine<\/a>&nbsp;\u4e0a\u3067\u52d5\u4f5c\u3059\u308b\u305f\u3081\u3001 GCE \u306e\u8cbb\u7528\u306f\u304b\u304b\u308b\u3002\u307e\u305f\u3001\u30b9\u30c8\u30ec\u30fc\u30b8\u30fbBigQuery \u7b49\u3068\u9023\u643a\u3059\u308b\u90e8\u5206\u3082\u3001\u305d\u308c\u3089\u306e\u8cbb\u7528\u306f\u304b\u304b\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#bigdata-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (bigdata-analysis)<\/a><br>\n<\/p>\n\n\n\n<h3 id='dataprep' style='margin-top: 1em; padding-top: 1em'>Cloud Dataprep \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/dataprep\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Dataprep<\/a><br>\u30c7\u30fc\u30bf\u306e\u524d\u51e6\u7406\u3092\u884c\u3046\u30c4\u30fc\u30eb\u3002&#8221;prep&#8221; \u3068\u306f\u300c\u6e96\u5099\u300d\u3068\u3044\u3046\u610f\u5473\u306e\u82f1\u5358\u8a9e\u3002 \u30c7\u30fc\u30bf\u306e\u6b20\u640d\u3084\u5916\u308c\u5024\u3092\u63a2\u3057\u305f\u308a\u3001 \u7a7a\u767d\u524a\u9664\u30fb\u5358\u4f4d\u5909\u63db\u30fb\u91cd\u8907\u524a\u9664\u30fb\u4e0d\u8981\u30ab\u30e9\u30e0\u524a\u9664\u30fb\u5217\u540d\u5909\u66f4\u30fb\u30af\u30a9\u30fc\u30c8\u524a\u9664\u306a\u3069\u306e\u7d30\u3005\u3068\u3057\u305f\u5909\u63db\u3092\u884c\u3063\u305f\u308a\u3001 \u30d8\u30c3\u30c0\u884c\u8ffd\u52a0\u30fb\u4e3b\u30ad\u30fc\u8ffd\u52a0\u306a\u3069\u306e\u8ffd\u52a0\u4f5c\u696d\u306b\u3064\u3044\u3066\u3001 GUI \u306e\u753b\u9762\u3092\u64cd\u4f5c\u3057\u306a\u304c\u3089 (\u6bd4\u8f03\u7684) \u7c21\u5358\u306b\u4f5c\u696d\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002 \u5165\u529b\u306f&nbsp;<a href='\/37\/#storage'>Cloud Storage<\/a>&nbsp;\u3084&nbsp;<a href='\/37\/#bigquery'>BigQuery<\/a>&nbsp;\u3084\u30d6\u30e9\u30a6\u30b6\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u306a\u3069\u3002 \u51fa\u529b\u306f&nbsp;<a href='\/37\/#storage'>Cloud Storage<\/a>&nbsp;\u3084&nbsp;<a href='\/37\/#bigquery'>BigQuery<\/a>&nbsp;\u306a\u3069\u3002<\/p>\n\n\n\n<p><a href='\/39\/#data-cleansing'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (data-cleansing)<\/a><br>\n<\/p>\n\n\n\n<h3 id='pub\/sub' style='margin-top: 1em; padding-top: 1em'>Cloud Pub\/Sub \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/pubsub\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Pub\/Sub<\/a><br>\u30d5\u30eb\u30de\u30cd\u30fc\u30b8\u30c9\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u3002 \u3042\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u30ad\u30e5\u30fc\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u3001\u305d\u308c\u3092\u5225\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u53d7\u4fe1\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002 \u4f7f\u3044\u6240\u3068\u3057\u3066\u3001\u51e6\u7406A\u306e\u5f8c\u306b\u51e6\u7406B\u3092\u5b9f\u884c\u3059\u308b\u5834\u5408\u3001 \u3082\u3061\u308d\u3093\u305d\u306e\u307e\u307e\u5b9f\u884c\u3057\u3066\u3082\u3088\u3044\u306e\u3060\u304c\u3001\u3053\u306e\u3064\u306a\u304c\u308a\u3092\u758e\u7d50\u5408\u306b\u3057\u305f\u3044\u5834\u5408\u3001 \u51e6\u7406B\u304c\u6642\u9593\u304c\u304b\u304b\u308b\u306a\u3069\u306e\u7406\u7531\u3067\u975e\u540c\u671f\u306b\u3057\u305f\u3044\u5834\u5408\u3001\u51e6\u7406B\u3092\u591a\u91cd\u51e6\u7406\u3057\u305f\u3044\u5834\u5408\u3001\u306a\u3069\u306b\u4f7f\u7528\u3059\u308b\u3068\u3088\u3044\u3002<\/p>\n\n\n\n<p>\u3088\u304f\u3042\u308b\u30b1\u30fc\u30b9\u3068\u3057\u3066\u306f\u3001 \u3042\u308b\u51e6\u7406\u306e\u5f8c\u306b\u30e1\u30fc\u30eb\u9001\u4fe1\u30fbPDF\u7b49\u306e\u30d5\u30a1\u30a4\u30eb\u751f\u6210\u30fb\u96c6\u8a08\u51e6\u7406\u30fb\u30c7\u30fc\u30bf\u524a\u9664\u30fb\u5f8c\u7d9a\u30d0\u30c3\u30c1\u8d77\u52d5\u306a\u3069\u3092\u884c\u3044\u305f\u3044\u5834\u5408\u306a\u3069\u306a\u3069\u3002 <\/p>\n\n\n\n<p>\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u9806\u5e8f\u6027\u306f\u4fdd\u8a3c\u306a\u3057\u3002 \u300c\u30c8\u30d4\u30c3\u30af\u300d\u306b\u5bfe\u3059\u308b Pub (\u30d1\u30d6\u30ea\u30c3\u30b7\u30e5) \u3068\u3001\u300c\u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3\u300d\u306b\u5bfe\u3059\u308b Sub (\u30b5\u30d6\u30b9\u30af\u30e9\u30a4\u30d6) \u3068\u3044\u3046 2\u6bb5\u968e\u304b\u3089\u306a\u308a\u3001\u300c\u30c8\u30d4\u30c3\u30afA \u2192 \u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3 X, Y\u300d\u300c\u30c8\u30d4\u30c3\u30afA, B \u2192 \u30b5\u30d6\u30b9\u30af\u30ea\u30d7\u30b7\u30e7\u30f3 X\u300d\u306a\u3069\u3068 \u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u30011\u5bfe\u4ed6\u30fb\u4ed6\u5bfe1 \u3068\u3044\u3063\u305f\u3053\u3068\u3082\u3067\u304d\u308b\u3002 \u30e1\u30c3\u30bb\u30fc\u30b8\u53d6\u5f97\u306b\u306f Pull \u3068 Push \u306e 2\u901a\u308a\u306e\u65b9\u6cd5\u304c\u3042\u308b\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/60\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p>\u985e\u4f3c\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066 <a href='\/37\/#tasks'>Cloud Tasks<\/a> \u304c\u3042\u308b\u3002\u6a5f\u80fd\u3068\u3057\u3066\u306f\u4f3c\u3066\u3044\u308b\u304c\u3001<br>\u65b9\u5411\u6027\u3068\u3057\u3066\u306f Pub\/Sub \u306f\u5927\u91cf\u306e\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u51e6\u7406\u306b\u5411\u3044\u3066\u3044\u308b\u3002Cloud Tasks \u306f\u30b8\u30e7\u30d6\u306e\u9023\u643a\u306b\u5411\u3044\u3066\u3044\u308b\u3002\u305f\u3060\u3057 2019\/4 \u73fe\u5728\u3067\u306f Cloud Tasks \u306f GAE \u3078\u306e\u30ad\u30e5\u30fc\u3057\u304b\u306a\u3044\u306a\u3069\u6a5f\u80fd\u304c\u4e0d\u5341\u5206\u306a\u305f\u3081\u3001\u3057\u3070\u3089\u304f\u306f Pub\/Sub \u3092\u30b8\u30e7\u30d6\u9023\u643a\u7528\u306b\u4f7f\u3046\u306e\u304c\u3088\u3044\u304b\u3082\u3057\u308c\u306a\u3044\u3002<\/p>\n\n\n\n<p><a href='\/39\/#messaging'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (messaging)<\/a><br>\n<\/p>\n\n\n\n<h3 id='genomics' style='margin-top: 1em; padding-top: 1em'>Google Genomics \u3068\u306f<\/h3>\n\n\n\n<h3 id='data-studio' style='margin-top: 1em; padding-top: 1em'>Google Data Studio \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/data-studio\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Google Data Studio<\/a><br>Google \u304c\u63d0\u4f9b\u3059\u308b BI \u30c4\u30fc\u30eb\u3002 \u6e9c\u3081\u8fbc\u3093\u3060\u30c7\u30fc\u30bf\u3092\u5206\u6790\u3057\u3066\u3001\u753b\u9762\u306b\u30b0\u30e9\u30d5\u7b49\u3067\u308f\u304b\u308a\u3084\u3059\u304f\u8868\u793a\u3059\u308b\u30ec\u30dd\u30fc\u30c8\u30c4\u30fc\u30eb\u3002&nbsp;<a href='\/37\/#bigquery'>BigQuery<\/a>\u30fb<a href='\/37\/#sql'>Cloud SQL<\/a>\u30fbMySQL \u7b49\u306b\u5bfe\u5fdc\u3002<\/p>\n\n\n\n<p>\u7af6\u5408\u306f Tableau (\u30bf\u30d6\u30ed\u30fc) \u3084\u30de\u30a4\u30af\u30ed\u30bd\u30d5\u30c8\u306e Power BI\u30022019\/2 \u73fe\u5728\u3001\u7121\u6599\u3002<\/p>\n\n\n\n<p>2018\/11\u3001\u300c\u65e5\u672c\u3067\u306f DataStudio \u306f\u30c7\u30fc\u30bf\u30dd\u30fc\u30bf\u30eb\u3068\u3044\u3046\u540d\u524d\u306b\u5909\u308f\u308a\u307e\u3059\u300d\u3068\u3044\u3046\u8b0e\u306e\u30a2\u30ca\u30a6\u30f3\u30b9\u304c\u3042\u3063\u305f\u3002\u304a\u305d\u3089\u304f\u5546\u6a19\u554f\u984c\u3068\u601d\u308f\u308c\u308b\u304c\u3001\u4e00\u90e8\u5730\u57df\u3060\u3051\u540d\u524d\u304c\u5909\u308f\u308b\u3063\u3066\u30a2\u30ea?<\/p>\n\n\n\n<p><a href='\/39\/#bi-tool'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (bi-tool)<\/a><br>\n<\/p>\n\n\n\n<h2 id=\"iot\">\u30e2\u30ce\u306e\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8 (IoT)<\/h2>\n\n\n\n<h3 id='iot-core' style='margin-top: 1em; padding-top: 1em'>Cloud IoT Core \u3068\u306f<\/h3>\n\n\n\n<h2 id=\"ml\">\u6a5f\u68b0\u5b66\u7fd2<\/h2>\n\n\n\n<p><a href='\/39\/#iot-base'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (iot-base)<\/a><br>\n<\/p>\n\n\n\n<h3 id='automl' style='margin-top: 1em; padding-top: 1em'>Cloud AutoML \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/automl\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud AutoML<\/a><br>Cloud AutoML \u306f\u3001\u6a5f\u68b0\u5b66\u7fd2\u3092\u7c21\u5358\u306b\u6271\u3046\u305f\u3081\u306e\u4ed5\u7d44\u307f\u3067\u3042\u308b\u3002 \u6a5f\u68b0\u5b66\u7fd2\u306e\u77e5\u8b58\u304c\u306a\u304f\u3066\u3082\u30e2\u30c7\u30eb\u69cb\u7bc9\u304c\u3067\u304d\u308b\u3001\u3068\u3044\u3046\u306e\u304c\u89e6\u308c\u8fbc\u307f\u3002 \u4ee5\u4e0b\u3001\u3042\u308a\u304c\u3061\u306a\u30e6\u30fc\u30b9\u30b1\u30fc\u30b9\u3092\u8003\u3048\u3066\u307f\u305f\u3002<\/p>\n\n\n\n<ul><li>\u3042\u306a\u305f\u304c\u6599\u7406\u6295\u7a3f\u30b5\u30a4\u30c8\u3092\u904b\u55b6\u3057\u3066\u3044\u308b\u3068\u3057\u3066\u3001 \u300c\u98df\u6750\u3084\u6599\u7406\u306a\u3069\u306e\u5199\u771f\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u306e\u306f\u69cb\u308f\u306a\u3044\u304c\u3001\u3044\u305f\u305a\u3089\u3067\u305d\u308c\u4ee5\u5916\u306e\u5199\u771f\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3055\u308c\u308b\u306e\u306f\u56f0\u308b\u3002\u3068\u306f\u3044\u3048\u4eba\u529b\u3067\u3059\u3079\u3066\u30c1\u30a7\u30c3\u30af\u3059\u308b\u308f\u3051\u306b\u3082\u3044\u304b\u306a\u3044\u300d \u3068\u3044\u3046\u60a9\u307f\u304c\u3042\u308b\u3068\u3059\u308b\u3002\u98df\u6750\u30fb\u6599\u7406\u306e\u5199\u771f\u3068\u3001\u305d\u308c\u4ee5\u5916\u306e\u5199\u771f\u3092\u9069\u5f53\u306b\u96c6\u3081\u3001\u753b\u9762\u4e0a\u3067\u300c\u3053\u308c\u306f OK\u300d\u300c\u3053\u308c\u306f NG\u300d\u3068\u3044\u3046\u7d50\u679c\u3092\u6307\u5b9a\u3059\u308b\u3068\u3001 \u3088\u3044\u611f\u3058\u306b OK\/NG \u5224\u5b9a\u3092\u884c\u3063\u3066\u304f\u308c\u308b\u6a5f\u68b0\u5b66\u7fd2\u30e2\u30c7\u30eb\u3092\u4f5c\u6210\u3067\u304d\u308b\u3002<\/li><li>\u76e3\u8996\u30ab\u30e1\u30e9\u304b\u3089\u753b\u50cf\u3092\u5b9a\u671f\u7684\u306b\u53d6\u5f97\u3057\u3001\u4e0d\u5be9\u8005\u304c\u3044\u308b\u5834\u5408\u306b\u901a\u77e5\u3055\u305b\u305f\u3044\u3068\u3059\u308b\u3002\u305f\u3060\u3057\u3001\u8eca\u304c\u901a\u3063\u305f\u3060\u3051\u3067\u3042\u308c\u3070\u901a\u77e5\u3057\u306a\u3044\u3068\u3059\u308b\u3002 \u4eba\u304c\u3044\u308b\u753b\u50cf\u3068\u3001\u8eca\u304c\u5199\u3063\u3066\u3044\u308b\u753b\u50cf\u3001\u4eba\u3068\u8eca\u304c\u5199\u3063\u3066\u3044\u308b\u753b\u50cf\u306a\u3069\u3092\u6e96\u5099\u3057\u3001\u305d\u308c\u305e\u308c\u901a\u77e5\u5bfe\u8c61\u304b\u5426\u304b\u3092\u5206\u985e\u3059\u308b\u3068\u3001\u76e3\u8996\u901a\u77e5\u306e\u6a5f\u68b0\u5b66\u7fd2\u30e2\u30c7\u30eb\u304c\u69cb\u7bc9\u3067\u304d\u308b\u3002<\/li><\/ul>\n\n\n\n<p>2019\/3 \u73fe\u5728\u3067\u306f\u4e0b\u8a18\u30b5\u30fc\u30d3\u30b9\u304c\u5c55\u958b\u3055\u308c\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<ul><li>AutoML Vision (\u30d9\u30fc\u30bf)\uff1a\u753b\u50cf\u8a8d\u8b58\u30b5\u30fc\u30d3\u30b9\u3002<a href='\/37\/#vision-api'>Cloud Vision API<\/a> \u306e\u6a5f\u68b0\u5b66\u7fd2\u7248\u3002<\/li><li>AutoML Translation (\u30d9\u30fc\u30bf)\uff1a\u30c6\u30ad\u30b9\u30c8\u306e\u7ffb\u8a33\u30b5\u30fc\u30d3\u30b9\u3002<a href='\/37\/#translation-api'>Cloud Translation API<\/a> \u306e\u6a5f\u68b0\u5b66\u7fd2\u7248\u3002<\/li><li>AutoML Natural Language (\u30d9\u30fc\u30bf)\uff1a\u30c6\u30ad\u30b9\u30c8\u5206\u6790\u30b5\u30fc\u30d3\u30b9\u3002<a href='\/37\/#natural-language-api'>Cloud Natural Language API<\/a> \u306e\u6a5f\u68b0\u5b66\u7fd2\u7248\u3002<\/li><\/ul>\n\n\n\n<p>\u305d\u308c\u305e\u308c\u4f3c\u901a\u3063\u305f\u65e2\u5b58\u30b5\u30fc\u30d3\u30b9\u304c\u3042\u308b\u304c\u3001\u4f8b\u3048\u3070\u300cCloud Vision API \u306f\u5165\u529b\u753b\u50cf\u304c\u540c\u3058\u3067\u3042\u308c\u3070\u8ab0\u304c\u4f7f\u3063\u3066\u3082\u540c\u3058\u7d50\u679c\u3092\u8fd4\u3059\u3082\u306e\u300d\u300cAutoML Vision\u300d\u306f\u6a5f\u68b0\u5b66\u7fd2\u7d50\u679c\u306b\u5fdc\u3058\u3066\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u308b\u3082\u306e\u3001\u3068\u8003\u3048\u308b\u3068\u3088\u3044\u3060\u308d\u3046\u3002 <\/p>\n\n\n\n<p><a href='\/39\/#ml'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (ml)<\/a><br>\n<a href='\/39\/#text-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (text-analysis)<\/a><br>\n<a href='\/39\/#translation'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (translation)<\/a><br>\n<a href='\/39\/#image-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (image-analysis)<\/a><br>\n<\/p>\n\n\n\n<h3 id='machine-learning-engine' style='margin-top: 1em; padding-top: 1em'>Cloud Machine Learning Engine \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#ml'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (ml)<\/a><br>\n<\/p>\n\n\n\n<h3 id='tpu' style='margin-top: 1em; padding-top: 1em'>Cloud TPU \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/tpu\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud TPU<\/a><br>TensorFlow (\u30c6\u30f3\u30bd\u30eb\u30d5\u30ed\u30fc) \u3068\u3044\u3046\u6a5f\u68b0\u5b66\u7fd2\u306e\u30bd\u30d5\u30c8\u30a6\u30a7\u30a2\u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u3042\u308b\u3002\u3053\u308c\u306f Google \u304c\u958b\u767a\u3057\u3001\u30aa\u30fc\u30d7\u30f3\u30bd\u30fc\u30b9\u3067\u516c\u958b\u3057\u3066\u3044\u308b\u3082\u306e\u3067\u3042\u308b\u3002 TPU \u3068\u306f\u3001&#8221;Tensor Processing Unit&#8221; \u306e\u7565\u3067\u3001Google \u304c\u958b\u767a\u3057\u3066\u3044\u308b TensorFlow \u3092\u9ad8\u901f\u306b\u5b9f\u884c\u3059\u308b\u305f\u3081\u306e\u30cf\u30fc\u30c9\u30a6\u30a7\u30a2\u3067\u3042\u308b\u3002 \u3053\u306e TPU \u3092 GCP \u4e0a\u3067\u4f7f\u3048\u308b\u3088\u3046\u306b\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u304c Cloud TPU\u3002 Compute Engine \u304b\u3089\u5229\u7528\u3059\u308b\u30a4\u30e1\u30fc\u30b8\u3068\u601d\u308f\u308c\u308b\u3002 Google \u66f0\u304f\u30011\u65e5\u304b\u304b\u3063\u3066\u3044\u305f\u30c8\u30ec\u30fc\u30cb\u30f3\u30b0\u6642\u9593\u304c Cloud TPU \u3092\u4f7f\u3046\u306830\u5206\u672a\u6e80\u306b\u77ed\u7e2e\u3055\u308c\u308b\u3001\u3089\u3057\u3044\u3002 2018\/4 \u73fe\u5728\u30d9\u30fc\u30bf\u3067\u3042\u308b\u304c\u30011\u6642\u9593\u3042\u305f\u308a $6.5 \u3068\u306a\u3063\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#fast-ml'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (fast-ml)<\/a><br>\n<\/p>\n\n\n\n<h3 id='jobs-api' style='margin-top: 1em; padding-top: 1em'>Cloud Jobs API \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/jobs\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Jobs API<\/a><br>\u6a5f\u68b0\u5b66\u7fd2\u3092\u6d3b\u7528\u3057\u3001\u4ed5\u4e8b\u63a2\u3057\u3092\u81ea\u52d5\u5316\u30fb\u9ad8\u7cbe\u5ea6\u5316\u3059\u308b\u305f\u3081\u306e API\u3002 \u3053\u306e API \u306f\u8ee2\u8077\u30b5\u30a4\u30c8\u30fb\u8077\u696d\u30de\u30c3\u30c1\u30f3\u30b0\u30b5\u30a4\u30c8\u306a\u3069\u304c\u5229\u7528\u3059\u308b\u60f3\u5b9a\u3068\u306e\u3053\u3068\u3002 \u696d\u754c\u56fa\u6709\u306e\u7565\u79f0\u306a\u3069\u3092\u9069\u5207\u306b\u89e3\u91c8 (\u4f8b: &#8220;BD&#8221; \u3092\u691c\u7d22\u3059\u308b\u3068 &#8220;Business Development&#8221; \u306b\u30de\u30c3\u30c1\u3059\u308b)\u3002 \u6c42\u8077\u8005\u306e\u5c45\u4f4f\u5730\u57df\u3068\u5e0c\u671b\u901a\u52e4\u6642\u9593\u304b\u3089\u9069\u5207\u306a\u8077\u5834\u3092\u30ea\u30b9\u30c8\u30a2\u30c3\u30d7\u3002 \u6c42\u4eba\u5185\u5bb9\u3088\u308a\u3001\u4f4f\u6240\u30fb\u96c7\u7528\u5f62\u614b\u30fb\u798f\u5229\u539a\u751f\u306a\u3069\u306e\u95a2\u9023\u60c5\u5831\u3092\u81ea\u52d5\u3067\u53d6\u308a\u8fbc\u307f\u3002 2018\/1 \u73fe\u5728\u3001Jobs API \u306f\u9650\u5b9a\u30a2\u30eb\u30d5\u30a1\u3002<\/p>\n\n\n\n<h3 id='natural-language-api' style='margin-top: 1em; padding-top: 1em'>Cloud Natural Language API \u3068\u306f<\/h3>\n\n\n\n<p>\u7ffb\u8a33\u7d50\u679c\u3092\u6a5f\u68b0\u5b66\u7fd2\u306b\u3088\u308a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u308b\u30b5\u30fc\u30d3\u30b9\u3002\u985e\u4f3c\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066 <a href='\/37\/#automl'>AutoML<\/a> Natural Language \u304c\u3042\u308b\u3002<\/p>\n\n\n\n<p>\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u306a\u3044\u7ffb\u8a33\u30b5\u30fc\u30d3\u30b9\u306f <a href='\/37\/#translation-api'>Cloud Translation API<\/a>\u3002<\/p>\n\n\n\n<p><a href='\/39\/#text-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (text-analysis)<\/a><br>\n<\/p>\n\n\n\n<h3 id='speech-to-text' style='margin-top: 1em; padding-top: 1em'>Cloud Speech-To-Text \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/speech-to-text\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Speech-To-Text<\/a><br>\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u3092\u5143\u306b\u30c6\u30ad\u30b9\u30c8\u3092\u751f\u6210\u3059\u308b\u3002 120 \u306e\u8a00\u8a9e\u306b\u5bfe\u5fdc\u3057\u3066\u304a\u308a\u3001\u65e5\u672c\u8a9e\u3082 OK\u3002 mp3 \u306a\u3069\u306e\u30d5\u30a1\u30a4\u30eb\u304b\u3089\u5206\u6790\u3082\u3067\u304d\u308b\u304c\u3001\u30b9\u30c8\u30ea\u30fc\u30df\u30f3\u30b0\u306b\u3082\u5bfe\u5fdc\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/www.voice-pro.jp\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (\u65b0\u3057\u3044\u30bf\u30d6\u3067\u958b\u304f)\">https:\/\/www.voice-pro.jp\/<\/a> \u306b\u3042\u308b\u300cG-01 CM\u539f\u7a3f\uff08\u305b\u3063\u3051\u3093\uff09\u300d\u306e\u97f3\u58f0\u30d5\u30a1\u30a4\u30eb\u3092 Cloud Speech-To-Text \u3067\u30c6\u30ad\u30b9\u30c8\u306b\u5909\u63db\u3057\u3066\u307f\u305f (2018\/05\/05 \u5b9f\u65bd)\u3002<\/p>\n\n\n\n<p>\n\n\u81ea\u52d5\u751f\u6210\u3055\u308c\u305f\u30c6\u30ad\u30b9\u30c8\u306f\u4e0b\u8a18\u306e\u3068\u304a\u308a\u3002\n\n<\/p>\n\n\n\n<p>&#8220;\u7121\u6dfb\u52a0\u306e\u30b7\u30e3\u30dc\u30f3\u7389\u77f3\u9e78\u306a\u3089\u3082\u3046\u5b89\u5fc3\u5929\u7136\u306e\u4fdd\u6e7f\u6210\u5206\u304c\u542b\u307e\u308c\u308b\u305f\u3081\u808c\u306b\u6f64\u3044\u3092\u4e0e\u3048\u5065\u3084\u304b\u306b\u4fdd\u3061\u307e\u3059\u304a\u808c\u306e\u3053\u3068\u3067\u304a\u60a9\u307f\u306e\u65b9\u306f\u305c\u3072\u4e00\u5ea6\u7121\u6dfb\u52a0\u30b7\u30e3\u30dc\u30f3\u7389\u77f3\u9e78\u3092\u304a\u8a66\u3057\u304f\u3060\u3055\u3044&#8221; &#8220;\u304a\u307e\u3068\u3081\u306f012000559\u5408\u307e\u3067&#8221;<\/p>\n\n\n\n<p>\u21d2 \u53e5\u8aad\u70b9\u304c\u306a\u3044\u3002\u300c\u304a\u6c42\u3081\u306f\u300d\u304c\u300c\u304a\u307e\u3068\u3081\u306f\u300d\u306b\u306a\u3063\u3066\u3044\u308b\u3002\u96fb\u8a71\u756a\u53f7\u306e\u300c5595\u300d\u304c\u300c559\u5408\u300d\u306b\u306a\u3063\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p>\u7d9a\u3044\u3066\u3001\u300cG-22 \u533b\u7642WEB\u30c9\u30e9\u30de \u3000\u533b\u5e2b\u5f79\u300d\u306e\u5909\u63db\u7d50\u679c\u306f\u4e0b\u8a18\u306e\u3068\u304a\u308a\u3002<\/p>\n\n\n\n<p>&#8220;\u8840\u7ba1\u53ce\u7e2e\u306b\u306f\u8840\u7ba1\u5e73\u6ed1\u7b4b\u7d30\u80de\u5185\u306e\u30ab\u30eb\u30b7\u30a6\u30e0\u6fc3\u5ea6\u304c\u95a2\u4e0e\u3057\u3066\u304a\u308a\u8840\u7ba1\u5e73\u6ed1\u7b4b\u7d30\u80de\u5185\u3078\u306e\u30ab\u30eb\u30b7\u30a6\u30e0\u6d41\u5165\u3092\u30d6\u30ed\u30c3\u30af\u3059\u308c\u3070\u8840\u7ba1\u53ce\u7e2e\u3092\u6291\u5236\u3067\u304d\u307e\u3059\u3057\u304b\u3057\u8fd1\u5e74\u30ab\u30eb\u30b7\u30a6\u30e0\u6d41\u5165\u3068\u306f\u72ec\u7acb\u3057\u305f\u7d4c\u8def\u3068\u3057\u3066\u30ed\u30c3\u30af\u304c\u898b\u51fa\u3055\u308c\u8840\u7ba1\u53ce\u7e2e\u306b\u6df1\u304f\u95a2\u4e0e\u3057\u3066\u3044\u308b\u3053\u3068\u304c\u660e\u3089\u304b\u306b\u306a\u308a\u307e\u3057\u305f&#8221;<\/p>\n\n\n\n<p>\u21d2 \u53e5\u8aad\u70b9\u304c\u306a\u3044\u4ee5\u5916\u306f\u554f\u984c\u306a\u3057\u3002<\/p>\n\n\n\n<p><a href='\/39\/#speech-to-text'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (speech-to-text)<\/a><br>\n<\/p>\n\n\n\n<h3 id='text-to-speech' style='margin-top: 1em; padding-top: 1em'>Cloud Text-To-Speech \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/text-to-speech\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Text-To-Speech<\/a><br>\u30c6\u30ad\u30b9\u30c8\u3092\u5143\u306b\u97f3\u58f0\u3092\u751f\u6210\u3059\u308b\u3002 12\u8a00\u8a9e\u306b\u5bfe\u5fdc\u3057\u3001\u65e5\u672c\u8a9e\u306e\u8aad\u307f\u4e0a\u3052\u3082 OK\u300230\u7a2e\u985e\u306e\u58f0 (\u7537\u6027\u30fb\u5973\u6027\u306a\u3069) \u306b\u5bfe\u5fdc\u3002 \u30c6\u30ad\u30b9\u30c8\u306f\u5358\u306a\u308b\u6587\u5b57\u5217\u3067\u3082\u69cb\u308f\u306a\u3044\u304c\u3001 SSML (\u97f3\u58f0\u5408\u6210\u30de\u30fc\u30af\u30a2\u30c3\u30d7\u8a00\u8a9e) \u3067\u8a71\u3059\u30b9\u30d4\u30fc\u30c9\u30fb\u30d4\u30c3\u30c1 (\u97f3\u306e\u9ad8\u4f4e)\u30fb\u97f3\u91cf\u30fb\u4f11\u6b62\u306a\u3069\u3092\u8a2d\u5b9a\u53ef\u80fd\u3002 \u51fa\u529b\u5f62\u5f0f\u306f mp3\u30fb16bit PCM\u30fbOgg Opus \u306a\u3069\u3002<\/p>\n\n\n\n<p><a href='\/39\/#text-to-speech'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (text-to-speech)<\/a><br>\n<\/p>\n\n\n\n<h3 id='translation-api' style='margin-top: 1em; padding-top: 1em'>Cloud Translation API \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/translate\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Translation API<\/a><br>\u4ed6\u8a00\u8a9e\u3078\u306e\u7ffb\u8a33\u30b5\u30fc\u30d3\u30b9\u3002\u65e5\u672c\u8a9e\u5bfe\u5fdc\u3002 100\u8a00\u8a9e\u7a0b\u5ea6\u3092\u30b5\u30dd\u30fc\u30c8\u3057\u3001\u3069\u306e\u8a00\u8a9e\u304b\u3089\u3069\u306e\u8a00\u8a9e\u3078\u306e\u7ffb\u8a33\u3082\u53ef\u80fd\u3002 \u30c6\u30ad\u30b9\u30c8\u7ffb\u8a33\u3068 HTML \u7ffb\u8a33\u304c\u53ef\u80fd\u3067\u3001HTML \u306e\u5834\u5408\u3001\u7279\u5b9a\u306e\u30bf\u30b0\u8a18\u8ff0\u306b\u3088\u308a\u3001 \u300c\u3053\u3053\u304b\u3089\u3053\u3053\u307e\u3067\u7ffb\u8a33\u4e0d\u8981\u300d\u3068\u3044\u3063\u305f\u6307\u5b9a\u304c\u3067\u304d\u308b\u3002 \u6599\u91d1\u306f 100\u4e07\u6587\u5b57\u3042\u305f\u308a 20USD\u3002 \u7ffb\u8a33\u5143\u306e\u8a00\u8a9e\u3092\u6307\u5b9a\u3059\u308b\u3053\u3068\u304c\u671b\u307e\u3057\u3044\u304c\u3001\u308f\u304b\u3089\u306a\u3044\u5834\u5408\u3067\u3082\u63a8\u6e2c\u3057\u3066\u304f\u308c\u308b (\u305f\u3060\u3057\u304a\u91d1\u304c\u304b\u304b\u308b)\u3002<\/p>\n\n\n\n<p>\u6a5f\u68b0\u5b66\u7fd2\u306b\u3088\u308a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u308b\u985e\u4f3c\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066 <a href='\/37\/#automl'>AutoML<\/a> Translation \u304c\u3042\u308b\u3002 <\/p>\n\n\n\n<p><a href='\/39\/#translation'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (translation)<\/a><br>\n<\/p>\n\n\n\n<h3 id='vision-api' style='margin-top: 1em; padding-top: 1em'>Cloud Vision API \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/vision\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Vision API<\/a><br>GCP \u306e\u753b\u50cf\u89e3\u6790\u30b5\u30fc\u30d3\u30b9\u3002\u4e0e\u3048\u3089\u308c\u305f\u753b\u50cf\u3092\u89e3\u6790\u3057\u3001\u753b\u50cf\u306e\u30e9\u30d9\u30eb (\u8eca\u3001\u5973\u6027\u3001\u9053\u8def\u3001\u30d3\u30eb\u306a\u3069)\u3001\u9854\u691c\u51fa (\u9854\u30fb\u76ee\u30fb\u9f3b\u30fb\u53e3\u306a\u3069\u306e\u30d1\u30fc\u30c4\u306e\u30a4\u30c1\u3001\u611f\u60c5\u63a8\u6e2c)\u3001\u4e0d\u9069\u5207\u753b\u50cf\u306e\u691c\u51fa (\u30a2\u30c0\u30eb\u30c8\u753b\u50cf\u306a\u3069)\u3001\u30c6\u30ad\u30b9\u30c8\u691c\u51fa (OCR\u3002\u65e5\u672c\u8a9e\u5bfe\u5fdc)\u3001Web \u4e0a\u304b\u3089\u306e\u985e\u4f3c\u753b\u50cf\u691c\u7d22\u306a\u3069\u306e\u60c5\u5831\u3092\u63d0\u4f9b\u3059\u308b\u3002<\/p>\n\n\n\n<p>\u6a5f\u68b0\u5b66\u7fd2\u306b\u3088\u308a\u30ab\u30b9\u30bf\u30de\u30a4\u30ba\u3067\u304d\u308b\u985e\u4f3c\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066 <a href='\/37\/#automl'>AutoML<\/a> Vision \u304c\u3042\u308b\u3002<\/p>\n\n\n\n<p>\u753b\u50cf\u3067\u306f\u306a\u304f\u52d5\u753b\u306e\u89e3\u6790\u30b5\u30fc\u30d3\u30b9\u306b\u3064\u3044\u3066\u306f <a href='\/37\/#video-intelligence-api'>Cloud Video Intelligence API<\/a> \u3092\u53c2\u7167\u3002<\/p>\n\n\n\n<p><a href='\/39\/#image-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (image-analysis)<\/a><br>\n<\/p>\n\n\n\n<h3 id='video-intelligence-api' style='margin-top: 1em; padding-top: 1em'>Cloud Video Intelligence API \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/video-intelligence\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Video Intelligence API<\/a>\n\n\n\n<p>\u52d5\u753b\u3092\u89e3\u6790\u3057\u3066\u3001\u30b7\u30fc\u30f3\u306e\u5207\u308a\u5206\u3051\u3092\u884c\u3046\u3002\u4f8b\u3048\u3070\u5ba4\u5185\u304b\u3089\u5c4b\u5916\u306b\u6620\u50cf\u304c\u5207\u308a\u66ff\u308f\u3063\u305f\u5834\u5408\u3001\u65b0\u3057\u3044\u30b7\u30fc\u30f3\u306b\u79fb\u3063\u305f\u3068\u5224\u65ad\u3059\u308b\u3002\u305d\u306e\u30b7\u30fc\u30f3\u3054\u3068\u306b\u300c\u72ac\u300d\u300c\u82b1\u300d\u300c\u30e9\u30f3\u30cb\u30f3\u30b0\u300d\u306a\u3069\u306e\u30e9\u30d9\u30eb\u4ed8\u3051\u3092\u884c\u3046\u3002\u307e\u305f\u3001\u30a2\u30c0\u30eb\u30c8\u30b3\u30f3\u30c6\u30f3\u30c4\u3092\u542b\u3080\u304b\u3069\u3046\u304b\u306e\u5224\u5b9a\u3084\u3001\u52d5\u753b\u4e2d\u306e\u6587\u5b57\u3092\u62bd\u51fa\u3059\u308b OCR \u6a5f\u80fd\u306a\u3069\u3082\u3042\u308b\u3002<\/p>\n\n\n\n<p>\u52d5\u753b\u3067\u306f\u306a\u304f\u753b\u50cf\u306e\u89e3\u6790\u30b5\u30fc\u30d3\u30b9\u306b\u3064\u3044\u3066\u306f <a href='\/37\/#vision-api'>Cloud Vision API<\/a> \u3092\u53c2\u7167\u3002 <\/p>\n\n\n\n<p><a href='\/39\/#image-analysis'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (image-analysis)<\/a><br>\n<\/p>\n\n\n\n<h2 id=\"id-security\">ID \u3068\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3<\/h2>\n\n\n\n<h3 id='iam' style='margin-top: 1em; padding-top: 1em'>Cloud IAM \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/iam\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud IAM<\/a><br><\/p>\n\n\n\n<p>GCP \u306e\u6a29\u9650\u7ba1\u7406\u3092\u884c\u3046\u4ed5\u7d44\u307f\u3002IAM \u306f\u300c\u30a2\u30a4\u30a2\u30e0\u300d\u3068\u767a\u97f3\u3059\u308b\u3053\u3068\u304c\u591a\u3044\u3088\u3046\u3060\u3002 \u4ed6\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u5bfe\u3057\u3001\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u5168\u4f53\u306e\u30aa\u30fc\u30ca\u30fc\u6a29\u9650\u30fb\u7de8\u96c6\u8005\u6a29\u9650\u30fb\u95b2\u89a7\u8005\u6a29\u9650\u306a\u3069\u306e\u30ed\u30fc\u30eb\u3092\u4ed8\u4e0e\u3057\u305f\u308a\u3001 \u3055\u3089\u306b\u7d30\u304b\u304f Compute Engine \u306e\u7ba1\u7406\u8005\u3084\u3001Compute Engine \u306e OS \u30ed\u30b0\u30a4\u30f3\u306e\u307f\u306a\u3069\u306e\u30ed\u30fc\u30eb\u3092\u4e0e\u3048\u308b\u306a\u3069\u306e\u7ba1\u7406\u304c\u53ef\u80fd\u3002 \u3055\u3089\u306b\u3088\u308a\u8a73\u7d30\u306a\u6a29\u9650\u7ba1\u7406\u304c\u3067\u304d\u308b\u30ab\u30b9\u30bf\u30e0\u30ed\u30fc\u30eb\u3068\u3044\u3046\u4ed5\u7d44\u307f\u3082\u3042\u308b\u3002<\/p>\n\n\n\n<p>\u300c\u3069\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u300d\u306b\u6a29\u9650\u3092\u4ed8\u4e0e\u3059\u308b\u304b\u306b\u3064\u3044\u3066\u306f\u3001Google \u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u7279\u5b9a\u3059\u308b\u304c\u3001 \u304a\u3082\u3057\u308d\u3044\u306e\u306f Google \u30b0\u30eb\u30fc\u30d7\u306b\u5bfe\u3057\u3066\u3082\u6a29\u9650\u4ed8\u4e0e\u304c\u3067\u304d\u308b\u3002 \u3082\u3068\u3082\u3068 Google \u30b0\u30eb\u30fc\u30d7\u306f\u3001\u30e1\u30fc\u30ea\u30f3\u30b0\u30ea\u30b9\u30c8\u3084\u30cd\u30c3\u30c8\u30cb\u30e5\u30fc\u30b9\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3001 \u8907\u6570\u4eba\u3067\u8b70\u8ad6\u306a\u3069\u3092\u884c\u3046\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u304c\u3001\u3053\u308c\u3092\u5229\u7528\u3057\u3001\u8907\u6570\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u30b0\u30eb\u30fc\u30d4\u30f3\u30b0\u3057\u3066\u3001 \u305d\u306e\u30b0\u30eb\u30fc\u30d7\u540d\u306b\u5bfe\u3057\u3001\u6a29\u9650\u306e\u4ed8\u4e0e\u304c\u884c\u3048\u308b\u3002<\/p>\n\n\n\n<p>\u4f8b\u3048\u3070<\/p>\n\n\n\n<ul><li>myproject-engenieer-production-admin \u2026 \u672c\u756a\u74b0\u5883\u7ba1\u7406\u8005\u30b0\u30eb\u30fc\u30d7<\/li><li>myproject-engenieer-production-monitor \u2026 \u672c\u756a\u74b0\u5883\u53c2\u7167\u8005\u30b0\u30eb\u30fc\u30d7<\/li><li>myproject-engenieer-develop-admin \u2026 \u958b\u767a\u74b0\u5883\u7ba1\u7406\u8005\u30b0\u30eb\u30fc\u30d7<\/li><\/ul>\n\n\n\n<p>\u3068\u3044\u3046 Google \u30b0\u30eb\u30fc\u30d7\u3092\u4f5c\u6210\u3057\u3066\u305d\u308c\u305e\u308c\u306b\u9069\u5207\u306a\u30ed\u30fc\u30eb\u3092\u4ed8\u4e0e\u3057\u3066\u304a\u304d\u3001 \u65b0\u898f\u30e1\u30f3\u30d0\u8ffd\u52a0\u6642\u306f\u300c\u672c\u756a\u74b0\u5883\u53c2\u7167\u8005\u30b0\u30eb\u30fc\u30d7\u300d\u3068\u300c\u958b\u767a\u74b0\u5883\u7ba1\u7406\u8005\u30b0\u30eb\u30fc\u30d7\u300d\u306b\u30e1\u30f3\u30d0\u3092\u8ffd\u52a0\u3059\u308b\u3002 \u672c\u756a\u74b0\u5883\u306e\u30ea\u30ea\u30fc\u30b9\u3084\u30c7\u30fc\u30bf\u30e1\u30f3\u30c6\u6642\u306e\u307f\u3001\u300c\u672c\u756a\u74b0\u5883\u7ba1\u7406\u8005\u30b0\u30eb\u30fc\u30d7\u300d\u306b\u4f5c\u696d\u8005\u3092\u8ffd\u52a0\u3059\u308b\u3053\u3068\u3067\u3001 \u8aa4\u3063\u3066\u5e73\u5e38\u6642\u306b\u672c\u756a\u74b0\u5883\u3092\u58ca\u3057\u3066\u3057\u307e\u3046\u3068\u3044\u3046\u30ea\u30b9\u30af\u3092\u56de\u907f\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p>\u307e\u305f\u3001\u30a2\u30d7\u30ea\u3084\u30d0\u30c3\u30c1\u306b\u5bfe\u3057\u3066\u6a29\u9650\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3092\u3057\u305f\u3044\u5834\u5408\u3001\u300c\u30b5\u30fc\u30d3\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8\u300d \u3068\u3044\u3046\u3082\u306e\u3092\u5229\u7528\u3059\u308b\u3002\u3053\u308c\u306f\u300cGoogle \u30a2\u30ab\u30a6\u30f3\u30c8\u300d\u306e\u3088\u3046\u306a\u3082\u306e\u3067\u3042\u308b\u304c\u3001 \u4eba\u9593\u304c\u4f7f\u3046\u3082\u306e\u3067\u306f\u306a\u304f\u3001\u30a2\u30d7\u30ea\u3084\u30d0\u30c3\u30c1\u304c\u4f7f\u3046\u3082\u306e\u3067\u3042\u308b\u3002 \u4f8b\u3048\u3070 DB \u304b\u3089\u30c7\u30fc\u30bf\u3092\u8aad\u307f\u53d6\u3063\u3066\u9069\u5207\u306a\u5b9b\u5148\u306b\u30e1\u30fc\u30eb\u9001\u4fe1\u3092\u884c\u3046\u3068\u3044\u3046\u30d0\u30c3\u30c1\u304c\u3042\u308b\u5834\u5408\u3001 myproject-send-mail-batch \u3068\u3044\u3046\u30b5\u30fc\u30d3\u30b9\u30a2\u30ab\u30a6\u30f3\u30c8\u3092\u4f5c\u6210\u3057\u3001 DB \u30a2\u30af\u30bb\u30b9\u306e\u30ed\u30fc\u30eb\u306f\u4ed8\u4e0e\u3059\u308b\u304c\u3001Cloud Storage \u306b\u95a2\u3059\u308b\u30ed\u30fc\u30eb\u306f\u4ed8\u4e0e\u3055\u305b\u306a\u3044\u3053\u3068\u3067\u3001 \u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u9ad8\u3081\u308b\u3068\u3044\u3063\u305f\u4f7f\u3044\u65b9\u3092\u3059\u308b\u3002<\/p>\n\n\n\n<p>2018\/1 \u73fe\u5728\u3001Google Cloud IAM \u306e\u6700\u5927\u306e\u6b20\u70b9\u306f\u300callow \u306f\u3067\u304d\u308b\u304c deny \u304c\u3067\u304d\u306a\u3044\u3053\u3068\u300d\u3002 \u300c\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u5168\u6a29\u9650\u3092\u4ed8\u4e0e\u3059\u308b\u304c\u3001DB \u30a2\u30af\u30bb\u30b9\u306b\u95a2\u3057\u3066\u306f\u7981\u6b62\u300d \u3068\u3044\u3046\u66f8\u304d\u65b9\u304c\u3067\u304d\u305a\u3001\u300cDB \u30a2\u30af\u30bb\u30b9\u4ee5\u5916\u306e\u5168\u6a29\u9650\u3092\u4ed8\u4e0e\u3059\u308b\u300d\u3068\u3044\u3046\u624b\u9593\u306e\u304b\u304b\u308b\u7ba1\u7406\u65b9\u6cd5\u3057\u304b\u53d6\u308c\u306a\u3044\u3002 \u6539\u5584\u3092\u671f\u5f85\u3057\u305f\u3044\u3002<\/p>\n\n\n\n<p>\u306a\u304a\u3001IAM \u3067\u306f\u3001\u4f8b\u3048\u3070 Cloud Storage \u306b\u3064\u3044\u3066 \u300c\u7ba1\u7406\u8005\u300d\u300c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u7ba1\u7406\u8005\u300d\u300c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u4f5c\u6210\u8005\u300d\u300c\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u95b2\u89a7\u8005\u300d \u3068\u3044\u3063\u305f\u30ed\u30fc\u30eb\u306e\u4ed8\u4e0e\u304c\u3067\u304d\u308b\u304c\u3001 \u300c\u3053\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306f\u3001\u3053\u306e\u30d0\u30b1\u30c3\u30c8\u306e\u307f\u95b2\u89a7\u53ef\u80fd\u300d\u3068\u3044\u3063\u305f\u7d30\u304b\u306a\u5236\u5fa1\u306f\u3067\u304d\u306a\u3044\u3002 \u3053\u306e\u5834\u5408\u3001Cloud Storage \u306e\u300c\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u30ea\u30b9\u30c8 (ACL)\u300d\u306b\u3066\u5236\u5fa1\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u3002 Cloud Storage \u3060\u3051\u3067\u306f\u306a\u304f\u3001BigQuery \u306a\u3069\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u7cfb\u306b\u30a2\u30af\u30bb\u30b9\u5236\u5fa1\u30ea\u30b9\u30c8\u304c\u5099\u308f\u3063\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#iam'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (iam)<\/a><br>\n<\/p>\n\n\n\n<h3 id='identity' style='margin-top: 1em; padding-top: 1em'>Cloud Identity \u3068\u306f<\/h3>\n\n\n\n<h3 id='identity-aware-proxy' style='margin-top: 1em; padding-top: 1em'>Cloud Identity-Aware Proxy \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/iap\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Identity-Aware Proxy<\/a>\n\n\n\n<p>Cloud Identiy-Aware Proxy \u306f\u3001<a href='\/37\/#compute-engine'>Compute Engine<\/a>\u30fb<a href='\/37\/#gae'>GAE<\/a>\u30fb<a href='\/37\/#gke'>GKE<\/a> \u30fb\u30ed\u30fc\u30c9\u30d0\u30e9\u30f3\u30b5\u306e\u524d\u6bb5\u306b\u3001\u8a8d\u8a3c\u306e\u30ec\u30a4\u30e4\u3092\u631f\u307f\u8fbc\u3080\u30b5\u30fc\u30d3\u30b9\u3002\u7701\u7565\u3057\u3066 Cloud IAP \u3068\u66f8\u304f\u3053\u3068\u3082\u591a\u3044\u3002<\/p>\n\n\n\n<p>\u4e0b\u56f3\u306f GAE \u306e Web \u30b5\u30fc\u30d3\u30b9\u306b\u3064\u3044\u3066 Cloud IAP \u3092\u6709\u52b9\u5316\u3057\u305f\u72b6\u614b\u3067\u3001\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3057\u305f\u3068\u304d\u306b\u8868\u793a\u3055\u308c\u308b\u8a8d\u8a3c\u30d5\u30a9\u30fc\u30e0\u3002\u30a2\u30af\u30bb\u30b9\u8005\u304c Google \u30a2\u30ab\u30a6\u30f3\u30c8\u7b49\u3092\u6301\u3063\u3066\u304a\u308a\u3001Cloud IAP \u306b\u3066\u305d\u306e Google \u30a2\u30ab\u30a6\u30f3\u30c8\u304c\u767b\u9332\u6e08\u307f\u3067\u3042\u308c\u3070\u3001\u30b5\u30a4\u30c8\u306b\u30a2\u30af\u30bb\u30b9\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" src=\"https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/03\/image-2.png\" alt=\"\" class=\"wp-image-2578\" width=\"365\" height=\"438\" srcset=\"https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/03\/image-2.png 729w, https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/03\/image-2-250x300.png 250w, https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/03\/image-2-178x214.png 178w, https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/03\/image-2-216x260.png 216w\" sizes=\"(max-width: 365px) 100vw, 365px\" \/><\/figure><\/div>\n\n\n\n<p>\u901a\u5e38\u306e GCP \u306e IAM \u3068\u540c\u69d8\u306b\u3001Google \u30a2\u30ab\u30a6\u30f3\u30c8\u30fbGoogle \u30b0\u30eb\u30fc\u30d7\u30fbG Suite \u306e\u5358\u4f4d\u3067\u8a31\u53ef\u767b\u9332\u304c\u53ef\u80fd\u3002\u9006\u306b\u8a00\u3046\u3068\u3001Google \u30a2\u30ab\u30a6\u30f3\u30c8\u7b49\u3092\u6301\u3063\u3066\u3044\u306a\u3044\u3068\u30a2\u30af\u30bb\u30b9\u3067\u304d\u306a\u3044\u306e\u3067\u3001\u4e00\u822c\u5411\u3051\u30b5\u30a4\u30c8\u306e\u8a8d\u8a3c\u306a\u3069\u306b\u4f7f\u3046\u3082\u306e\u3067\u306f\u306a\u3044\u3002\u7ba1\u7406\u753b\u9762\u306a\u3069\u306e\u7528\u9014\u306b\u306f\u3061\u3087\u3046\u3069\u3088\u3044\u306e\u3067\u306f\u306a\u304b\u308d\u3046\u304b\u3002<\/p>\n\n\n\n<p>GAE\u30fbGKE \u5074\u3067\u306f\u3069\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u3067\u30a2\u30af\u30bb\u30b9\u3057\u3066\u3044\u308b\u304b\u3068\u3044\u3046\u60c5\u5831\u306f\u53d6\u308c\u308b\u306e\u3067\u3001\u3055\u3089\u306b\u30b5\u30a4\u30c8\u5185\u3067\u6a29\u9650\u5206\u3051\u304c\u5fc5\u8981\u3067\u3042\u308c\u3070\u30a2\u30d7\u30ea\u5074\u3067\u5b9f\u88c5\u3059\u308b\u304b\u3001IAM \u3067\u6a29\u9650\u8a2d\u5b9a\u3057\u3066 IAM \u306b\u6a29\u9650\u5224\u5b9a\u3092\u3055\u305b\u308b\u3068\u3088\u3044\u3002<\/p>\n\n\n\n<p><a href=\"https:\/\/cloud-textbook.com\/2801\/#Cloud_IAP_Identity-Aware_Proxy\">GCP\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb<\/a> \u306b\u3066\u3001GAE \u3068\u306e\u9023\u643a\u3092\u8aac\u660e\u3057\u3066\u3044\u308b\u306e\u3067\u53c2\u8003\u306b\u3057\u3066\u307b\u3057\u3044\u3002 <\/p>\n\n\n\n<h3 id='managed-service-for-microsoft-active-directory' style='margin-top: 1em; padding-top: 1em'>Managed Service for Microsoft Active Directory \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/managed-microsoft-ad\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a  Managed Service for Microsoft Active Directory <\/a>\n\n\n\n<p><a href='\/39\/#directory'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (directory)<\/a><br>\n<\/p>\n\n\n\n<h3 id='data-loss-prevention-api' style='margin-top: 1em; padding-top: 1em'>Cloud Data Loss Prevention API \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/dlp\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Data Loss Prevention API<\/a><br>Data Loss Prevention (DLP) \u306f\u4e00\u822c\u7684\u306a\u7528\u8a9e\u3067\u3001\u60c5\u5831\u6f0f\u6d29\u9632\u6b62\u3068\u8a33\u3055\u308c\u308b\u3002 \u6a29\u9650\u3067\u7ba1\u7406\u3059\u308b\u306e\u3067\u306f\u306a\u304f\u3001\u30c7\u30fc\u30bf\u306b\u7740\u76ee\u3057\u305f\u8003\u3048\u65b9\u3067\u3001 \u300c\u9867\u5ba2\u60c5\u5831\u3063\u307d\u3044\u6587\u5b57\u5217\u304c\u542b\u307e\u308c\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u3092\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u3088\u3046\u3068\u3059\u308b\u3068\u30a8\u30e9\u30fc\u3068\u3059\u308b\u300d \u3068\u304b\u305d\u3093\u306a\u611f\u3058 (GCP \u306e\u8a71\u3067\u306f\u306a\u304f\u3001\u3042\u304f\u307e\u3067\u4e00\u822c\u8ad6)\u3002<\/p>\n\n\n\n<p>\u4e00\u65b9 GCP \u306e DLP API \u306f\u3001\u6587\u5b57\u5217\u3092\u6e21\u3059\u3068\u3001 \u96fb\u8a71\u756a\u53f7\u30fb\u6c0f\u540d\u30fb\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306a\u3069\u307e\u305a\u305d\u3046\u306b\u898b\u3048\u308b\u3082\u306e\u3092 *** \u306a\u3069\u3068\u7f6e\u63db\u3057\u305f\u4e0a\u3067\u8fd4\u5374\u3057\u3066\u304f\u308c\u308b\u3002 090-***-*** \u306a\u3069\u3068\u4e00\u90e8\u3092\u30de\u30b9\u30ad\u30f3\u30b0\u3057\u305f\u308a\u3001\u5143\u306b\u623b\u305b\u308b\u5f62\u306b\u5909\u63db\u3057\u305f\u308a\u3082\u3067\u304d\u307e\u3059\u3002 \u3069\u306e\u3088\u3046\u306a\u30d5\u30a9\u30fc\u30de\u30c3\u30c8\u306e\u6587\u5b57\u5217\u3092\u500b\u4eba\u60c5\u5831\u3068\u307f\u306a\u3059\u304b\u306f\u6307\u5b9a\u53ef\u80fd\u3002<\/p>\n\n\n\n<p>\u6587\u5b57\u5217\u3060\u3051\u3067\u306f\u306a\u304f\u753b\u50cf\u306b\u5bfe\u3059\u308b\u51e6\u7406\u3082\u53ef\u80fd\u3067\u3001\u753b\u50cf\u30c7\u30fc\u30bf\u3092\u9001\u308b\u3068\u3001 \u4e0b\u8a18\u306e\u3088\u3046\u306b\u3069\u306e\u5ea7\u6a19\u9818\u57df\u304c\u500b\u4eba\u60c5\u5831\u3068\u601d\u308f\u308c\u308b\u304b\u3068\u3044\u3046\u5224\u5b9a\u7d50\u679c\u3092\u5f97\u3089\u308c\u308b\u3002<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\"quote\":\"(206) 555-0890\",\n     \"infoType\":{\n       \"name\":\"PHONE_NUMBER\"\n     },\n     \"likelihood\":\"POSSIBLE\",\n     \"location\":{\n       \"imageBoxes\":&#091;\n         {\n           \"top\":3,\n           \"left\":272,\n           \"width\":5,\n           \"height\":21\n         }],\n       } <\/code><\/pre>\n\n\n\n<pre class=\"wp-block-preformatted\">   <\/pre>\n\n\n\n<p><a href='\/39\/#dlp'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (dlp)<\/a><br>\n<\/p>\n\n\n\n<h3 id='security-key-enforcement' style='margin-top: 1em; padding-top: 1em'>Security Key Enforcement \u3068\u306f<\/h3>\n\n\n\n<h3 id='key-management-service' style='margin-top: 1em; padding-top: 1em'>Cloud Key Management Service \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/kms\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Key Management Service<\/a><br>AES \u9375\u306e\u751f\u6210\u3001\u30ed\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\u304c\u884c\u3048\u308b\u30b5\u30fc\u30d3\u30b9\u3002\u5404\u7a2e\u64cd\u4f5c\u306b\u3064\u3044\u3066\u30ed\u30b0\u3092\u8a18\u9332\u53ef\u80fd\u3002 \u3053\u306e\u9375\u3092\u4f7f\u3063\u3066\u30a2\u30d7\u30ea\u30ec\u30a4\u30e4\u306b\u3066\u6697\u53f7\u5316\u30fb\u5fa9\u53f7\u5316\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u308b\u3002 \u9375\u306e\u30a4\u30f3\u30dd\u30fc\u30c8\u306f\u3067\u304d\u306a\u3044\u6a21\u69d8 (<a href='\/8\/#key-management-service'>AWS Key Management Service<\/a>&nbsp;\u3067\u306f\u3067\u304d\u308b)<\/p>\n\n\n\n<p><a href='\/39\/#key-manage'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (key-manage)<\/a><br>\n<\/p>\n\n\n\n<h3 id='resource-manager' style='margin-top: 1em; padding-top: 1em'>Cloud Resource Manager \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/resource-manager\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Resource Manager<\/a><br>GCP \u306e\u8907\u6570\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u3001\u4f1a\u793e\u3084\u90e8\u9580\u306a\u3069\u306e\u968e\u5c64\u69cb\u9020\u306e\u4e0a\u3067\u30de\u30c3\u30d4\u30f3\u30b0\u3057\u3001 \u6a29\u9650\u3084\u8acb\u6c42\u5148\u306a\u3069\u3092\u4e00\u5143\u7ba1\u7406\u3059\u308b\u4ed5\u7d44\u307f\u3002 GCP \u306b\u304a\u3044\u3066\u306f\u8907\u6570\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4f5c\u6210\u3057\u3001\u3070\u3089\u3070\u3089\u306b\u904b\u7528\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u304c\u3001 \u5927\u898f\u6a21\u306a\u4f1a\u793e\u3067\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u304c\u6570\u767e\u306b\u3082\u9054\u3059\u308b\u3088\u3046\u306a\u5834\u5408\u3001 \u7ba1\u7406\u90e8\u9580\u306f\u7a81\u7136\u306e\u9ad8\u984d\u306a\u8acb\u6c42\u3001\u6a29\u9650\u306e\u4e0d\u5fb9\u5e95\u306b\u3088\u308b\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u30ea\u30b9\u30af\u3001 \u52dd\u624b\u306b\u4f5c\u6210\u3055\u308c\u305f\u91ce\u826f\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u306a\u3069\u3068\u683c\u95d8\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u3002 Cloud Resource Manager \u3092\u4f7f\u3046\u3068\u3001\u8907\u6570\u306e\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u4e00\u89a7\u8868\u793a\u3067\u304d\u305f\u308a\u3001 \u30d5\u30a9\u30eb\u30c0\u3092\u4f5c\u6210\u3057\u3066\u90e8\u9580\u3084\u30b5\u30fc\u30d3\u30b9\u3054\u3068\u306b\u30b0\u30eb\u30fc\u30d4\u30f3\u30b0\u3057\u305f\u308a\u3001 \u30d5\u30a9\u30eb\u30c0\u306b\u5bfe\u3057\u3066\u4e00\u62ec\u3057\u3066\u6a29\u9650\u7ba1\u7406\u3057\u305f\u308a\u3001 \u8acb\u6c42\u5148\u3092 1\u3064\u306e\u30a2\u30ab\u30a6\u30f3\u30c8\u306b\u96c6\u7d04\u3057\u305f\u308a\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#multi-account'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (multi-account)<\/a><br>\n<\/p>\n\n\n\n<h3 id='run' style='margin-top: 1em; padding-top: 1em'>Cloud Run \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#container-no-manage'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (container-no-manage)<\/a><br>\n<\/p>\n\n\n\n<h3 id='secret-manager' style='margin-top: 1em; padding-top: 1em'>Cloud Secret Manager \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#key-manage'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (key-manage)<\/a><br>\n<\/p>\n\n\n\n<h3 id='security-scanner' style='margin-top: 1em; padding-top: 1em'>Cloud Security Scanner \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/security-scanner\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Security Scanner<\/a><br><a href='\/37\/#app-engine'>Google App Engine<\/a>&nbsp;\u306e\u30b9\u30bf\u30f3\u30c0\u30fc\u30c9\u74b0\u5883\u3092\u5bfe\u8c61\u3068\u3057\u305f\u8106\u5f31\u6027\u81ea\u52d5\u691c\u51fa\u30c4\u30fc\u30eb\u3002 \u691c\u51fa\u3067\u304d\u308b\u306e\u306f\u73fe\u6642\u70b9\u3067\u306f\u4e0b\u8a18\u306e\u307f\u3002<\/p>\n\n\n\n<ul><li>XSS<\/li><li>Flash \u30a4\u30f3\u30b8\u30a7\u30af\u30b7\u30e7\u30f3<\/li><li>http\/https \u6df7\u5408\u30b3\u30f3\u30c6\u30f3\u30c4<\/li><li>\u5b89\u5168\u3067\u306a\u3044 JavaScript \u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u4f7f\u7528<\/li><\/ul>\n\n\n\n<p>2018\/1 \u73fe\u5728\u3001\u7121\u6599\u3002<\/p>\n\n\n\n<p><a href='\/39\/#vulnerability'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (vulnerability)<\/a><br>\n<\/p>\n\n\n\n<h3 id='security-command-center' style='margin-top: 1em; padding-top: 1em'>Cloud Security Command Center \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/security-command-center\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Security Command Center<\/a>\n\n\n\n<p><a href='\/39\/#advisor'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (advisor)<\/a><br>\n<\/p>\n\n\n\n<p><a href='\/39\/#vulnerability'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (vulnerability)<\/a><br>\n<\/p>\n\n\n\n<p>\u25cf\u7ba1\u7406\u30c4\u30fc\u30eb<\/p>\n\n\n\n<h3 id='stackdriver-debugger' style='margin-top: 1em; padding-top: 1em'>Stackdriver Debugger \u3068\u306f<\/h3>\n\n\n\n<h3 id='stackdriver-error-reporting' style='margin-top: 1em; padding-top: 1em'>Stackdriver Error Reporting \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/error-reporting\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Stackdriver Error Reporting<\/a><br>Stackdriver Error Reporting \u306f\u3001<a href='\/37\/#stackdriver-logging'>Stackdriver Logging<\/a>&nbsp;\u3067\u53ce\u96c6\u3057\u305f\u30ed\u30b0\u306a\u3069\u3092\u5143\u306b\u3001 \u30a8\u30e9\u30fc\u60c5\u5831\u306e\u96c6\u8a08\u30fb\u8868\u793a\u3092\u884c\u3046\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u3002 \u30a8\u30e9\u30fc\u30921\u4ef6\u305a\u3064\u898b\u308b\u3088\u308a\u3001\u307e\u305a\u306f\u5168\u4f53\u3092\u628a\u63e1\u3057\u307e\u3057\u3087\u3046\u3068\u3044\u3046\u65b9\u91dd (\u3068\u601d\u3046)\u3002 \u3069\u306e\u30a8\u30e9\u30fc\u304c\u4f55\u56de\u767a\u751f\u3057\u305f\u304b\u3092\u30a8\u30e9\u30fc\u7a2e\u985e\u3054\u3068\u306b\u96c6\u7d04\u3057\u3066\u304f\u308c\u308b\u306e\u3067\u3001 \u300c\u304a\u3063\u3001\u4eca\u671d\u304b\u3089\u898b\u6163\u308c\u306a\u3044\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3044\u308b\u305e\u300d\u300c\u4eca\u65e5\u3082\u3053\u306e\u30a8\u30e9\u30fc\u304c\u51fa\u3066\u3044\u308b\u3051\u308c\u3069\u3001\u6bce\u65e5\u767a\u751f\u3057\u3066\u3044\u308b\u3082\u306e\u3060\u304b\u3089\u5927\u4e08\u592b\u300d\u3068\u3044\u3063\u305f\u30a2\u30af\u30b7\u30e7\u30f3\u304c\u53d6\u308c\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#log-watch'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (log-watch)<\/a><br>\n<\/p>\n\n\n\n<h3 id='stackdriver-logging' style='margin-top: 1em; padding-top: 1em'>Stackdriver Logging \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/logging\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Stackdriver Logging<\/a><br>Stackdriver Logging \u306f\u3001GCP \u306b\u304a\u3051\u308b\u30ed\u30b0\u306e\u4fdd\u5b58\u30fb\u95b2\u89a7\u30fb\u691c\u7d22\u304c\u884c\u3048\u308b\u30b5\u30fc\u30d3\u30b9\u3002 \u30af\u30e9\u30a6\u30c9\u30b5\u30fc\u30d3\u30b9\u306b\u304a\u3051\u308b\u30ed\u30b0\u306f\u3001\u8907\u6570\u306e\u30b5\u30fc\u30d3\u30b9\u3067\u30ed\u30b0\u304c\u3070\u3089\u3051\u3066\u3044\u305f\u308a\u3001 \u8907\u6570\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306b\u6563\u3089\u3070\u3063\u3066\u3044\u308b\u30ed\u30b0\u3092\u304b\u304d\u96c6\u3081\u306a\u3044\u3068\u30ed\u30b0\u5168\u4f53\u3092\u5165\u624b\u3067\u304d\u306a\u304b\u3063\u305f\u308a\u3057\u3066\u3001 \u306a\u304b\u306a\u304b\u3084\u3063\u304b\u3044\u306a\u5b58\u5728\u3067\u3042\u308b\u3002 Stackdriver Logging \u306f GCP \u306e\u5404\u7a2e\u30b5\u30fc\u30d3\u30b9\u306b\u3066\u51fa\u529b\u3057\u305f\u30ed\u30b0\u3092\u96c6\u7d04\u30fb\u7ba1\u7406\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u3002 \u96c6\u307e\u3063\u305f\u30ed\u30b0\u306f Web \u753b\u9762\u306b\u3066\u95b2\u89a7\u30fb\u691c\u7d22\u304c\u884c\u3048\u308b\u3002 GCE \u3084 GAE \u306a\u3069\u3001\u6a19\u6e96\u3067 Stackdriver Logging \u306b\u9001\u4fe1\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3082\u3042\u308b\u3057\u3001 \u81ea\u4f5c\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3 (\u30b7\u30a7\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u306a\u3069\u3082\u542b\u3080) \u304b\u3089 Stackdriver Loggig \u306b \u9001\u4fe1\u3059\u308b\u3053\u3068\u3082\u3067\u304d\u308b\u3002 \u30ed\u30b0\u306f\u4efb\u610f\u6587\u5b57\u5217\u3067\u306e\u691c\u7d22\u3001\u65e5\u4ed8\u30fb\u6642\u523b\u3067\u7bc4\u56f2\u6307\u5b9a\u3001AND\/OR \u6761\u4ef6\u3067\u306e\u8907\u96d1\u306a\u691c\u7d22\u304c\u53ef\u80fd\u3002 \u4e00\u756a\u3046\u308c\u3057\u3044\u306e\u304c\u3001tail -f \u76f8\u5f53\u306e\u6700\u65b0\u30ed\u30b0\u306e\u8ffd\u3063\u304b\u3051\u304c\u3067\u304d\u308b\u3053\u3068\u3002 Stackdriver Logging \u3067\u4fdd\u6301\u3067\u304d\u308b\u30ed\u30b0\u306f\u3001\u7121\u6599\u3060\u3068 7\u65e5\u9593\u3001\u6709\u6599\u3060\u3068 30\u65e5\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#log-watch'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (log-watch)<\/a><br>\n<\/p>\n\n\n\n<h3 id='stackdriver-monitoring' style='margin-top: 1em; padding-top: 1em'>Stackdriver Monitoring \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/monitoring\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Stackdriver Monitoring<\/a><br>Stackdriver Monitoring \u306f\u3001GCP \u306b\u95a2\u3059\u308b\u3044\u308d\u3044\u308d\u306a\u30e1\u30c8\u30ea\u30c3\u30af\u30b9 (\u6307\u6a19\u5024) \u3092\u53ce\u96c6\u3057\u3066\u30b0\u30e9\u30d5\u7b49\u3067\u53ef\u8996\u5316\u3059\u308b\u30b5\u30fc\u30d3\u30b9\u3002 \u4f8b\u3048\u3070 GCE \u3067\u3042\u308c\u3070\u3001CPU \u4f7f\u7528\u7387\u3084\u30e1\u30e2\u30ea\u4f7f\u7528\u91cf\u306a\u3069\u3002 BigQuery \u3067\u3042\u308c\u3070\u5b9f\u884c\u30af\u30a8\u30ea\u6570\u30fb\u30c7\u30fc\u30bf\u30bb\u30c3\u30c8\u3054\u3068\u306e\u30c6\u30fc\u30d6\u30eb\u6570\u30fb\u5bb9\u91cf\u30fb\u30ec\u30b3\u30fc\u30c9\u6570\u306a\u3069\u3002 \u307e\u305f\u3001\u30a2\u30e9\u30fc\u30c8\u3092\u8a2d\u5b9a\u3059\u308b\u3053\u3068\u3067\u30e1\u30fc\u30eb\u3084 Slack \u7b49\u306b\u901a\u77e5\u3092\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#resource-watch'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (resource-watch)<\/a><br>\n<\/p>\n\n\n\n<h3 id='stackdriver-profiler' style='margin-top: 1em; padding-top: 1em'>Stackdriver Profiler \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/profiler\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Stackdriver Profiler<\/a>\n\n\n\n<p>Stackdriver Profiler \u306f\u3001\u4e0b\u56f3\u306e\u3088\u3046\u306b\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u3069\u306e\u7b87\u6240\u3067\u3069\u308c\u304f\u3089\u3044\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u304b\u3092\u53ef\u8996\u5316\u3067\u304d\u308b\u30c4\u30fc\u30eb\u3002\u6a2a\u5e45\u304c\u5e83\u3044\u307b\u3069\u6642\u9593\u304c\u304b\u304b\u3063\u3066\u3044\u308b\u305f\u3081\u3001\u30d7\u30ed\u30b0\u30e9\u30e0\u306e\u9ad8\u901f\u5316\u3059\u3079\u304d\u7b87\u6240\u306e\u5224\u5b9a\u304c\u3084\u308a\u3084\u3059\u304f\u306a\u308b\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" src=\"https:\/\/cloud.google.com\/profiler\/docs\/images\/profiler-interface.png?hl=ja\" alt=\"Stackdriver Profiler \u00e3\u0081\u00ae\u00e3\u0082\u00a4\u00e3\u0083\u00b3\u00e3\u0082\u00bf\u00e3\u0083\u00bc\u00e3\u0083\u0095\u00e3\u0082\u00a7\u00e3\u0083\u00bc\u00e3\u0082\u00b9\" width=\"594\" height=\"290\"\/><\/figure><\/div>\n\n\n\n<p>Stackdriver Profile \u3092\u5229\u7528\u3059\u308b\u306b\u306f\u3001\u4f5c\u6210\u3057\u305f\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306b\u30e9\u30a4\u30d6\u30e9\u30ea\u3092\u7d44\u307f\u8fbc\u3093\u3060\u308a\u3001\u521d\u671f\u5316\u95a2\u6570\u3092\u547c\u3076\u6570\u884c\u306e\u30b3\u30fc\u30c9\u3092\u8ffd\u52a0\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3002<\/p>\n\n\n\n<p>\u30d7\u30ed\u30d5\u30a1\u30a4\u30eb\u5206\u6790\u3092\u884c\u3046\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u5b9f\u884c\u3059\u308b\u5834\u6240\u306f\u3001Compute Engine\u30fbGKE\u30fbApp Engine (\u30b9\u30bf\u30f3\u30c0\u30fc\u30c9\u30fb\u30d5\u30ec\u30ad\u30b7\u30d6\u30eb) \u3084\u3001GCP \u4ee5\u5916\u306e\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u74b0\u5883\u3067\u3082\u5229\u7528\u53ef\u80fd\u3002<\/p>\n\n\n\n<p>\u30d7\u30ed\u30d5\u30a1\u30a4\u30ea\u30f3\u30b0\u53ef\u80fd\u306a\u8a00\u8a9e\u306f\u30012019\u5e749\u6708\u73fe\u5728\u3067\u306f Go\u30fbJava\u30fbNode.js\u30fbPython\u3002<\/p>\n\n\n\n<p><a href='\/39\/#profiler'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (profiler)<\/a><br>\n<\/p>\n\n\n\n<h3 id='stackdriver-trace' style='margin-top: 1em; padding-top: 1em'>Stackdriver Trace \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/trace\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Stackdriver Trace<\/a><br><\/p>\n\n\n\n<h3 id='deployment-manager' style='margin-top: 1em; padding-top: 1em'>Cloud Deployment Manager \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/deployment-manager\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Deployment Manager<\/a><br>Cloud Deployment Manager \u306f\u3001JSON \u3084 Python \u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u3067\u8a18\u8ff0\u3055\u308c\u305f\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u30d5\u30a1\u30a4\u30eb\u3092\u5143\u306b\u3001 Compute Engine \u3084 App Engine \u7b49\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u751f\u6210\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u4ed5\u7d44\u307f\u3067\u3042\u308b\u3002 \u7ba1\u7406\u753b\u9762\u3067\u30de\u30a6\u30b9\u3092\u30dd\u30c1\u30dd\u30c1\u3057\u306a\u304f\u3066\u3082\u3044\u3044\u306e\u3067\u3001\u8907\u6570\u74b0\u5883\u69cb\u7bc9\u6642\u306e\u64cd\u4f5c\u30df\u30b9\u9632\u6b62\u3067\u3042\u3063\u305f\u308a\u3001 \u30b9\u30b1\u30fc\u30eb\u30a2\u30a6\u30c8\u3067\u53f0\u6570\u3092\u5897\u3084\u3057\u305f\u308a\u3001 \u30b5\u30fc\u30d0\u306e\u8a2d\u5b9a\u5909\u66f4\u3092\u51fa\u6765\u308b\u9650\u308a\u907f\u3051\u308b\u305f\u3081\u306b\u6bce\u56de\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u308a\u76f4\u3057\u305f\u308a (\u3064\u307e\u308a Immutable Infrastructure)\u3001 Infrastructure as Code \u304c\u5b9f\u73fe\u3067\u304d\u308b\u306e\u3067 git \u3067\u5c65\u6b74\u7ba1\u7406\u3057\u305f\u308a\u3001\u7b49\u3005\u304c\u30e1\u30ea\u30c3\u30c8\u3002 <\/p>\n\n\n\n<p>AWS \u306e&nbsp;<a href='\/8\/#cloudformation'>CloudFormation<\/a>&nbsp;\u3068\u6bd4\u3079\u308b\u3068\u3001\u30d7\u30ec\u30d3\u30e5\u30fc\u6a5f\u80fd\u304c\u3042\u3063\u305f\u308a\u3001\u8907\u6570\u30d5\u30a1\u30a4\u30eb\u3078\u306e\u5206\u5272\u304c\u7c21\u5358\u306b\u3067\u304d\u305f\u308a\u3001 \u5c11\u3057\u3060\u3051\u4f7f\u3044\u52dd\u624b\u304c\u3088\u3044\u3088\u3046\u3060\u3002<\/p>\n\n\n\n<p><a href='\/39\/#build-env'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (build-env)<\/a><br>\n<\/p>\n\n\n\n<h3 id='endpoints' style='margin-top: 1em; padding-top: 1em'>Cloud Endpoints \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#api'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (api)<\/a><br>\n<\/p>\n\n\n\n<h3 id='console' style='margin-top: 1em; padding-top: 1em'>Cloud Console \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/cloud-console\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Console<\/a><br>\u300cGoogle Cloud Console\u300d\u3068\u306f GCP \u306e\u7ba1\u7406\u753b\u9762\u306e\u3053\u3068\u3002 GCP \u306e\u30b5\u30a4\u30c8\u5185\u3067\u306f\u300cCloud Platform Console\u300d\u3068\u3044\u3046\u540d\u79f0\u3082\u898b\u53d7\u3051\u3089\u308c\u308b\u304c\u3001\u540c\u3058\u3082\u306e\u3092\u6307\u3057\u3066\u3044\u308b\u3088\u3046\u3060\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/66\/\">\u3053\u3061\u3089<\/a>\u3002<\/p>\n\n\n\n<p><a href='\/39\/#admin-console'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (admin-console)<\/a><br>\n<\/p>\n\n\n\n<h3 id='shell' style='margin-top: 1em; padding-top: 1em'>Cloud Shell \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/cloud-shell\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Shell<\/a><br>\u30d6\u30e9\u30a6\u30b6\u4e0a\u3067\u8d77\u52d5\u3059\u308b\u7ba1\u7406\u7528\u30fb\u4f5c\u696d\u7528\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3002\u7121\u6599\u3002 \u30dc\u30bf\u30f3\u3072\u3068\u3064\u3067\u88cf\u5074\u3067\u81ea\u52d5\u7684\u306b Compute Engine \u304c\u8d77\u52d5\u3057\u3001ssh \u3067\u30ed\u30b0\u30a4\u30f3\u3057\u305f\u72b6\u614b\u306b\u306a\u308b\u3002gcloud \u3084 gsutil \u7b49\u306e\u7ba1\u7406\u7528\u30b3\u30de\u30f3\u30c9\u3084\u3001Java\u30fbPython\u30fbPHP\u30fbRuby \u7b49\u306e\u5b9f\u884c\u74b0\u5883\u3001MySQL \u30af\u30e9\u30a4\u30a2\u30f3\u30c8\u3092\u4f7f\u3046\u3053\u3068\u304c\u3067\u304d\u308b\u3002 \u4f8b\u3048\u3070\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u8d77\u52d5\u30fb\u505c\u6b62\u30fb\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30b5\u30a4\u30ba\u5909\u66f4\u3084\u3001Cloud Storage\u30fbCloud SQL \u306e\u30c7\u30fc\u30bf\u78ba\u8a8d\u3084\u66f4\u65b0\u304c\u884c\u3048\u308b\u3002 <\/p>\n\n\n\n<p>\u5b9f\u4f53\u3068\u3057\u3066\u306f Ubuntu \u306a\u306e\u3067\u3001vi\u30fbemacs\u30fbawk\u30fbsh \u30b9\u30af\u30ea\u30d7\u30c8\u7b49\u3082\u81ea\u7531\u81ea\u5728\u3002 5GB \u306e\u6c38\u7d9a\u30b9\u30c8\u30ec\u30fc\u30b8\u304c\u3042\u308b\u3002\u6b8b\u5ff5\u306a\u304c\u3089 cron \u306f\u4f7f\u3048\u306a\u3044\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/66\/\">\u3053\u3061\u3089<\/a>\u3002<\/p>\n\n\n\n<p><a href='\/39\/#shell'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (shell)<\/a><br>\n<\/p>\n\n\n\n<h3 id='console-\u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea' style='margin-top: 1em; padding-top: 1em'>Cloud Console \u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/console-app\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Console \u30e2\u30d0\u30a4\u30eb\u30a2\u30d7\u30ea<\/a><br>Android \u7aef\u672b\u3084 iOS \u7aef\u672b\u304b\u3089\u3001GCP \u306e\u72b6\u614b\u3092\u78ba\u8a8d\u30fb\u64cd\u4f5c\u3067\u304d\u308b\u30b9\u30de\u30db\u30a2\u30d7\u30ea\u3002 \u30a2\u30e9\u30fc\u30c8\u3084\u30ed\u30b0\u306e\u78ba\u8a8d\u3001<a href='\/37\/#compute-engine'>Compute Engine<\/a>&nbsp;\u3084&nbsp;<a href='\/37\/#sql'>Cloud SQL<\/a>&nbsp;\u7b49\u306e\u518d\u8d77\u52d5\u306a\u3069\u3082\u53ef\u80fd\u3002&nbsp;<a href='\/37\/#compute-engine'>Compute Engine<\/a>&nbsp;\u306b ssh \u3067\u30ed\u30b0\u30a4\u30f3\u3082\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<h3 id='billing-api' style='margin-top: 1em; padding-top: 1em'>Cloud Billing API \u3068\u306f<\/h3>\n\n\n\n<h3 id='api' style='margin-top: 1em; padding-top: 1em'>Cloud API \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/apis\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud API<\/a><br>GCP \u306e\u5404\u30b5\u30fc\u30d3\u30b9\u306e\u60c5\u5831\u53d6\u5f97\u3084\u64cd\u4f5c\u3092\u884c\u3046 API \u7fa4\u306e\u7dcf\u79f0\u3002 \u5b9f\u4f53\u306f\u3001Google Compute Engine API\u3001BigQuery API \u306a\u3069\u3001\u5404\u30b5\u30fc\u30d3\u30b9\u3054\u3068\u306e API \u304c\u898f\u5b9a\u3055\u308c\u3066\u3044\u308b\u3002 API \u306f REST \u3067\u8a2d\u8a08\u3055\u308c\u3066\u3044\u308b\u3002 \u6700\u65b0\u306e\u4e00\u90e8 API \u306f\u3001gRPC \u306e\u30a4\u30f3\u30bf\u30d5\u30a7\u30fc\u30b9\u3092\u6301\u3064\u3002 \u306a\u304a\u3001API \u3092\u76f4\u63a5\u53e9\u304f\u3088\u308a\u306f\u30e9\u30a4\u30d6\u30e9\u30ea\u306e\u6d3b\u7528\u304c\u63a8\u5968\u3055\u308c\u3066\u3044\u308b\u3002 Java\u30fb.Net\u30fbGo\u30fbJavascript\u30fbRuby\u30fbNode.js\u30fbObjective-C\u30fbPHP\u30fbPython \u30e9\u30a4\u30d6\u30e9\u30ea\u304c\u7528\u610f\u3055\u308c\u3066\u3044\u308b\u3002 Cloud API \u3092\u53e9\u304f\u30b3\u30de\u30f3\u30c9\u7fa4\u306b\u3064\u3044\u3066\u306f\u00a0<a href='\/37\/#sdk'>Cloud SDK<\/a>\u00a0\u3092\u53c2\u7167\u3002<\/p>\n\n\n\n<h3 id='data-catalog' style='margin-top: 1em; padding-top: 1em'>Cloud Data Catalog \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/data-catalog\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Data Catalog<\/a>\n\n\n\n<p><a href='\/39\/#catalog'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (catalog)<\/a><br>\n<\/p>\n\n\n\n<h2 id=\"developer-tool\">\u30c7\u30d9\u30ed\u30c3\u30d1\u30fc\u30c4\u30fc\u30eb<\/h2>\n\n\n\n<h3 id='sdk' style='margin-top: 1em; padding-top: 1em'>Cloud SDK \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/sdk\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud SDK<\/a><br>GCP \u30b5\u30fc\u30d3\u30b9\u304b\u3089\u60c5\u5831\u53d6\u5f97\u30fb\u64cd\u4f5c\u3059\u308b\u305f\u3081\u306e\u4fbf\u5229\u306a\u30b3\u30de\u30f3\u30c9\u7fa4\u3002 \u6c4e\u7528\u7684\u306a\u306e\u304c gcloud \u30b3\u30de\u30f3\u30c9\u3002<a href='\/37\/#compute-engine'>Compute Engine<\/a>\u3001&nbsp;<a href='\/37\/#sql'>Cloud SQL<\/a>\u3001&nbsp;<a href='\/37\/#container-engine'>Container Engine<\/a>\u3001&nbsp;<a href='\/37\/#dataproc'>Cloud Dataproc<\/a>\u3001&nbsp;<a href='\/37\/#dns'>Cloud DNS<\/a>\u3001&nbsp;<a href='\/37\/#endpoints'>Cloud Endpoints<\/a>&nbsp;\u306a\u3069\u591a\u304f\u306e GCP \u30b5\u30fc\u30d3\u30b9\u306e\u64cd\u4f5c\u304c\u53ef\u80fd\u3002\u4ed6\u306b\u3001 bq \u30b3\u30de\u30f3\u30c9 (<a href='\/37\/#bigquery'>BigQuery<\/a>)\u3001gsutil \u30b3\u30de\u30f3\u30c9 (<a href='\/37\/#storage'>Cloud Storage<\/a>&nbsp;\u7528)\u3001kubectl \u30b3\u30de\u30f3\u30c9\u306a\u3069\u304c Cloud SDK \u306b\u542b\u307e\u308c\u3066\u3044\u308b\u3002 \u307e\u305f\u3001<a href='\/37\/#api'>Cloud API<\/a>&nbsp;\u3092\u547c\u3076\u30e9\u30a4\u30d6\u30e9\u30ea\u7fa4\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<a href='\/37\/#cloud-shell'>Google Cloud Shell<\/a>&nbsp;\u3067\u306f\u3001\u6700\u521d\u304b\u3089 Cloud SDK \u304c\u3059\u3050\u306b\u5229\u7528\u53ef\u80fd\u306a\u72b6\u614b\u306b\u306a\u3063\u3066\u3044\u308b\u3002&nbsp;<a href='\/37\/#compute-engine'>Compute Engine<\/a>&nbsp;\u306e\u4e3b\u8981 OS \u306b\u3082\u3001\u3059\u3067\u306b\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u6e08\u307f (\u591a\u5206\u3002\u8981\u78ba\u8a8d)\u3002 GCP \u4ee5\u5916\u306e\u3001\u624b\u5143\u306e PC \u3084\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u30de\u30b7\u30f3\u306b Cloud SDK \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3053\u3068\u306f\u53ef\u80fd (Linux\u30fbWindows\u30fbMacOS \u5bfe\u5fdc)\u3002<\/p>\n\n\n\n<h3 id='gcr' style='margin-top: 1em; padding-top: 1em'>Container Registry (GCR) \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/container-registry\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Container Registry (GCR)<\/a><br>\u81ea\u5206\u3067\u4f5c\u3063\u305f Docker \u30a4\u30e1\u30fc\u30b8\u3092\u767b\u9332\u3067\u304d\u308b\u3002 \u5916\u90e8\u306b\u516c\u958b\u3059\u308b\u3053\u3068\u3082\u3001\u975e\u516c\u958b\u3068\u3059\u308b\u3053\u3068\u3082\u53ef\u80fd\u3002 Docker Hub \u306a\u3069\u306e\u30b5\u30fc\u30d3\u30b9\u3092\u3001Google \u304c GCP \u4e0a\u306b\u6301\u3063\u3066\u304d\u305f\u3082\u306e\u3001\u3068\u8003\u3048\u308b\u3068\u3088\u3044\u3002&nbsp;<a href='\/37\/#build'>Cloud Build<\/a>\u3084\u3001 Jenkins\u30fbCircleCI \u306a\u3069\u306e\u7d99\u7d9a\u7684\u30c7\u30ea\u30d0\u30ea\u30fc\u30c4\u30fc\u30eb\u3068\u9023\u52d5\u3055\u305b\u3066\u52d5\u304b\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3002 Docker \u30a4\u30e1\u30fc\u30b8\u306f\u5b9f\u969b\u306f&nbsp;<a href='\/37\/#storage'>Cloud Storage<\/a>&nbsp;\u306b\u914d\u7f6e\u3055\u308c\u308b\u305f\u3081\u3001 \u5229\u7528\u6599\u306f\u305d\u306e\u5206\u306e\u30b9\u30c8\u30ec\u30fc\u30b8\u3084\u30cd\u30c3\u30c8\u30ef\u30fc\u30af\u6599\u91d1\u306e\u307f\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<p><a href='\/39\/#docker-registry'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (docker-registry)<\/a><br>\n<\/p>\n\n\n\n<h3 id='build' style='margin-top: 1em; padding-top: 1em'>Cloud Build \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/container-builder\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Build<\/a>\n\n\n\n<p> \u65e7\u540d Container Builder\u3002\u30d5\u30eb\u30de\u30cd\u30fc\u30b8\u30c9\u306a\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u30d3\u30eb\u30c9\u30fb\u30c6\u30b9\u30c8\u3092\u62c5\u3046 CI\/CD \u30b5\u30fc\u30d3\u30b9\u3002\u30d3\u30eb\u30c9\u30b5\u30fc\u30d0\u3092\u81ea\u524d\u3067\u69cb\u7bc9\u3059\u308b\u5834\u5408\u3001EC2 \u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u4f5c\u6210\u3057\u3001Jenkins \u306a\u3069\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3053\u3068\u306b\u306a\u308b\u304c\u3001OS \u306a\u3069\u306e\u30e1\u30f3\u30c6\u30ca\u30f3\u30b9\u306e\u624b\u9593\u304c\u304b\u304b\u308b\u3002Cloud Build \u3060\u3068\u30d3\u30eb\u30c9\u30b5\u30fc\u30d0\u306e\u7ba1\u7406\u3092 GCP \u306b\u5168\u90e8\u304a\u307e\u304b\u305b\u3067\u304d\u308b\u3002<\/p>\n\n\n\n<p>Cloud Build \u306e\u7279\u5fb4\u306f 1\u30b9\u30c6\u30c3\u30d71\u30b3\u30f3\u30c6\u30ca\u3067\u3042\u308b\u3053\u3068\u3002<\/p>\n\n\n\n<p>Circle CI \u3084 Travis CI \u306a\u3069\u306e\u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u3092\u5229\u7528\u3059\u308b\u624b\u3082\u3042\u308b\u304c\u3001\u30d7\u30e9\u30d9\u30fc\u30c8\u30ea\u30dd\u30b8\u30c8\u30ea\u304b\u3064\u540c\u6642\u30d3\u30eb\u30c9\u6570\u3092\u3042\u308b\u7a0b\u5ea6\u78ba\u4fdd\u3059\u308b\u3068\u3001\u7d50\u69cb\u306a\u304a\u91d1\u304c\u304b\u304b\u308b\u3002<\/p>\n\n\n\n<p>Cloud Build \u306f\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092 1\u30b3\u30a2\u30fb8\u30b3\u30a2\u30fb32\u30b3\u30a2\u304b\u3089\u9078\u629e\u53ef\u80fd\u30021\u30b3\u30a2\u306e\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u307f\u30011\u65e5\u3042\u305f\u308a120\u5206\u307e\u3067\u306f\u7121\u6599 (8\u30b3\u30a2\u30fb32\u30b3\u30a2\u306f\u7121\u6599\u67a0\u306f\u306a\u3044)\u3002\u30b3\u30a2\u6570\u304c\u591a\u3044\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3092\u9078\u3076\u3068\u901f\u304f\u30d3\u30eb\u30c9\u304c\u5b8c\u4e86\u3059\u308b (\u3068\u601d\u308f\u308c\u308b)\u3002\u30bd\u30fc\u30b9\u306f&nbsp; GitHub \u306a\u3069\u304b\u3089\u53d6\u5f97\u3067\u304d\u308b\u3002<br><\/p>\n\n\n\n<p><a href='\/39\/#ci-cd'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (ci-cd)<\/a><br>\n<\/p>\n\n\n\n<h3 id='scheduler' style='margin-top: 1em; padding-top: 1em'>Cloud Scheduler \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/scheduler\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Scheduler<\/a><br>cron \u7684\u306a\u30b5\u30fc\u30d3\u30b9\u3002\u5b9a\u6642\u5b9f\u884c\u3092\u3057\u305f\u3044\u5834\u5408\u3001\u305d\u306e\u8d77\u70b9\u3068\u306a\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u30b5\u30fc\u30d3\u30b9\u3067\u3042\u308b\u3002 \u5b9f\u884c\u30bf\u30a4\u30df\u30f3\u30b0\u306f &#8220;*\/5 * * * *&#8221; \u306e\u3088\u3046\u306b cron \u66f8\u5f0f\u3067\u8a18\u8ff0\u3059\u308b\u3002 \u5bfe\u5fdc\u3057\u3066\u3044\u308b\u9023\u643a\u5148\u306f\u3001<a href='\/37\/#pub\/sub'>Cloud Pub\/Sub<\/a>\u30fb<a href='\/37\/#gae'>GAE<\/a> \u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3001\u4e00\u822c\u7684\u306a HTTP\/HTTPS \u3067\u3001 \u30b3\u30de\u30f3\u30c9\u3092\u5b9f\u884c\u3059\u308b\u3053\u3068\u306f\u3067\u304d\u306a\u3044\u30022019\/3 GA (2018\/11 \u30d9\u30fc\u30bf\u30ea\u30ea\u30fc\u30b9)\u3002<\/p>\n\n\n\n<p><a href='\/39\/#scheduler'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (scheduler)<\/a><br>\n<\/p>\n\n\n\n<h3 id='source-repositories' style='margin-top: 1em; padding-top: 1em'>Cloud Source Repositories \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/source-repositories\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Source Repositories<\/a><br>\u30de\u30cd\u30fc\u30b8\u30c9\u306a\u30bd\u30fc\u30b9\u7ba1\u7406\u30b5\u30fc\u30d3\u30b9\u3002\u4e00\u8a00\u3067\u3044\u3046\u3068\u300cGitHub \u306e\u3088\u3046\u306a\u3082\u306e\u300d\u3002 GitHub \u3084 BitBucket \u306a\u3069\u306e Git \u30db\u30b9\u30c6\u30a3\u30f3\u30b0\u30b5\u30fc\u30d3\u30b9\u3092\u5229\u7528\u3057\u3066\u3044\u305f\u4eba\u306f\u3001 \u4f7f\u3044\u305f\u3044\u6a5f\u80fd\u304c Cloud Source Repositories \u306b\u5b58\u5728\u3059\u308b\u304b\u78ba\u8a8d\u3057\u305f\u307b\u3046\u304c\u3088\u3044\u3068\u601d\u3046\u3002 2018\/1 \u73fe\u5728\u3001\u30d7\u30eb\u30ea\u30af\u30a8\u30b9\u30c8\u304c\u672a\u5b9f\u88c5\u306e\u6a21\u69d8\u3002<\/p>\n\n\n\n<p><a href='\/39\/#source'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (source)<\/a><br>\n<\/p>\n\n\n\n<h3 id='tasks' style='margin-top: 1em; padding-top: 1em'>Cloud Tasks \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/tasks\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Tasks<\/a>\n\n\n\n<p>\u30d5\u30eb\u30de\u30cd\u30fc\u30b8\u30c9\u306a\u30e1\u30c3\u30bb\u30fc\u30b8\u30b5\u30fc\u30d3\u30b9\u3002 \u3042\u308b\u30d7\u30ed\u30b0\u30e9\u30e0\u304c\u30ad\u30e5\u30fc\u306b\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u9001\u4fe1\u3057\u3001\u305d\u308c\u3092\u5225\u306e\u30d7\u30ed\u30b0\u30e9\u30e0\u3067\u53d7\u4fe1\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002\u4f7f\u3044\u6240\u3068\u3057\u3066\u3001\u51e6\u7406A\u306e\u5f8c\u306b\u51e6\u7406B\u3092\u5b9f\u884c\u3059\u308b\u5834\u5408\u3001\u3082\u3061\u308d\u3093\u305d\u306e\u307e\u307e\u5b9f\u884c\u3057\u3066\u3082\u3088\u3044\u306e\u3060\u304c\u3001\u3053\u306e\u3064\u306a\u304c\u308a\u3092\u758e\u7d50\u5408\u306b\u3057\u305f\u3044\u5834\u5408\u3001\u51e6\u7406B\u304c\u6642\u9593\u304c\u304b\u304b\u308b\u306a\u3069\u306e\u7406\u7531\u3067\u975e\u540c\u671f\u306b\u3057\u305f\u3044\u5834\u5408\u3001\u51e6\u7406B\u3092\u591a\u91cd\u51e6\u7406\u3057\u305f\u3044\u5834\u5408\u3001\u306a\u3069\u306b\u4f7f\u7528\u3059\u308b\u3068\u3088\u3044\u3002<\/p>\n\n\n\n<p>\u3088\u304f\u3042\u308b\u30b1\u30fc\u30b9\u3068\u3057\u3066\u306f\u3001 \u3042\u308b\u51e6\u7406\u306e\u5f8c\u306b\u30e1\u30fc\u30eb\u9001\u4fe1\u30fbPDF\u7b49\u306e\u30d5\u30a1\u30a4\u30eb\u751f\u6210\u30fb\u96c6\u8a08\u51e6\u7406\u30fb\u30c7\u30fc\u30bf\u524a\u9664\u30fb\u5f8c\u7d9a\u30d0\u30c3\u30c1\u8d77\u52d5\u306a\u3069\u3092\u884c\u3044\u305f\u3044\u5834\u5408\u306a\u3069\u306a\u3069\u3002<\/p>\n\n\n\n<p>\u30e1\u30c3\u30bb\u30fc\u30b8\u306e\u9806\u5e8f\u6027\u306f\u4fdd\u8a3c\u306a\u3057\u3002<\/p>\n\n\n\n<p>\u985e\u4f3c\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066 <a href='\/37\/#pub\/sub'>Cloud Pub\/Sub<\/a> \u304c\u3042\u308b\u3002\u6a5f\u80fd\u3068\u3057\u3066\u306f\u4f3c\u3066\u3044\u308b\u304c\u3001\u65b9\u5411\u6027\u3068\u3057\u3066\u306f Pub\/Sub \u306f\u5927\u91cf\u306e\u30a4\u30d9\u30f3\u30c8\u30c7\u30fc\u30bf\u51e6\u7406\u306b\u5411\u3044\u3066\u3044\u308b\u3002Cloud Tasks \u306f\u30b8\u30e7\u30d6\u306e\u9023\u643a\u306b\u5411\u3044\u3066\u3044\u308b\u3002<\/p>\n\n\n\n<p>\u305f\u3060\u3057\u30012019\/4 \u73fe\u5728\u3067\u306f GAE \u5b9b\u306b\u9001\u308b\u3053\u3068\u3057\u304b\u3067\u304d\u306a\u3044\u305f\u3081\u3001\u6c4e\u7528\u30b5\u30fc\u30d3\u30b9\u3068\u3057\u3066\u306f\u307e\u3060\u4e0d\u5341\u5206\u3002\u305d\u306e\u3046\u3061 Dataflow \u3084 Functions \u7b49\u306b\u9001\u308c\u308b\u3088\u3046\u306b\u306a\u308b\u3053\u3068\u3092\u671f\u5f85\u3002<\/p>\n\n\n\n<p>\u8a73\u7d30\u306f&nbsp;<a href=\"https:\/\/cloud-textbook.com\/60\/\">\u3053\u3061\u3089<\/a><\/p>\n\n\n\n<p><a href='\/39\/#messaging'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (messaging)<\/a><br>\n<\/p>\n\n\n\n<h3 id='tools-for-eclipse\/visual-studio\/android-studio\/intellij' style='margin-top: 1em; padding-top: 1em'>Cloud Tools for Eclipse\/Visual Studio\/Android Studio\/IntelliJ \u3068\u306f<\/h3>\n\n\n\n<h3 id='tools-for-powershell' style='margin-top: 1em; padding-top: 1em'>Cloud Tools for Powershell \u3068\u306f<\/h3>\n\n\n\n<h3 id='gradle-app-engine-plugin' style='margin-top: 1em; padding-top: 1em'>Gradle App Engine Plugin \u3068\u306f<\/h3>\n\n\n\n<h3 id='maven-app-engine-plugin' style='margin-top: 1em; padding-top: 1em'>Maven App Engine Plugin \u3068\u306f<\/h3>\n\n\n\n<h3 id='test-lab' style='margin-top: 1em; padding-top: 1em'>Cloud Test Lab \u3068\u306f<\/h3>\n\n\n\n<p><a href='\/39\/#device-test'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (device-test)<\/a><br>\n<\/p>\n\n\n\n<h3 id='transfer-appliance' style='margin-top: 1em; padding-top: 1em'>Transfer Appliance \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/transfer-appliance\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Transfer Appliance<\/a><br>\u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u306a\u3069\u306b\u7f6e\u3044\u3066\u3042\u308b\u5927\u91cf\u30c7\u30fc\u30bf\u3092 GCP \u306b\u7269\u7406\u7684\u306b\u8ee2\u9001\u3059\u308b\u305f\u3081\u306e\u3082\u306e\u3002 2019\/2 \u73fe\u5728\u7c73\u56fd\u30fb\u30ab\u30ca\u30c0\u3067\u5229\u7528\u53ef (\u6b27\u5dde\u3082\u53ef\u3060\u304c\u30d9\u30fc\u30bf)\u3002 Google \u304b\u3089 HDD (100TB \u307e\u305f\u306f 480TB) \u304c\u90f5\u9001\u3067\u9001\u3089\u308c\u3066\u304f\u308b\u306e\u3067\u3001 \u30c7\u30fc\u30bf\u30bb\u30f3\u30bf\u306a\u3069\u306b\u3042\u308b\u30aa\u30f3\u30d7\u30ec\u30df\u30b9\u304b\u3089\u30c7\u30fc\u30bf\u3092 HDD \u306b\u30b3\u30d4\u30fc\u3057\u3066\u3001 Google \u3078 HDD \u3092\u9001\u308a\u8fd4\u3059\u3068\u3001Google \u304c <a href='\/37\/#storage'>Cloud Storage<\/a> \u306b\u30c7\u30fc\u30bf\u3092\u4e0a\u3052\u3066\u304f\u308c\u308b\u611f\u3058\u3002AWS \u3067\u8a00\u3046\u3068\u3053\u308d\u306e <a href='\/8\/#snowball'>AWS Snowball<\/a>\u3002 AWS Snowball \u306f\u30c7\u30b9\u30af\u30c8\u30c3\u30d7\u578b (\u3068\u8a00\u3046\u306e\u3060\u308d\u3046\u304b) \u3060\u304c\u3001Google Transfer Appliance \u306f\u4e0b\u8a18\u5199\u771f\u306e\u3088\u3046\u306b\u30b5\u30fc\u30d0\u30e9\u30c3\u30af\u306b\u30de\u30a6\u30f3\u30c8\u3059\u308b\u5f62\u3067\u3042\u308b\u3002<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter\"><img loading=\"lazy\" width=\"434\" height=\"176\" src=\"https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/02\/image-4.png\" alt=\"\" class=\"wp-image-1817\" srcset=\"https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/02\/image-4.png 434w, https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/02\/image-4-300x122.png 300w, https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/02\/image-4-304x123.png 304w, https:\/\/cloud-textbook.com\/wp-content\/uploads\/2019\/02\/image-4-282x114.png 282w\" sizes=\"(max-width: 434px) 100vw, 434px\" \/><\/figure><\/div>\n\n\n\n<p><a href='\/39\/#physical-storage-transfer'>AWS\/Azure\/GCP \u30b5\u30fc\u30d3\u30b9\u30de\u30c3\u30d4\u30f3\u30b0\u3078 (physical-storage-transfer)<\/a><br>\n<\/p>\n\n\n\n<h2 id=\"etc\">\u305d\u306e\u4ed6<\/h2>\n\n\n\n<h3 id='launcher' style='margin-top: 1em; padding-top: 1em'>Cloud Launcher \u3068\u306f<\/h3>\n\n\n\n<a href='https:\/\/cloud.google.com\/launcher\/?hl=ja' target='_blank'>GCP\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u3078\uff1a Cloud Launcher<\/a><br>\u30d6\u30e9\u30a6\u30b6\u6570\u30af\u30ea\u30c3\u30af\u3067\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3084\u30b5\u30fc\u30d3\u30b9\u3092\u7acb\u3061\u4e0a\u3052\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3002 WordPress\u30fbRedis \u306e\u3088\u3046\u306b\u3001Compute Engine \u3092\u7acb\u3061\u4e0a\u3052\u308b\u30bf\u30a4\u30d7\u3068\u3001 SendGrid \u3084\u30c8\u30ec\u30f3\u30c9\u30de\u30a4\u30af\u30ed\u306e Deep Security \u306e\u3088\u3046\u306b\u3001\u5916\u90e8 API \u3092\u4f7f\u3046\u30bf\u30a4\u30d7\u304c\u3042\u308b\u3002 \u7acb\u3061\u4e0a\u3052\u5f8c\u306f\u7ba1\u7406\u753b\u9762\u304b\u3089\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u30b5\u30a4\u30ba\u3084\u30d7\u30e9\u30f3\u7b49\u306e\u5909\u66f4\u3092\u884c\u3048\u308b\u3002 Compute Engine \u306e\u30bf\u30a4\u30d7\u3067\u3042\u308c\u3070\u3001\u666e\u901a\u306b ssh \u7b49\u3067\u30ed\u30b0\u30a4\u30f3\u53ef\u80fd\u3002 \u5916\u90e8\u30b5\u30fc\u30d3\u30b9\u306e\u6599\u91d1\u3082 GCP \u3088\u308a\u4e00\u62ec\u3057\u3066\u8acb\u6c42\u3055\u308c\u308b\u3002<\/p>\n\n\n\n<h3 id='offline-media-import-\/-export' style='margin-top: 1em; padding-top: 1em'>Offline Media Import \/ Export \u3068\u306f<\/h3>\n\n\n\n<h2 id=\"memo\">\u30e1\u30e2<\/h2>\n\n\n\n<p>memo: search API, Network Service Tier. Access Transparency, Apigee Sence, VPC Service Controls, Regional Persistent Disk, GKE On-Prem, GKE Policy Management Knative ,Dialogflow, Shielded VMs, Container Security, Stackdriver Service Monitoring, Cloud Talent Solution, Firebase Predictions, API Analytics, API Monetization, Istio on GKE,  CSP Config Management, Knative, Cloud Vision Product Search, stackdriver logging sandbox, Google Cloud VMware Engine, Stackdriver Trace \u2192 Cloud Trace\u3001Stackdriver Profiler \u2192 Profiler, Strackdriver Debugger \u2192 Cloud Debugger, Trafic Director<\/p>\n\n\n\n<p>Serverless Containers on Cloud Functions \u2192 Cloud Run<br>GKE Serverless Add-on  \u2192  Cloud Run on GKE<\/p>\n\n\n<script>\r\n(function($) {\r\n  var countId_h2 = 0;\r\n  var countId_h3 = 1;\r\n  var oldlv = 2; \/\/ H2 \u304b\u3089\u30b9\u30bf\u30fc\u30c8\r\n  $(\".post-content h2, .post-content h3\").each(function(){\r\n    var ttl = $(this).text();\r\n    var lv = this.nodeName.slice(1,2); \/\/ Hn \u306e\u30ec\u30d9\u30eb\u53d6\u5f97\r\n\r\n    if ( lv > oldlv ){\r\n      countId_h3=1;\r\n    } else if ( lv < oldlv ){\r\n      countId_h2++;\r\n    } else {\r\n      if ( lv == 2 ){ countId_h2++; }\r\n      if ( lv == 3 ){ countId_h3++; }\r\n    }\r\n    \r\n    var myno;\r\n    if ( lv == 2 ){ myno=countId_h2; }\r\n    if ( lv == 3 ){ myno=countId_h2+\".\"+countId_h3; }\r\n\r\n    id='';\r\n   if ( this.id != \"\" ){\r\n      id = this.id;\r\n   } else {\r\n      \/\/ this.textContent='X';\r\n      id = myno;\r\n      this.id = myno;\r\n   }\r\n    var html= '<a href=\"#'+id+'\"><span class=\"toc_number toc_depth_'+(lv-1)+'\">'+myno+'<\/span> ' + ttl + '<\/a>';\r\n\r\n    if ( lv == 2 ){\r\n      html = '<li>' + html + '<\/li>';\r\n    } else {\r\n      html = '<li>&nbsp;&nbsp;' + html + '<\/li>';\r\n    }\r\n    $(\"#my_toc_list\").append(html);\r\n    oldlv=lv;\r\n  });\r\n})(jQuery);\r\n<\/script>\n<div id=\"empty-list\">\u8aac\u660e\u304c\u306a\u3044\u30a8\u30f3\u30c8\u30ea\u306f\u2026<\/div>\r\n<script>\r\n(function($) {\r\n  var total_count=0;\r\n  var have_contents_count=0;\r\n  var content_found=0;\r\n  var old_h3_text = '';\r\n  var old_h3_id = '';\r\n  $(\".post-content h3,p\").each(function(){\r\n     if ( this.nodeName == 'H3' ){\r\n        total_count++;\r\n        if ( content_found == 1 ){\r\n          have_contents_count++;\r\n        } else {\r\n          $(\"#empty-list\").append(\"<a href='#\"+old_h3_id+\"'>\"+old_h3_text+\"<\/a><br>\");\r\n        }\r\n        content_found = 0;\r\n        old_h3_text = $(this).text();\r\n        old_h3_id = $(this).attr('id');\r\n     }\r\n     if ( this.nodeName == 'P' ){\r\n       content_found = 1;\r\n     }\r\n  });\r\n  var add_str = \" (\u8aac\u660e\u7db2\u7f85\u7387\"+(Math.round(have_contents_count\/total_count*100))+\"%)\";\r\n  var h1 = $(\"h1\").text();\r\n  if ( h1.indexOf('(') > 0 ){\r\n    new_h1 = h1.substring(0, h1.indexOf('(')) + add_str;\r\n  } else { \r\n    new_h1 = h1 + add_str;\r\n  }\r\n  var title = $(\"title\").text();\r\n  if ( title.indexOf('(') > 0 ){\r\n    new_title = title.substring(0, title.indexOf('(')) + add_str;\r\n  } else {\r\n    new_title = title + add_str;\r\n  }\r\n  $(\"h1\").text(new_h1);\r\n  $(\"title\").text(new_title);\r\n})(jQuery);\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Google Cloud Platform (GCP) \u306e\u30b5\u30fc\u30d3\u30b9\u4e00\u89a7\u3068\u3001\u304a\u304a\u3080\u306d 3\u884c\u306e\u89e3\u8aac\u3067\u3059\u3002<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[4,12],"tags":[],"_links":{"self":[{"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/posts\/37"}],"collection":[{"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/comments?post=37"}],"version-history":[{"count":25,"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/posts\/37\/revisions"}],"predecessor-version":[{"id":4397,"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/posts\/37\/revisions\/4397"}],"wp:attachment":[{"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/media?parent=37"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/categories?post=37"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cloud-textbook.com\/wp-json\/wp\/v2\/tags?post=37"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}