{"id":258,"date":"2016-03-31T11:49:11","date_gmt":"2016-03-31T02:49:11","guid":{"rendered":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/blog\/2016\/03\/31\/deploy-rails-to-opsworks-chef12"},"modified":"2016-03-31T11:49:11","modified_gmt":"2016-03-31T02:49:11","slug":"deploy-rails-to-opsworks-chef12","status":"publish","type":"post","link":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/blog\/2016\/03\/31\/deploy-rails-to-opsworks-chef12\/","title":{"rendered":"Chef12\u306b\u5bfe\u5fdc\u3057\u305fAWS OpsWorks\u306bRails\u30a2\u30d7\u30ea\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u2460"},"content":{"rendered":"

\u6628\u65e5\u306e\u793e\u5185\u5e74\u5ea6\u672b\u30ed\u30fc\u30ab\u30eb\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u3067\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u304c\u300c\u30de\u30cb\u30e9\u300d\u306b\u306a\u3063\u305f\u524d\u7530\u3067\u3059\u3002<\/p>\n

\u5f0a\u793e\u3067\u306fAWS\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u969b\u3001\u30a4\u30f3\u30d5\u30e9\u69cb\u7bc9\u306e\u81ea\u52d5\u5316&\u7701\u529b\u5316\u306e\u70ba\u306eDevOps\u30c4\u30fc\u30eb\u3068\u3057\u3066\u4e3b\u306bAWS\u306eOpsWorks\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\u3002<\/a>
\n\u6628\u5e7412\u6708\u306bAmazon\u304b\u3089\u30a2\u30ca\u30a6\u30f3\u30b9\u304c\u3042\u3063\u305f\u901a\u308a\u3001AWS OpsWorks\u3067Chef12\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002
\n\u5c06\u6765\u7684\u306bChef11\u30b5\u30dd\u30fc\u30c8\u304c\u7d42\u4e86\u3059\u308b\u3053\u3068\u3092\u898b\u8d8a\u3057\u3066\u3001Chef12\u306b\u5bfe\u5fdc\u3057\u305fOpsWorks\u3067\u52d5\u304fRails\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3Cookbook\u306e\u9aa8\u7d44\u307f\u3092\u4f5c\u6210\u3059\u308b\u3001\u3068\u3044\u3046\u30df\u30c3\u30b7\u30e7\u30f3\u3092\u4e0e\u3048\u3089\u308c\u307e\u3057\u305f\u306e\u3067\u4eca\u56de\u53d6\u308a\u7d44\u307f\u307e\u3057\u305f\u3002<\/p>\n

Chef12\u306b\u306a\u308a\u5927\u304d\u304f\u5909\u308f\u308b\u70b9\u306f\u3001\u307e\u305a\u306fbuilt-in\u3067\u7528\u610f\u3055\u308c\u3066\u3044\u305fLayer\u304c\u7121\u304f\u306a\u308b\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3001\u81ea\u5206\u9054\u3067Cookbook\u3092\u4e00\u304b\u3089\u7528\u610f\u3059\u308b\u5fc5\u8981\u304c\u3042\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002
\n\u307e\u305f\u3001\u30b9\u30bf\u30c3\u30af\u60c5\u5831\u3084\u30c7\u30fc\u30bf\u30d0\u30c3\u30b0\u306e\u53d6\u5f97\u65b9\u6cd5\u304c\u5909\u308f\u3063\u305f\u70ba\u3001
opsworks-cookbooks<\/a>\u3092\u305d\u306e\u307e\u307e\u4f7f\u7528\u3059\u308b\u3053\u3068\u306a\u3069\u306f\u51fa\u6765\u307e\u305b\u3093\u3002
\n\u5168\u304f\u4e00\u304b\u3089\u4f5c\u308a\u76f4\u3059\u3001\u3068\u3044\u3046\u3053\u3068\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n

\u307e\u305a\u306fCookbook\u3092\u3069\u306e\u3088\u3046\u306bOpsWorks\u306b\u914d\u7f6e\u3059\u308b\u304b\u3001\u3068\u3044\u3046\u3053\u3068\u304b\u3089\u8003\u3048\u307e\u3057\u305f\u3002<\/p>\n

OpsWorks\u3078Cookbook\u914d\u5099\u8a2d\u8a08<\/h2>\n

Chef12\u30d0\u30fc\u30b8\u30e7\u30f3\u306eOpsWorks\u3067\u306f\u3001Chef11\u30d0\u30fc\u30b8\u30e7\u30f3\u306e\u6642\u306b\u3042\u3063\u305fManage Berkshelf<\/code>\u306e\u9805\u76ee\u304c\u7121\u304f\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n\n\n
Chef11\u30d0\u30fc\u30b8\u30e7\u30f3<\/th>\nChef12\u30d0\u30fc\u30b8\u30e7\u30f3<\/th>\n<\/tr>\n<\/thead>\n
\"\"<\/td>\n\"\"<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n

\u4eca\u307e\u3067\u306fBerkshelf\u30ec\u30b7\u30d4\u4f7f\u3046\u6642\u306f\u3001Berksfile\u306b\u4f7f\u3044\u305f\u3044\u30ec\u30b7\u30d4\u3092\u8a18\u8f09\u3057\u3001\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u3060\u3051\u3067Opsworks\u4e0a\u3067\u4f7f\u7528\u3067\u304d\u305f\u306e\u3067\u3059\u304c\u3001\u3053\u308c\u304b\u3089\u306f\u30ed\u30fc\u30ab\u30eb\u3067\u30ec\u30b7\u30d4\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u3066\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3057\u306a\u3051\u308c\u3070\u306a\u308a\u307e\u305b\u3093\u3002
\nBerkshelf\u3068\u30ab\u30b9\u30bf\u30e0\u3067\u4f7f\u7528\u3059\u308b\u30ec\u30b7\u30d4\u3092\u4e0a\u624b\u304f\u7d71\u5408\u3057\u3066\u4f7f\u3044\u305f\u3044\u306e\u3067\u3001AWS\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30d9\u30b9\u30c8\u30d7\u30e9\u30af\u30c6\u30a3\u30b9<\/a>\u3092\u53c2\u8003\u306b\u4e0b\u8a18\u306e\u3088\u3046\u306a\u624b\u9806\u3067\u30af\u30c3\u30af\u30d6\u30c3\u30af\u3092\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9\u3059\u308b\u8a2d\u8a08\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n

\"\"<\/p>\n

\u30dd\u30a4\u30f3\u30c8\u306f\u3001\u30ed\u30fc\u30ab\u30eb\u3067Berkshelf\u30ec\u30b7\u30d4\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u305b\u305a\u3001CirclCI\u3067Berksehlf\u30ec\u30b7\u30d4\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30fb\u30ab\u30b9\u30bf\u30e0Cookbook\u3068\u306e\u7d71\u5408\u3001\u306a\u3069\u3092\u5b9f\u884c\u3059\u308b<\/strong>\u3053\u3068\u3068\u3001Custom json\u3092\u30ec\u30dd\u30b8\u30c8\u30ea\u5185\u3067\u7ba1\u7406\u3057\u3066\u3001\u5408\u308f\u305b\u3066\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3059\u308b<\/strong>\u3001\u3068\u3044\u3046\u3068\u3053\u308d\u3067\u3059\u3002
\n\u30b5\u30fc\u30d3\u30b9\u6bce\u306bCookbook\u30ec\u30dd\u30b8\u30c8\u30ea\u3092\u4f5c\u6210\u3059\u308b\u3001\u3068\u3044\u3046\u65b9\u91dd\u3067\u8a2d\u8a08\u3057\u3066\u3044\u308b\u306e\u3067\u3001Stack\u306b\u8a2d\u5b9a\u3059\u308bCustom Json\u306f\u3001Cookbooks\u30ec\u30dd\u30b8\u30c8\u30ea\u306e\u4e2d\u306b\u5165\u308c\u3066\u3057\u307e\u304a\u3046\u3001\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u3002<\/p>\n

Stack\u4f5c\u6210<\/h2>\n

\u3042\u3089\u304b\u3058\u3081VPC\u3084SSH_key\u3001S3\u30ec\u30dd\u30b8\u30c8\u30ea\u3001S3\u30ec\u30dd\u30b8\u30c8\u30ea\u306eGET\u6a29\u9650\u3092\u6301\u3064IAM\u3092\u4f5c\u6210\u3057\u3066\u304a\u304d\u307e\u3059\u3002
\nOpsWorks\u306e\u753b\u9762\u3067\u771f\u3093\u4e2d\u306e Chef 12 Stack<\/strong> \u3092\u9078\u629e\u3057\u3001\u4f5c\u6210\u3057\u3066\u3044\u304d\u307e\u3059\u3002
\nUse custom Chef cookbooks<\/code>\u3067\u3001Repository type<\/code>\u3092S3 Archive<\/code>\u306b\u3057\u307e\u3059\u3002<\/p>\n

\"\"<\/p>\n

\"\"<\/p>\n

Cookbook\u30ec\u30dd\u30b8\u30c8\u30ea\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210<\/h2>\n

Cookbook\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u69cb\u6210\u306f\u4e0b\u8a18\u306e\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n

\u251c\u2500\u2500 Berksfile\n\u251c\u2500\u2500 berks_cookbooks\n\u2502   \u2514\u2500\u2500 Berksfile\n\u251c\u2500\u2500 custom_cookbooks\n\u2502   \u2514\u2500\u2500 \u81ea\u5206\u3067\u4f5c\u6210\u3059\u308b\u30ab\u30b9\u30bf\u30e0\u30ec\u30b7\u30d4\u90e1\n\u251c\u2500\u2500 config\n\u2502  \u2514\u2500\u2500 custom_json.yml\n\u251c\u2500\u2500 circle.yml\n\u2514\u2500\u2500 circleci\n    \u251c\u2500\u2500 .aws\n    \u2502 \u2514\u2500\u2500 credentials\n    \u2514\u2500\u2500 scripts\n      \u2514\u2500\u2500 install_berks_cookbooks.sh\n      \u2514\u2500\u2500 update_stack.rb<\/code><\/pre>\n
Berksfile<\/h5>\n

berks package cookbooks.tar.gz<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u3001\u5404Cookbook\u3092\u5727\u7e2e\u3059\u308b\u305f\u3081\u306e\u8aad\u8fbc\u5148\u30d1\u30b9\u3092\u66f8\u304d\u307e\u3059\u3002<\/p>\n

source 'https:\/\/supermarket.chef.io'\n# Berkshelf Cookbooks\ncookbook 'yum-epel',          path: ".\/berks_cookbooks\/cookbooks\/yum-epel"\ncookbook 'ruby_build',        path: ".\/berks_cookbooks\/cookbooks\/ruby_build"\ncookbook 'mysql',             path: ".\/berks_cookbooks\/cookbooks\/mysql"\ncookbook 'nginx',             path: ".\/berks_cookbooks\/cookbooks\/nginx"\n# Custome Cookbooks\ncookbook 'time-zone',         path: ".\/custom_cookbooks\/time-zone"\ncookbook 'rbenv',             path: ".\/custom_cookbooks\/rbenv"\ncookbook 'ruby',              path: ".\/custom_cookbooks\/ruby"\ncookbook 'setup',             path: ".\/custom_cookbooks\/setup"\ncookbook 'deploy',            path: ".\/custom_cookbooks\/deploy"<\/code><\/pre>\n
berks_cookbooks\/Berksfile<\/h5>\n

berks install<\/code>\u30b3\u30de\u30f3\u30c9\u3067\u3001Berksehlf Cookbook\u3092\u30c0\u30a6\u30f3\u30ed\u30fc\u30c9\u3059\u308b\u70ba\u306eBerksfile\u3067\u3059\u3002<\/p>\n

source 'https:\/\/supermarket.chef.io'\ncookbook 'yum-epel'\ncookbook 'ruby_build'\ncookbook 'rbenv'\ncookbook 'ruby'\ncookbook 'nginx'\ncookbook 'mysql', '~> 5.3.6'<\/code><\/pre>\n
circle.yml<\/h5>\n

CircleCI\u4e0a\u3067\u3001Berkshelf\u30b3\u30df\u30e5\u30cb\u30c6\u30a3Cookbook\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb<\/strong>\u3001Custom Cookbook\u3068\u30b3\u30df\u30e5\u30cb\u30c6\u30a3Cookbook\u3092\u5727\u7e2e<\/strong>\u3001S3\u306b\u30a2\u30c3\u30d7\u30ed\u30fc\u30c9<\/strong>\u3001\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306bCookbook\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8<\/strong>\u3001Stack\u306eCustom Json\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8<\/strong>\u3092\u5b9f\u884c\u3057\u307e\u3059\u3002<\/p>\n

machine:\n  ruby:\n    version: 2.0.0\ngeneral:\n  branches:\n    ignore:\n      - master\ndeployment:\n  master\n    branch: master\n    commands:\n      - gem install berkshelf\n      - bash .\/circleci\/scripts\/install_berks_cookbooks.sh\n      - sudo pip install awscli\n      - mv .\/circleci\/.aws ~\/\n      - echo '[opsworks_iam]' >> ~\/.aws\/credentials\n      - echo 'aws_access_key_id = '$AWS_OPS_WORKS_ACCESS_KEY_ID >> ~\/.aws\/credentials\n      - echo 'aws_secret_access_key = '$AWS_OPS_WORKS_SECRET_ACCESS_KEY >> ~\/.aws\/credentials\n      - echo '[s3_iam]' >> ~\/.aws\/credentials\n      - echo 'aws_access_key_id = '$AWS_S3_ACCESS_KEY_ID >> ~\/.aws\/credentials\n      - echo 'aws_secret_access_key = '$AWS_S3_SECRET_ACCESS_KEY >> ~\/.aws\/credentials\n      - berks package cookbooks.tar.gz\n      - aws --profile s3_iam s3 cp cookbooks.tar.gz s3:\/\/rails-application-cookbooks\/\n      - aws --profile opsworks_iam opsworks --region us-east-1 create-deployment --stack-id $STACK_ID --command "{"Name":"update_custom_cookbooks"}"\n      - ruby .\/circleci\/scripts\/update_stack.rb<\/code><\/pre>\n
circleci\/scripts\/install_berks_cookbooks.sh<\/h5>\n

Berkshelf\u30b3\u30df\u30e5\u30cb\u30c6\u30a3Cookbook\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u30b9\u30af\u30ea\u30d7\u30c8\u3002<\/p>\n

#!\/bin\/bash\necho "install berkshelf cookbooks."\ncd berks_cookbooks\nberks vendor cookbooks<\/code><\/pre>\n
circleci\/scripts\/update_stack.sh<\/h5>\n

config\/custom_json.yml<\/code>\u3092json\u306b\u5909\u63db\u3057\u3066Stack\u306eCustom Json\u306b\u30a2\u30c3\u30d7\u30c7\u30fc\u30c8\u3059\u308b\u30b9\u30af\u30ea\u30d7\u30c8\u3002<\/p>\n

require 'json'\nrequire 'yaml'\nputs 'update stack custom json.'\ncustom_json = "'#{YAML.load_file('config\/custom_json.yml').to_json}'"\nsystem("aws --profile opsworks_iam opsworks --region us-east-1 update-stack --stack-id #{ENV['STACK_ID']} --custom-json #{custom_json}")<\/code><\/pre>\n
config\/custom_json.yml<\/h5>\n

Json\u5f62\u5f0f\u3067\u3082\u826f\u3044\u304b\u3082\u3057\u308c\u307e\u305b\u3093\u304c\u3001yaml\u5f62\u5f0f\u306e\u307b\u3046\u304c\u898b\u3084\u3059\u3044\u304b\u3068\u601d\u3044\u3001yaml\u304b\u3089Json\u306b\u5909\u63db\u3059\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002
\nCustom Json\u306f\u3001\u30a2\u30d7\u30ea\u56fa\u6709\u306e\u5024\u306a\u3069\u3092\u8a2d\u5b9a\u3057\u3001\u30ab\u30b9\u30bf\u30e0\u30ec\u30b7\u30d4\u5185\u3067Custom Json\u306b\u30bb\u30c3\u30c8\u3057\u305f\u5024\u3092\u4f7f\u7528\u3059\u308b\u8a2d\u8a08\u3067\u3059\u3002
\n\u4f8b\u3048\u3070API\u30b5\u30fc\u30d0\u3067\u306fCORS\u5bfe\u5fdc\u3001CMS\u30b5\u30fc\u30d0\u3067\u306fimagemagick\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b\u3001\u306a\u3069\u3067\u3059\u3002
\nCustom Json\u306e\u5024\u3060\u3051\u3092\u4fee\u6b63\u3059\u308c\u3070\u5225\u306eRails\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u304c\u914d\u5099\u3055\u308c\u305f\u30b9\u30bf\u30c3\u30af\u3067\u3082\u3053\u306eCookbook\u3092\u30b3\u30d4\u30fc\u3059\u308b\u3060\u3051\u3067\u4f7f\u3046\u3053\u3068\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u3057\u307e\u3057\u305f\u3002<\/p>\n

---\n  stack:\n    stack_name: "rails_application_stack"\n    layers:\n      -\n        layer_name: "web-server"\n        deploy_layer_name: "deploy-server"\n        app_name: "web_application"\n        ruby:\n          versions:\n            -\n              version: "2.3.0"\n              global: "true"\n      -\n        layer_name: "cms-server"\n        deploy_layer_name: "deploy-server"\n        app_name: "api_application"\n        nginx:\n          cors: true\n        ruby:\n          versions:\n            -\n              version: "2.3.0"\n              global: "true"\n        imagemagick: true\n      -\n        layer_name: "deploy-server"\n        ruby:\n          versions:\n            -\n              version: "2.3.0"\n              global: "true"<\/code><\/pre>\n

CircleCI\u306b\u74b0\u5883\u5909\u6570\u8a2d\u5b9a<\/h2>\n

AWS_OPS_WORKS_ACCESS_KEY_ID<\/code> AWS_OPS_WORKS_SECRET_ACCESS_KEY<\/code> AWS_S3_ACCESS_KEY_ID<\/code> AWS_S3_SECRET_ACCESS_KEY<\/code>
\nS3\u306eIAM\u30e6\u30fc\u30b6\u30fc\u3001OpsWorks\u306eIAM\u30e6\u30fc\u30b6\u3092\u4f5c\u6210\u3057\u3066\u304a\u304d\u3001\u4e0a\u8a18\u306b\u30bb\u30c3\u30c8\u3057\u307e\u3059\u3002<\/p>\n

\u4ee5\u4e0a\u3067GitHub\u306b\u30d7\u30c3\u30b7\u30e5\u3057\u3001OpsWorks\u306bCookbook\u3092\u914d\u5099\u3059\u308b\u3068\u3053\u308d\u307e\u3067\u304c\u51fa\u6765\u307e\u3057\u305f\u3002<\/p>\n

\u6b21\u56de\u3078\u7d9a\u304f<\/h2>\n

\u4eca\u56de\u306fCookbook\u3092OpsWorks\u4e0a\u306b\u914d\u7f6e\u3059\u308b\u3068\u3053\u308d\u307e\u3067\u3092\u3064\u3089\u3064\u3089\u3068\u66f8\u304d\u307e\u3057\u305f\u3002
\n\u5168\u4f53\u8a2d\u8a08\u3084\u30ec\u30b7\u30d4\u3092\u66f8\u304f\u524d\u306b\u3084\u3063\u305f\u3053\u3068\u306a\u3069\u3092\u6b21\u56de\u66f8\u304d\u305f\u3044\u3068\u601d\u3044\u307e\u3059\u3002
\nAWS\u3092\u6d3b\u7528\u3057\u305f\u30b9\u30b1\u30fc\u30e9\u30d6\u30eb\u306a\u30b5\u30fc\u30d3\u30b9\u69cb\u7bc9\u3092\u304a\u8003\u3048\u306e\u969b\u306f\u3001\u662f\u975eMMM\u306b\u304a\u58f0\u304c\u3051\u4e0b\u3055\u3044\uff01<\/a><\/p>\n

\u8ffd\u8a18 : \u8a18\u4e8b\u3092\u30a2\u30c3\u30d7\u3057\u307e\u3057\u305f\u3002
\n->
Chef12\u306b\u5bfe\u5fdc\u3057\u305fAWS OpsWorks\u306bRails\u30a2\u30d7\u30ea\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u2461<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

\u6628\u65e5\u306e\u793e\u5185\u5e74\u5ea6\u672b\u30ed\u30fc\u30ab\u30eb\u30df\u30fc\u30c6\u30a3\u30f3\u30b0\u3067\u30cb\u30c3\u30af\u30cd\u30fc\u30e0\u304c\u300c\u30de\u30cb\u30e9\u300d\u306b\u306a\u3063\u305f\u524d\u7530\u3067\u3059\u3002 \u5f0a\u793e\u3067\u306fAWS\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u3092\u30c7\u30d7\u30ed\u30a4\u3059\u308b\u969b\u3001\u30a4\u30f3\u30d5\u30e9\u69cb\u7bc9\u306e\u81ea\u52d5\u5316&\u7701\u529b\u5316\u306e\u70ba\u306eDevOps\u30c4\u30fc\u30eb\u3068\u3057\u3066\u4e3b\u306bAWS\u306eOpsWorks\u3092\u5229\u7528\u3057\u3066\u3044\u307e\u3059\u3002 \u6628\u5e7412\u6708\u306bAmazon\u304b\u3089\u30a2\u30ca\u30a6\u30f3\u30b9\u304c\u3042\u3063\u305f\u901a\u308a\u3001AWS OpsWorks\u3067Chef12\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002 \u5c06\u6765\u7684\u306bChef11\u30b5 […]<\/p>\n","protected":false},"author":1,"featured_media":826,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[13],"tags":[84,42],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/posts\/258"}],"collection":[{"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/comments?post=258"}],"version-history":[{"count":0,"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/posts\/258\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/media\/826"}],"wp:attachment":[{"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/media?parent=258"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/categories?post=258"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/p-corporate-blog-cms.mmmcorp.co.jp\/wp-json\/wp\/v2\/tags?post=258"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}