{"id":62749,"date":"2016-12-23T16:00:06","date_gmt":"2016-12-23T14:00:06","guid":{"rendered":"https:\/\/www.javacodegeeks.com\/?p=62749"},"modified":"2016-12-23T14:05:31","modified_gmt":"2016-12-23T12:05:31","slug":"integrate-spring-boot-ec2-using-cloudformation","status":"publish","type":"post","link":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html","title":{"rendered":"Integrate Spring Boot and EC2 using Cloudformation"},"content":{"rendered":"<p>On a previous <a href=\"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-elastic-beanstalk-using-cloudformation.html\">blog<\/a> we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests.<\/p>\n<p>On this tutorial we are going to deploy a spring boot application, which executes some scheduled tasks on an <a href=\"https:\/\/aws.amazon.com\/ec2\/\">ec2 instance<\/a>. The application will be pretty much the same application taken from the official <a href=\"https:\/\/spring.io\/guides\/gs\/scheduling-tasks\/\">spring guide<\/a> with some minor differences on packages.<\/p>\n<p>The name of our application will be ec2-deployment<\/p>\n<pre class=\"brush:java\">rootProject.name = 'ec2-deployment'<\/pre>\n<p>Then we will schedule a task to our spring boot application.<\/p>\n<pre class=\"brush:java\">package com.gkatzioura.deployment.task;\r\n\r\nimport org.slf4j.Logger;\r\nimport org.slf4j.LoggerFactory;\r\nimport org.springframework.scheduling.annotation.Scheduled;\r\nimport org.springframework.stereotype.Component;\r\n\r\n\/**\r\n * Created by gkatzioura on 12\/16\/16.\r\n *\/\r\n@Component\r\npublic class SimpleTask {\r\n\r\n    private static final Logger LOGGER = LoggerFactory.getLogger(SimpleTask.class);\r\n\r\n    @Scheduled(fixedRate = 5000)\r\n    public void reportCurrentTime() {\r\n        LOGGER.info(\"This is a simple task on ec2\");\r\n    }\r\n\r\n}<\/pre>\n<p>Next step is to build the application and deploy it to our s3 bucket.<\/p>\n<pre class=\"brush:bash\">gradle build\r\naws s3 cp build\/libs\/ec2-deployment-1.0-SNAPSHOT.jar s3:\/\/{your bucket name}\/ec2-deployment-1.0-SNAPSHOT.jar<\/pre>\n<p>What comes next is a bootstrapping script in order to run our application once the server is up and running.<\/p>\n<pre class=\"brush:bash\">#!\/usr\/bin\/env bash\r\naws s3 cp s3:\/\/{bucket with code}\/ec2-deployment-1.0-SNAPSHOT.jar \/home\/ec2-user\/ec2-deployment-1.0-SNAPSHOT.jar\r\nsudo yum -y install java-1.8.0\r\nsudo yum -y remove java-1.7.0-openjdk\r\ncd \/home\/ec2-user\/\r\nsudo nohup java -jar ec2-deployment-1.0-SNAPSHOT.jar &gt; ec2dep.log<\/pre>\n<p>This script is pretty much self explanatory. We download the application from the bucket we uploaded it previously, we install the java version needed and then we run the application (this script serves us for example purposes, there are certainly many ways to set up you java application running on linux).<div style=\"display:inline-block; margin: 15px 0;\"> <div id=\"adngin-JavaCodeGeeks_incontent_video-0\" style=\"display:inline-block;\"><\/div> <\/div><\/p>\n<p>Next step would be to proceed to our cloudformation script. Since we will download our application from s3 it is essential to have an IAM policy that will allow us to download items from the s3 bucket we used previously. Therefore we will create a role with the policy needed<\/p>\n<pre class=\"brush:java\">\"RootRole\": {\r\n      \"Type\": \"AWS::IAM::Role\",\r\n      \"Properties\": {\r\n        \"AssumeRolePolicyDocument\": {\r\n          \"Version\" : \"2012-10-17\",\r\n          \"Statement\": [ {\r\n            \"Effect\": \"Allow\",\r\n            \"Principal\": {\r\n              \"Service\": [ \"ec2.amazonaws.com\" ]\r\n            },\r\n            \"Action\": [ \"sts:AssumeRole\" ]\r\n          } ]\r\n        },\r\n        \"Path\": \"\/\",\r\n        \"Policies\": [ {\r\n          \"PolicyName\": \"root\",\r\n          \"PolicyDocument\": {\r\n            \"Version\" : \"2012-10-17\",\r\n            \"Statement\": [ {\r\n              \"Effect\": \"Allow\",\r\n              \"Action\": [\r\n                \"s3:Get*\",\r\n                \"s3:List*\"\r\n              ],\r\n              \"Resource\": {\"Fn::Join\" : [ \"\", [ \"arn:aws:s3:::\", {\"Ref\":\"SourceCodeBucket\"},\"\/*\"] ] }\r\n            } ]\r\n          }\r\n        } ]\r\n      }\r\n    }<\/pre>\n<p>Next step is to encode our bootstrapping script to Base64 in order to be able to pass it as <a href=\"http:\/\/docs.aws.amazon.com\/AWSEC2\/latest\/UserGuide\/user-data.html\">user data<\/a>. Once the ec2 instance is up and running it will run the shell commands previously specified.<\/p>\n<p>Last step is to create our instance profile and specify the ec2 instance to be launched<\/p>\n<pre class=\"brush:java; wrap-lines:false\">\"RootInstanceProfile\": {\r\n      \"Type\": \"AWS::IAM::InstanceProfile\",\r\n      \"Properties\": {\r\n        \"Path\": \"\/\",\r\n        \"Roles\": [ {\r\n          \"Ref\": \"RootRole\"\r\n        } ]\r\n      }\r\n    },\r\n    \"Ec2Instance\":{\r\n      \"Type\":\"AWS::EC2::Instance\",\r\n      \"Properties\":{\r\n        \"ImageId\":\"ami-9398d3e0\",\r\n        \"InstanceType\":\"t2.nano\",\r\n        \"KeyName\":\"TestKey\",\r\n        \"IamInstanceProfile\": {\"Ref\":\"RootInstanceProfile\"},\r\n\"UserData\":\"IyEvdXNyL2Jpbi9lbnYgYmFzaA0KYXdzIHMzIGNwIHMzOi8ve2J1Y2tldCB3aXRoIGNvZGV9L2VjMi1kZXBsb3ltZW50LTEuMC1TTkFQU0hPVC5qYXIgL2hvbWUvZWMyLXVzZXIvZWMyLWRlcGxveW1lbnQtMS4wLVNOQVBTSE9ULmphcg0Kc3VkbyB5dW0gLXkgaW5zdGFsbCBqYXZhLTEuOC4wDQpzdWRvIHl1bSAteSByZW1vdmUgamF2YS0xLjcuMC1vcGVuamRrDQpjZCAvaG9tZS9lYzItdXNlci8NCnN1ZG8gbm9odXAgamF2YSAtamFyIGVjMi1kZXBsb3ltZW50LTEuMC1TTkFQU0hPVC5qYXIgPiBlYzJkZXAubG9n\"\r\n      }\r\n    }<\/pre>\n<p>KeyName stands for the ssh key name, in case you want to login to the ec2 instance.<\/p>\n<p>So we are good to go and create our cloudformation stack. You have to add the CAPABILITY_IAM flag.<\/p>\n<pre class=\"brush:bash\">aws s3 cp ec2spring.template s3:\/\/{bucket with templates}\/ec2spring.template\r\naws cloudformation create-stack --stack-name SpringEc2 --parameters ParameterKey=SourceCodeBucket,ParameterValue={bucket with code} --template-url https:\/\/s3.amazonaws.com\/{bucket with templates}\/ec2spring.template --capabilities CAPABILITY_IAM<\/pre>\n<p>That\u2019s it. Now you have your spring application up and running on top of an ec2 instance.<br \/>\nYou can download the source code from <a href=\"https:\/\/github.com\/gkatzioura\/AWSJavaDeploy\/tree\/master\/Ec2Deployment\">GitHub<\/a>.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td><span class=\"reference\">Reference: <\/span><\/td>\n<td><a href=\"https:\/\/egkatzioura.wordpress.com\/2016\/12\/22\/integrate-spring-boot-and-ec2-using-cloudformation\/\">Integrate Spring Boot and EC2 using Cloudformation<\/a> from our <a href=\"http:\/\/www.javacodegeeks.com\/join-us\/jcg\/\">JCG partner<\/a> Emmanouil Gkatziouras at the <a href=\"http:\/\/egkatzioura.wordpress.com\/\">gkatzioura<\/a> blog.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>On a previous blog we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests. On this tutorial we are going to deploy a spring boot application, which executes some scheduled tasks on an ec2 instance. The application will be pretty much the same application taken from &hellip;<\/p>\n","protected":false},"author":936,"featured_media":240,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[331,30,854],"class_list":["post-62749","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-enterprise-java","tag-amazon-aws","tag-spring","tag-spring-boot"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Integrate Spring Boot and EC2 using Cloudformation - Java Code Geeks<\/title>\n<meta name=\"description\" content=\"On a previous blog we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests.\" \/>\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.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integrate Spring Boot and EC2 using Cloudformation - Java Code Geeks\" \/>\n<meta property=\"og:description\" content=\"On a previous blog we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html\" \/>\n<meta property=\"og:site_name\" content=\"Java Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/javacodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2016-12-23T14:00:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Emmanouil Gkatziouras\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:site\" content=\"@javacodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanouil Gkatziouras\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html\"},\"author\":{\"name\":\"Emmanouil Gkatziouras\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/5eee031b356c7682e1fd24c8297561c6\"},\"headline\":\"Integrate Spring Boot and EC2 using Cloudformation\",\"datePublished\":\"2016-12-23T14:00:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html\"},\"wordCount\":360,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"keywords\":[\"Amazon AWS\",\"Spring\",\"Spring Boot\"],\"articleSection\":[\"Enterprise Java\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html\",\"name\":\"Integrate Spring Boot and EC2 using Cloudformation - Java Code Geeks\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"datePublished\":\"2016-12-23T14:00:06+00:00\",\"description\":\"On a previous blog we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2012\\\/10\\\/spring-logo.jpg\",\"width\":150,\"height\":150,\"caption\":\"spring-interview-questions-answers\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/2016\\\/12\\\/integrate-spring-boot-ec2-using-cloudformation.html#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Enterprise Java\",\"item\":\"https:\\\/\\\/www.javacodegeeks.com\\\/category\\\/java\\\/enterprise-java\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Integrate Spring Boot and EC2 using Cloudformation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#website\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"name\":\"Java Code Geeks\",\"description\":\"Java Developers Resource Center\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\"},\"alternateName\":\"JCG\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.javacodegeeks.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"contentUrl\":\"https:\\\/\\\/www.javacodegeeks.com\\\/wp-content\\\/uploads\\\/2022\\\/06\\\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/javacodegeeks\",\"https:\\\/\\\/x.com\\\/javacodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.javacodegeeks.com\\\/#\\\/schema\\\/person\\\/5eee031b356c7682e1fd24c8297561c6\",\"name\":\"Emmanouil Gkatziouras\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g\",\"caption\":\"Emmanouil Gkatziouras\"},\"description\":\"He is a versatile software engineer with experience in a wide variety of applications\\\/services.He is enthusiastic about new projects, embracing new technologies, and getting to know people in the field of software.\",\"sameAs\":[\"http:\\\/\\\/egkatzioura.wordpress.com\\\/\",\"https:\\\/\\\/gr.linkedin.com\\\/in\\\/gkatziourasemmanouil\"],\"url\":\"https:\\\/\\\/www.javacodegeeks.com\\\/author\\\/emmanouil-gkatziouras\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Integrate Spring Boot and EC2 using Cloudformation - Java Code Geeks","description":"On a previous blog we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests.","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.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html","og_locale":"en_US","og_type":"article","og_title":"Integrate Spring Boot and EC2 using Cloudformation - Java Code Geeks","og_description":"On a previous blog we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests.","og_url":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html","og_site_name":"Java Code Geeks","article_publisher":"https:\/\/www.facebook.com\/javacodegeeks","article_published_time":"2016-12-23T14:00:06+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","type":"image\/jpeg"}],"author":"Emmanouil Gkatziouras","twitter_card":"summary_large_image","twitter_creator":"@javacodegeeks","twitter_site":"@javacodegeeks","twitter_misc":{"Written by":"Emmanouil Gkatziouras","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#article","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html"},"author":{"name":"Emmanouil Gkatziouras","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/5eee031b356c7682e1fd24c8297561c6"},"headline":"Integrate Spring Boot and EC2 using Cloudformation","datePublished":"2016-12-23T14:00:06+00:00","mainEntityOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html"},"wordCount":360,"commentCount":0,"publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","keywords":["Amazon AWS","Spring","Spring Boot"],"articleSection":["Enterprise Java"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html","url":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html","name":"Integrate Spring Boot and EC2 using Cloudformation - Java Code Geeks","isPartOf":{"@id":"https:\/\/www.javacodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage"},"image":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage"},"thumbnailUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","datePublished":"2016-12-23T14:00:06+00:00","description":"On a previous blog we integrated a spring boot application with elastic beanstalk. The application was a servlet based application responding to requests.","breadcrumb":{"@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#primaryimage","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2012\/10\/spring-logo.jpg","width":150,"height":150,"caption":"spring-interview-questions-answers"},{"@type":"BreadcrumbList","@id":"https:\/\/www.javacodegeeks.com\/2016\/12\/integrate-spring-boot-ec2-using-cloudformation.html#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.javacodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Java","item":"https:\/\/www.javacodegeeks.com\/category\/java"},{"@type":"ListItem","position":3,"name":"Enterprise Java","item":"https:\/\/www.javacodegeeks.com\/category\/java\/enterprise-java"},{"@type":"ListItem","position":4,"name":"Integrate Spring Boot and EC2 using Cloudformation"}]},{"@type":"WebSite","@id":"https:\/\/www.javacodegeeks.com\/#website","url":"https:\/\/www.javacodegeeks.com\/","name":"Java Code Geeks","description":"Java Developers Resource Center","publisher":{"@id":"https:\/\/www.javacodegeeks.com\/#organization"},"alternateName":"JCG","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.javacodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.javacodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.javacodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.javacodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/javacodegeeks","https:\/\/x.com\/javacodegeeks"]},{"@type":"Person","@id":"https:\/\/www.javacodegeeks.com\/#\/schema\/person\/5eee031b356c7682e1fd24c8297561c6","name":"Emmanouil Gkatziouras","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5c6d031d211ab786ec335687ad6f3f076f93f47e24c92d78041d2f805ee6c291?s=96&d=mm&r=g","caption":"Emmanouil Gkatziouras"},"description":"He is a versatile software engineer with experience in a wide variety of applications\/services.He is enthusiastic about new projects, embracing new technologies, and getting to know people in the field of software.","sameAs":["http:\/\/egkatzioura.wordpress.com\/","https:\/\/gr.linkedin.com\/in\/gkatziourasemmanouil"],"url":"https:\/\/www.javacodegeeks.com\/author\/emmanouil-gkatziouras"}]}},"_links":{"self":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/62749","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/users\/936"}],"replies":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/comments?post=62749"}],"version-history":[{"count":0,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/posts\/62749\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media\/240"}],"wp:attachment":[{"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/media?parent=62749"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/categories?post=62749"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.javacodegeeks.com\/wp-json\/wp\/v2\/tags?post=62749"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}