{"id":48618,"date":"2022-11-24T21:36:47","date_gmt":"2023-09-30T18:12:30","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/"},"modified":"2024-04-29T02:19:22","modified_gmt":"2024-04-28T18:19:22","slug":"terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/","title":{"rendered":"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5"},"content":{"rendered":"<h1>\u7528\u4e2d\u6587\u5c06\u8be5\u6587\u7ae0\u7528\u4e09\u884c\u6765\u6982\u8ff0:<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u2460Git\u306b\u8f09\u305b\u3089\u308c\u306a\u3044\u30bb\u30f3\u30b7\u30c6\u30a3\u30d6\u306a\u74b0\u5883\u5909\u6570(API KEY\u3068\u304b)\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u8a2d\u5b9a\u3057\u30b3\u30f3\u30c6\u30ca\u306b\u6e21\u3059\u8a2d\u5b9a\u306b\u3059\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u2461Git\u306b\u8f09\u305b\u3089\u308c\u308b\u3088\u3046\u306a\u74b0\u5883\u5909\u6570\u306f *.tfvars \u30d5\u30a1\u30a4\u30eb\u306b\u8a18\u8f09<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\u2462\u5404\u74b0\u5883\u3054\u3068\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u4f5c\u308a\u3001\u305d\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3067Terraform\u30b3\u30de\u30f3\u30c9\u3092\u53e9\u304f\u3053\u3068\u3067\u540c\u4e00\u30bd\u30fc\u30b9\u3092\u8907\u6570\u74b0\u5883\u3067\u30c7\u30d7\u30ed\u30a4\u3057\u3088\u3046<\/ul>\n<h1>\u6761\u4ef6<\/h1>\n<ul class=\"post-ul\">\u6b21\u306e\u904e\u53bb\u8a18\u4e8b\u3067\u69cb\u7bc9\u3057\u305f\u74b0\u5883\u3092\u524d\u63d0\u3068\u3057\u3066\u3044\u307e\u3059<\/ul>\n<p>Terraform\u548cDocker\u73af\u5883\u8bbe\u7f6e &#8211; Qiita<\/p>\n<ul class=\"post-ul\">NewRelic\u3092Terraform\u3067IaC(Infrastructure as Code)\u5316\u3059\u308b\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u3092\u60f3\u5b9a\u3057\u3066\u3044\u307e\u3059<\/ul>\n<h2>\u73af\u5883<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">macOS Big Sur v11.6.1(Intel)<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Docker for Mac v4.3.1<\/ul>\n<\/li>\n<\/ul>\n<p>Docker v20.10.11<br \/>\ndocker-compose v1.29.2<\/p>\n<h1>\u9019\u500b\u554f\u984c<\/h1>\n<h2>\u76ee\u5f55\u7ed3\u6784<\/h2>\n<pre class=\"post-pre\"><code>---- terraform\r\n   \u2502   \u2514 src\r\n   \u2502   \u2502   \u2514 environment\r\n   \u2502   \u2502   \u2502   \u2514 prod\r\n   \u2502   \u2502   \u2502   \u2502   \u2514 prod.tf\r\n   \u2502   \u2502   \u2502   \u2514 dev\r\n   \u2502   \u2502   \u2502       \u2514 dev.tf\r\n   \u2502   \u2502   \u2514 main\r\n   \u2502   \u2502   \u2502   \u2514 main.tf\r\n   \u2502   \u2502   \u2502   \u2514 \u305d\u306e\u4ed6\u3082\u308d\u3082\u308d \/\/ Terraform\u95a2\u9023\u30bd\u30fc\u30b9(docker-compose\u3067\u30de\u30a6\u30f3\u30c8\u3059\u308b)\r\n   \u2502   \u2514 home\r\n   \u2502   \u2502   \u2514 entrypoint.sh \/\/ Terraform\u30b3\u30f3\u30c6\u30ca\u306eENTRYPOINT\u306b\u6307\u5b9a\u3059\u308b\u30b7\u30a7\u30eb\u30b3\u30de\u30f3\u30c9\r\n   \u2502   \u2514 root\r\n   \u2502   \u2502   \u2514 .bashrc \/\/ bash\u306e\u30a8\u30a4\u30ea\u30a2\u30b9\u306a\u3069\u3092\u3053\u3053\u306b\u8a18\u8f09\r\n   \u2502   \u2514 Dockerfile\r\n   \u2514 docker-compose.yaml\r\n<\/code><\/pre>\n<h2>\u5c06\u65e0\u6cd5\u4e0a\u4f20\u5230Git\u4e0a\u7684\u654f\u611f\u73af\u5883\u53d8\u91cf\uff08\u5982API\u5bc6\u94a5\u7b49\uff09\u8bbe\u5b9a\u5728\u672c\u5730\uff0c\u5e76\u5c06\u5176\u4f20\u9012\u7ed9\u5bb9\u5668\u7684\u8bbe\u7f6e\u3002<\/h2>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u3053\u3053\u3067\u306e\u74b0\u5883\u5909\u6570\u306f\u74b0\u5883\u9593\u3067\u5909\u66f4\u3059\u308b\u5fc5\u8981\u306f\u306a\u3044\u60f3\u5b9a\u3067\u8a71\u3092\u9032\u3081\u307e\u3059<\/ul>\n<\/li>\n<\/ul>\n<p>\u5909\u66f4\u306e\u5fc5\u8981\u304c\u3042\u308b\u5834\u5408\u3001\u3053\u306e\u7ae0\u306b\u8a18\u8f09\u3055\u308c\u3066\u3044\u308b\u3084\u308a\u65b9\u3067\u30ed\u30fc\u30ab\u30eb\u306e\u74b0\u5883\u5909\u6570\u3092\u5909\u66f4\u3057\u305f\u4e0a\u3067\u5404\u74b0\u5883\u306e\u30b3\u30f3\u30c6\u30ca\u3092\u7acb\u3061\u4e0a\u3052\u308b\u5fc5\u8981\u304c\u3042\u308b\u304b\u3068\u601d\u3044\u307e\u3059<\/p>\n<p>\u4e0a\u3067\u3082\u6319\u3052\u305f\u3001\u4e0b\u8a18\u306e\u904e\u53bb\u8a18\u4e8b\u306b\u8a18\u8f09\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u6539\u3081\u3066\u8981\u70b9\u3092\u8a18\u8f09\u3057\u3066\u304a\u304d\u307e\u3059<\/p>\n<p>\u4f7f\u7528Terraform\u548cDocker\u8fdb\u884c\u73af\u5883\u6784\u5efa- Qiita<\/p>\n<h3>docker-compose.yml\u7684\u610f\u601d\u662f\u4ec0\u4e48\uff1f<\/h3>\n<p>environment\u3067\u30ed\u30fc\u30ab\u30eb\u3067\u8a2d\u5b9a\u3055\u308c\u305f\u74b0\u5883\u5909\u6570\u3092\u30b3\u30f3\u30c6\u30ca\u74b0\u5883\u5185\u306b\u53cd\u6620\u3055\u305b\u308b<\/p>\n<pre class=\"post-pre\"><code><span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">3.8\"<\/span>\r\n\r\n<span class=\"na\">services<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">terraform<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">container_name<\/span><span class=\"pi\">:<\/span> <span class=\"s\">tf<\/span>\r\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.\/terraform<\/span>\r\n    <span class=\"na\">environment<\/span><span class=\"pi\">:<\/span> <span class=\"s\">\/\/ \u30b3\u30f3\u30c6\u30ca\u5185\u306e\u74b0\u5883\u5909\u6570\u3092\u6307\u5b9a\u3059\u308b =&gt; \u5c0e\u5165\u3059\u308b\u30d7\u30ed\u30d0\u30a4\u30c0\u30fc\u3084\u6c42\u3081\u308b\u74b0\u5883\u6b21\u7b2c<\/span>\r\n      <span class=\"s\">- NEW_RELIC_API_KEY=${NEW_RELIC_API_KEY}<\/span>\r\n      <span class=\"s\">- NEW_RELIC_ACCOUNT_ID=${NEW_RELIC_ACCOUNT_ID}<\/span>\r\n      <span class=\"s\">- NEW_RELIC_REGION=US<\/span>\r\n    <span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">.\/terraform\/src:\/terraform\/src<\/span>\r\n<\/code><\/pre>\n<h3>\u5728\u672c\u5730\u8bbe\u7f6e\u73af\u5883\u53d8\u91cf<\/h3>\n<ul class=\"post-ul\">CLI\u3067\u8a2d\u5b9a\u3059\u308b\u5834\u5408<\/ul>\n<pre class=\"post-pre\"><code>$ NEW_RELIC_API_KEY=xxxx-xxxxxxxxxxxxxxxxxxxxxxx \\\r\n   &amp;&amp; echo ${NEW_RELIC_API_KEY}\r\n\r\nxxxx-xxxxxxxxxxxxxxxxxxxxxxx\r\n<\/code><\/pre>\n<ul class=\"post-ul\">.zshenv\u3067\u8a2d\u5b9a\u3059\u308b\u5834\u5408<\/ul>\n<pre class=\"post-pre\"><code><span class=\"nb\">export <\/span><span class=\"nv\">NEW_RELIC_API_KEY<\/span><span class=\"o\">=<\/span>xxxx-xxxxxxxxxxxxxxxxxxxxxxx\r\n<\/code><\/pre>\n<p>\u8bf7\u91cd\u65b0\u6253\u5f00\u7ec8\u7aef\uff0c\u5e76\u786e\u8ba4\u73af\u5883\u53d8\u91cf\u5df2\u6b63\u786e\u8bbe\u7f6e\u3002<\/p>\n<pre class=\"post-pre\"><code>echo ${NEW_RELIC_API_KEY}\r\n\r\nxxxx-xxxxxxxxxxxxxxxxxxxxxxx\r\n<\/code><\/pre>\n<h2>\u628a\u53ef\u4ee5\u4e0a\u4f20\u5230Git\u7684\u73af\u5883\u53d8\u91cf\u5199\u5728*.tfvars\u6587\u4ef6\u4e2d\u3002<\/h2>\n<ul class=\"post-ul\">\u3053\u3053\u306b\u3064\u3044\u3066\u306f\u3001\u5b9f\u969b\u306eTerraform\u958b\u767a\u6642\u306e\u6d41\u308c\u306b\u306e\u3063\u3066\u7d39\u4ecb\u3057\u3066\u3044\u304d\u307e\u3059<\/ul>\n<h3>terraform\/home\/entrypoint.sh \u2192 Terraform\u7684\u4e3b\u76ee\u5f55\/\u5165\u53e3\u811a\u672c.sh<\/h3>\n<p>\u6211\u7a81\u7136\u63d2\u4e00\u53e5\u5634\uff0c\u4f46\u5728\u8fd9\u91cc\u8fdb\u884cterraform init\u662f\u4e00\u4e2a\u5f88\u597d\u7684\u9009\u62e9\uff0c\u6240\u4ee5\u6211\u628a\u5b83\u653e\u5728\u8fd9\u91cc\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"c\">#!\/bin\/bash<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\\n\\n\/\/==========================================='<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\/\/ START_[$ terraform init(prod)]'<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\/\/==========================================='<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nb\">cd <\/span>terraform\/src\/environment\/prod<span class=\"p\">;<\/span>\r\nterraform init<span class=\"p\">;<\/span>\r\n<span class=\"nb\">cd<\/span> ..\/..\/..\/..\r\n\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\\n\\n\/\/==========================================='<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\/\/ START_[$ terraform init(stg2)]'<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\/\/==========================================='<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nb\">cd <\/span>terraform\/src\/environment\/stg2<span class=\"p\">;<\/span>\r\nterraform init<span class=\"p\">;<\/span>\r\n<span class=\"nb\">cd<\/span> ..\/..\/..\/..\r\n\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\\n\\n\/\/==========================================='<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\/\/ SHOW_environment'<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"nt\">-e<\/span> <span class=\"s1\">'\/\/==========================================='<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nb\">echo<\/span> <span class=\"s1\">'$NEW_RELIC_API_KEY='<\/span> <span class=\"nv\">$NEW_RELIC_API_KEY<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"s1\">'$NEW_RELIC_REGION='<\/span> <span class=\"nv\">$NEW_RELIC_REGION<\/span><span class=\"p\">;<\/span>\r\n<span class=\"nb\">echo<\/span> <span class=\"s1\">'$NEW_RELIC_ACCOUNT_ID='<\/span> <span class=\"nv\">$NEW_RELIC_ACCOUNT_ID<\/span><span class=\"p\">;<\/span>\r\n\r\n<span class=\"nb\">tail<\/span> <span class=\"nt\">-f<\/span> \/dev\/null\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Dockerfile\u306eENTRYPOINT\u306b\u6307\u5b9a\u3057\u3066\u3044\u308b\u30d5\u30a1\u30a4\u30eb\u3067\u3059<\/ul>\n<\/li>\n<\/ul>\n<p>(\u4eca\u56de\u306e\u69cb\u6210\u306b\u5408\u308f\u305b\u3066\u66f8\u304d\u63db\u3048\u3066\u307e\u3059\u304c\u3001\u4ed5\u7d44\u307f\u306a\u3069\u306b\u3064\u3044\u3066\u306f\u3053\u308c\u3082\u904e\u53bb\u8a18\u4e8b\u3092\u53c2\u7167\u3057\u3066\u304f\u3060\u3055\u3044)<\/p>\n<p>\u3084\u3063\u3066\u3044\u308b\u3053\u3068<\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u8d77\u52d5\u6642\u3001\u5404\u74b0\u5883\u3067terraform init\u30b3\u30de\u30f3\u30c9\u3092\u53e9\u3044\u3066\u3044\u308b<br \/>\n\u30ed\u30fc\u30ab\u30eb\u3067\u5b9a\u7fa9\u3057\u305f\u74b0\u5883\u5909\u6570\u3092\u30b3\u30f3\u30c6\u30ca\u306b\u53cd\u6620\u3057\u3066\u3044\u308b(docker-compose.yml\u306b\u8a18\u8f09)\u306e\u3067\u3001\u6b63\u5e38\u306b\u53cd\u6620\u3055\u308c\u3066\u3044\u308b\u304b\u30c1\u30a7\u30c3\u30af\u3057\u3066\u3044\u308b<\/p>\n<h3>terraform\u7684\u6839\u76ee\u5f55\u4e3a\/root\/.bashrc<\/h3>\n<pre class=\"post-pre\"><code><span class=\"nb\">alias <\/span><span class=\"nv\">ll<\/span><span class=\"o\">=<\/span><span class=\"s1\">'ls -la --color'<\/span> <span class=\"c\"># \u3053\u308c\u306f\u4fbf\u5229\u306a\u306e\u3067\u304a\u307e\u3051<\/span>\r\n<span class=\"nb\">alias <\/span><span class=\"nv\">tf<\/span><span class=\"o\">=<\/span><span class=\"s1\">'terraform'<\/span> <span class=\"c\"># \u3053\u308c\u306f\u4fbf\u5229\u306a\u306e\u3067\u304a\u307e\u3051<\/span>\r\n\r\n<span class=\"c\"># plan<\/span>\r\n<span class=\"nb\">alias <\/span>plan:dev<span class=\"o\">=<\/span><span class=\"s2\">\"cd \/terraform\/src\/environment\/dev &amp;&amp; terraform plan -var-file .\/dev.tfvars &amp;&amp; cd ..\/..\/..\/..\"<\/span>\r\n<span class=\"nb\">alias <\/span>plan:prod<span class=\"o\">=<\/span><span class=\"s2\">\"cd \/terraform\/src\/environment\/prod &amp;&amp; terraform plan -var-file .\/prod.tfvars &amp;&amp; cd ..\/..\/..\/..\"<\/span>\r\n\r\n<span class=\"c\"># apply<\/span>\r\n<span class=\"nb\">alias <\/span>apply:dev<span class=\"o\">=<\/span><span class=\"s2\">\"cd \/terraform\/src\/environment\/dev &amp;&amp; terraform apply -var-file .\/dev.tfvars &amp;&amp; cd ..\/..\/..\/..\"<\/span>\r\n<span class=\"nb\">alias <\/span>apply:prod<span class=\"o\">=<\/span><span class=\"s2\">\"cd \/terraform\/src\/environment\/prod &amp;&amp; terraform apply -var-file .\/prod.tfvars &amp;&amp; cd ..\/..\/..\/..\"<\/span>\r\n\r\n<span class=\"c\"># tmt<\/span>\r\n<span class=\"nb\">alias fmt<\/span><span class=\"o\">=<\/span><span class=\"s2\">\"terraform fmt -recursive\"<\/span> <span class=\"c\"># \u3053\u308c\u306f\u4fbf\u5229\u306a\u306e\u3067\u304a\u307e\u3051<\/span>\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u3084\u3063\u3066\u3044\u308b\u3053\u3068<\/ul>\n<\/li>\n<\/ul>\n<p>\u5404\u74b0\u5883\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5<br \/>\nTerraform\u30b3\u30de\u30f3\u30c9\u8d77\u52d5<\/p>\n<p>-var-file\u30aa\u30d7\u30b7\u30e7\u30f3\u3067\u5404\u74b0\u5883\u3054\u3068\u306e\u74b0\u5883\u5909\u6570\u30d5\u30a1\u30a4\u30eb\u3092\u5b9a\u7fa9\u3057\u3066\u3044\u308b<\/p>\n<p>\u30b3\u30f3\u30c6\u30ca\u306e\u30eb\u30fc\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5<\/p>\n<p>\u5404\u74b0\u5883\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3078\u306e\u79fb\u52d5\u306f\u7d76\u5bfe\u30d1\u30b9\u3067\u6307\u5b9a\u3057\u3066\u3044\u308b\u306e\u3067\u30b3\u30f3\u30c6\u30ca\u306e\u3069\u3053\u306b\u3044\u3066\u3082\u30b3\u30de\u30f3\u30c9\u306f\u53e9\u3051\u308b<br \/>\n\u300cterraform init\u304c\u5fc5\u8981\u300d\u3068\u3044\u3046\u65e8\u306e\u30a8\u30e9\u30fc\u304c\u73fe\u308c\u305f\u5834\u5408<\/p>\n<p>\u5404\u74b0\u5883\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u79fb\u52d5\u3057\u305f\u72b6\u614b\u3067\u30b3\u30de\u30f3\u30c9\u304c\u4e2d\u65ad\u3055\u308c\u3066\u3044\u308b\u306f\u305a\u306a\u306e\u3067\u3001\u305d\u3053\u3067init\u3092\u3059\u308c\u3070OK<\/p>\n<h3>terraform\u6e90\u4ee3\u7801\u73af\u5883\u6587\u4ef6\u5939\u4e2d\u7684prod\u548cdev\u76ee\u5f55\u4e0b\u7684\u6240\u6709tfvars\u6587\u4ef6\u3002<\/h3>\n<p>\u4f8b\u5982\uff1a\u4ea7\u54c1<\/p>\n<pre class=\"post-pre\"><code>env              = \"prod\"\r\ndomain           = \"www.example_prod.com\"\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u4e0a\u8a18****.****bashrc\u5185\u30a8\u30a4\u30ea\u30a2\u30b9\u306e-var-file\u30aa\u30d7\u30b7\u30e7\u30f3\u306b\u3066\u6307\u5b9a\u3055\u308c\u3066\u3044\u308b\u74b0\u5883\u5909\u6570\u306e\u5b9a\u7fa9\u30d5\u30a1\u30a4\u30eb<\/ul>\n<\/li>\n<\/ul>\n<p>\u3053\u308c\u3067plan, apply\u3057\u305f\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u5185\u306e.tf\u30d5\u30a1\u30a4\u30eb\u5185\u3067variable\u3068\u3057\u3066\u53d6\u5f97\u3057\u3001\u4f7f\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u308b<\/p>\n<h3>terraform\/\u6e90\u7801\/\u73af\u5883\/\u751f\u4ea7\u548c\u5f00\u53d1\/*.tf<\/h3>\n<pre class=\"post-pre\"><code><span class=\"c1\">\/\/-------------------------------------<\/span>\r\n<span class=\"c1\">\/\/ variable<\/span>\r\n<span class=\"c1\">\/\/-------------------------------------<\/span>\r\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"env\"<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span> <span class=\"p\">}<\/span>\r\n<span class=\"nx\">variable<\/span> <span class=\"s2\">\"domain\"<\/span> <span class=\"p\">{<\/span> <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span> <span class=\"p\">}<\/span>\r\n\r\n<span class=\"c1\">\/\/-------------------------------------<\/span>\r\n<span class=\"c1\">\/\/ modules<\/span>\r\n<span class=\"c1\">\/\/-------------------------------------<\/span>\r\n<span class=\"nx\">module<\/span> <span class=\"s2\">\"main\"<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">source<\/span>           <span class=\"p\">=<\/span> <span class=\"s2\">\"..\/..\/main\"<\/span>\r\n  <span class=\"nx\">env<\/span>              <span class=\"p\">=<\/span> <span class=\"nx\">var<\/span><span class=\"err\">.<\/span><span class=\"nx\">env<\/span>\r\n  <span class=\"nx\">domain<\/span>           <span class=\"p\">=<\/span> <span class=\"nx\">var<\/span><span class=\"err\">.<\/span><span class=\"nx\">domain<\/span>\r\n<span class=\"p\">}<\/span>\r\n\r\n<span class=\"c1\">\/\/-------------------------------------<\/span>\r\n<span class=\"c1\">\/\/ terraform<\/span>\r\n<span class=\"c1\">\/\/-------------------------------------<\/span>\r\n<span class=\"nx\">terraform<\/span> <span class=\"p\">{<\/span>\r\n  <span class=\"nx\">required_version<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"~&gt; 1.0\"<\/span>\r\n  <span class=\"nx\">required_providers<\/span> <span class=\"p\">{<\/span>\r\n    <span class=\"nx\">newrelic<\/span> <span class=\"p\">=<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"nx\">source<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"newrelic\/newrelic\"<\/span>\r\n    <span class=\"p\">}<\/span>\r\n  <span class=\"p\">}<\/span>\r\n<span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">variable\u30d6\u30ed\u30c3\u30af\u3067\u74b0\u5883\u5909\u6570\u3092\u53d6\u5f97\u3057\u3066\u3044\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">modules\u30d6\u30ed\u30c3\u30af\u3067\u74b0\u5883\u5909\u6570\u3092\u201dmain\u201d\u3068\u3057\u3066\u3044\u308bmodule\u306b\u6e21\u3057\u3066\u3044\u308b<\/ul>\n<\/li>\n<\/ul>\n<p>\u3042\u3068\u306f\u201dmain\u201d\u306emodule\u304b\u3089\u4f7f\u3044\u305f\u3044\u3068\u3053\u308d\u307e\u3067\u74b0\u5883\u5909\u6570\u3092\u30d1\u30b9\u3057\u3066\u3044\u304f<\/p>\n<h3>(\u53c2\u8003) \u4e2d\u6587\u73af\u5883\u53d8\u91cf\u7684\u4e2d\u7ee7\u65b9\u5f0f<\/h3>\n<p>terraform \u4e3b\u6587\u4ef6\u5939\u4e0b\u7684 modules.tf<\/p>\n<pre class=\"post-pre\"><code>\t\t<span class=\"nx\">module<\/span> <span class=\"s2\">\"urls\"<\/span> <span class=\"p\">{<\/span>\r\n      <span class=\"nx\">source<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\".\/modules\/output\/urls\"<\/span>\r\n<span class=\"err\">++<\/span>    <span class=\"nx\">domain<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">var<\/span><span class=\"err\">.<\/span><span class=\"nx\">domain<\/span>\r\n    <span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<p>\u8bf7\u4e0b\u6765\u3002<br \/>\n\u8bf7\u5411\u4e0b\u8d70\u3002<\/p>\n<p>terraform\u7684\u6e90\u4ee3\u7801\u6a21\u5757\u4e2d\u7684output\u6587\u4ef6\u5939\u5185\u7684urls\u6587\u4ef6\u8868\u683c.tf\u3002<\/p>\n<pre class=\"post-pre\"><code>      <span class=\"c1\">\/\/-------------------------------------<\/span>\r\n      <span class=\"c1\">\/\/ variable<\/span>\r\n      <span class=\"c1\">\/\/-------------------------------------<\/span>\r\n<span class=\"err\">++<\/span>    <span class=\"nx\">variable<\/span> <span class=\"s2\">\"domain\"<\/span> <span class=\"p\">{<\/span>\r\n<span class=\"err\">++<\/span>      <span class=\"nx\">type<\/span> <span class=\"p\">=<\/span> <span class=\"nx\">string<\/span>\r\n<span class=\"err\">++<\/span>    <span class=\"p\">}<\/span>\r\n      \r\n      <span class=\"c1\">\/\/-------------------------------------<\/span>\r\n      <span class=\"c1\">\/\/ output<\/span>\r\n      <span class=\"c1\">\/\/-------------------------------------<\/span>\r\n      <span class=\"nx\">output<\/span> <span class=\"s2\">\"urls\"<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nx\">value<\/span> <span class=\"p\">=<\/span> <span class=\"p\">{<\/span>\r\n<span class=\"err\">--<\/span>        <span class=\"s2\">\"https:\/\/example.aaaa.com\/path\/to\/hoge\"<\/span> <span class=\"err\">:<\/span> <span class=\"p\">{<\/span>\r\n<span class=\"err\">++<\/span>        <span class=\"s2\">\"https:\/\/${var.domain}:443\/\/path\/to\/hoge\"<\/span> <span class=\"err\">:<\/span> <span class=\"p\">{<\/span>\r\n            <span class=\"nx\">url_name<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"\u307b\u3052\"<\/span>\r\n          <span class=\"p\">}<\/span>\r\n          <span class=\"err\">\ufe19<\/span>\r\n        <span class=\"p\">}<\/span>\r\n      <span class=\"p\">}<\/span>\r\n      \r\n      <span class=\"c1\">\/\/-------------------------------------<\/span>\r\n      <span class=\"c1\">\/\/ terraform<\/span>\r\n      <span class=\"c1\">\/\/-------------------------------------<\/span>\r\n      <span class=\"nx\">terraform<\/span> <span class=\"p\">{<\/span>\r\n        <span class=\"nx\">required_version<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"~&gt; 1.0\"<\/span>\r\n        <span class=\"nx\">required_providers<\/span> <span class=\"p\">{<\/span>\r\n          <span class=\"nx\">newrelic<\/span> <span class=\"p\">=<\/span> <span class=\"p\">{<\/span>\r\n            <span class=\"nx\">source<\/span> <span class=\"p\">=<\/span> <span class=\"s2\">\"newrelic\/newrelic\"<\/span>\r\n          <span class=\"p\">}<\/span>\r\n        <span class=\"p\">}<\/span>\r\n      <span class=\"p\">}<\/span>\r\n<\/code><\/pre>\n<h2>\u901a\u8fc7\u521b\u5efa\u5404\u4e2a\u73af\u5883\u7684\u76ee\u5f55\uff0c\u5e76\u5728\u76ee\u5f55\u4e2d\u8fd0\u884cTerraform\u547d\u4ee4\uff0c\u53ef\u4ee5\u5728\u591a\u4e2a\u73af\u5883\u4e2d\u90e8\u7f72\u76f8\u540c\u7684\u6e90\u4ee3\u7801\u3002<\/h2>\n<p>\u76f4\u5230\u8fd9\u4e00\u70b9<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u5404\u74b0\u5883\u3054\u3068\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210\u304c\u3067\u304d\u3066\u304a\u308a<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u305d\u308c\u305e\u308c\u306e\u74b0\u5883\u3067\u74b0\u5883\u5909\u6570\u3092\u5b9a\u7fa9\u3067\u304d\u3066\u3044\u3066<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">(terraform\/src\/environment\/prod &amp; dev****\/.tfvars)***<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">\u305d\u308c\u305e\u308c\u306e\u74b0\u5883\u3067Terraform\u30b3\u30de\u30f3\u30c9\u3092\u53e9\u304f\u6e96\u5099<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">(terraform\/root\/.bashrc)<\/ul>\n<p>\u80fd\u591f\u505a\u5230<\/p>\n<pre class=\"post-pre\"><code>---- terraform\r\n   \u2502   \u2514 src\r\n   \u2502   \u2502   \u2514 environment\r\n   \u2502   \u2502   \u2502   \u2514 prod\r\n   \u2502   \u2502   \u2502   \u2502   \u2514 prod.tf\r\n   \u2502   \u2502   \u2502   \u2514 dev\r\n   \u2502   \u2502   \u2502       \u2514 dev.tf\r\n\ufe19\r\n<\/code><\/pre>\n<p>\u53ea\u9700\u5728\u5bb9\u5668\u5185\u952e\u5165\u547d\u4ee4\uff0c\u5c31\u53ef\u4ee5\u4e86\u3002<\/p>\n<pre class=\"post-pre\"><code>$ plan:dev\r\n<\/code><\/pre>\n<pre class=\"post-pre\"><code>$ apply:prod\r\n<\/code><\/pre>\n<h1>\u7ed3\u675f<\/h1>\n<p>\u4f60\u80fd\u591f\u5728\u5404\u4e2a\u73af\u5883\u4e2d\u6210\u529f\u5e94\u7528\u8d44\u6e90\u5417\uff1f<\/p>\n<p>\u4e3a\u4e86\u5199\u6210\u6587\u7ae0\uff0c\u6211\u5c3d\u91cf\u53bb\u9664\u4e86\u5c3d\u53ef\u80fd\u591a\u7684\u5e9f\u8bdd\uff0c\u6240\u4ee5\u53ef\u80fd\u4f1a\u7701\u7565\u6389\u4e00\u4e9b\u5fc5\u8981\u7684\u90e8\u5206\uff0c\u4e5f\u53ef\u80fd\u6709\u4e00\u4e9b\u6211\u8ba4\u4e3a\u5f88\u81ea\u7136\u800c\u6ca1\u6709\u5199\u4e0b\u7684\u4e8b\u9879\u3002<\/p>\n<p>\u5982\u679c\u9047\u5230\u4efb\u4f55\u95ee\u9898\u6216\u5361\u4f4f\u7684\u5730\u65b9\uff0c\u8bf7\u52a1\u5fc5\u5728\u8bc4\u8bba\u4e2d\u544a\u77e5\uff0c\u975e\u5e38\u611f\u8c22\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u7528\u4e2d\u6587\u5c06\u8be5\u6587\u7ae0\u7528\u4e09\u884c\u6765\u6982\u8ff0: \u2460Git\u306b\u8f09\u305b\u3089\u308c\u306a\u3044\u30bb\u30f3\u30b7\u30c6\u30a3\u30d6\u306a\u74b0\u5883\u5909\u6570(API KEY\u3068\u304b)\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u8a2d [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-48618","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5 - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-\u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5\" \/>\n<meta property=\"og:description\" content=\"\u7528\u4e2d\u6587\u5c06\u8be5\u6587\u7ae0\u7528\u4e09\u884c\u6765\u6982\u8ff0: \u2460Git\u306b\u8f09\u305b\u3089\u308c\u306a\u3044\u30bb\u30f3\u30b7\u30c6\u30a3\u30d6\u306a\u74b0\u5883\u5909\u6570(API KEY\u3068\u304b)\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u8a2d [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-\u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2023-09-30T18:12:30+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-28T18:19:22+00:00\" \/>\n<meta name=\"author\" content=\"\u79d1, \u96c5\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u79d1, \u96c5\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/\",\"name\":\"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5 - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2023-09-30T18:12:30+00:00\",\"dateModified\":\"2024-04-28T18:19:22+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a\",\"name\":\"\u79d1, \u96c5\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g\",\"caption\":\"\u79d1, \u96c5\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5 - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-\u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5\/","og_locale":"zh_CN","og_type":"article","og_title":"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5","og_description":"\u7528\u4e2d\u6587\u5c06\u8be5\u6587\u7ae0\u7528\u4e09\u884c\u6765\u6982\u8ff0: \u2460Git\u306b\u8f09\u305b\u3089\u308c\u306a\u3044\u30bb\u30f3\u30b7\u30c6\u30a3\u30d6\u306a\u74b0\u5883\u5909\u6570(API KEY\u3068\u304b)\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u8a2d [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-\u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2023-09-30T18:12:30+00:00","article_modified_time":"2024-04-28T18:19:22+00:00","author":"\u79d1, \u96c5","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u79d1, \u96c5","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"3 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/","name":"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5 - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2023-09-30T18:12:30+00:00","dateModified":"2024-04-28T18:19:22+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"[Terraform+Docker(+NewRelic)] \u63a8\u8350\u7684\u73af\u5883\u53d8\u91cf\u8bbe\u7f6e\u65b9\u6cd5"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/41e222757cdd2a3365361328bd79970a","name":"\u79d1, \u96c5","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b2d3e00a7df03689797ebd4af8c5827ba5af936849a71050ec331f4cf902c5d?s=96&d=mm&r=g","caption":"\u79d1, \u96c5"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/keya\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/terraformdockernewrelic-%e6%8e%a8%e8%8d%90%e7%9a%84%e7%8e%af%e5%a2%83%e5%8f%98%e9%87%8f%e8%ae%be%e7%bd%ae%e6%96%b9%e6%b3%95\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48618","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=48618"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48618\/revisions"}],"predecessor-version":[{"id":74544,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/48618\/revisions\/74544"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=48618"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=48618"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=48618"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}