{"id":1083,"date":"2022-07-26T12:13:44","date_gmt":"2022-07-26T12:13:44","guid":{"rendered":"https:\/\/www.workfall.com\/learning\/blog\/?p=1083"},"modified":"2025-09-30T05:40:05","modified_gmt":"2025-09-30T05:40:05","slug":"how-to-deploy-nestjs-microservices","status":"publish","type":"post","link":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/","title":{"rendered":"How to Deploy NestJS Microservices to AWS Elastic Beanstalk?"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<p><img src=\"https:\/\/lh5.googleusercontent.com\/qqWcZCUSRe63v2I2DodpApEpTzc3DJzJzH9xs0WoWL8ZkrlEXIWCmxgeA3gk8iW3clHiDdkjpXaRN0u-AG28NATyYyiaEuClWoYGGabbgvbGY7YwfiDbxzJBiFHaYmZtxYG__ekZik8_-fFTewk\" style=\"width: 1600px;\"><\/p>\n\n\n\n<p class=\"has-text-align-justify\"><a href=\"https:\/\/aws.amazon.com\/elasticbeanstalk\/\">AWS Elastic Beanstalk<\/a> is an AWS service on which you can deploy your application and it offers orchestration for various AWS services such as EC2, and S3 out of the box through auto-scaling, load-balancing, and capacity provisioning. All you have to do is upload your code and AWS Elastic Beanstalk does everything for you including deployment and health check and versioning for the deployed application. It is also easy to roll back to a previous version of a deployed application.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">For Part 1 of this blog, refer to: <a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-architect-nestjs-microservices-with-aws-elastic-beanstalk\/\">How To Architect NestJS Microservices With AWS Elastic Beanstalk?<\/a> <\/p>\n\n\n\n<p>In this blog, we will cover:<\/p>\n\n\n\n<ul><li>What is an AWS IAM?<\/li><li>Hands-on<\/li><li>Conclusion<\/li><\/ul>\n\n\n\n<h2>What is an AWS IAM (Identity and Access Management)?<\/h2>\n\n\n\n<p class=\"has-text-align-justify\"><a href=\"https:\/\/aws.amazon.com\/iam\/\">IAM<\/a> is an AWS service that simply deals with \u201cWHO has access to WHAT\u201d. The major features of IAM are User Groups, Users, Roles, Policies, and Identity providers.<\/p>\n\n\n\n<ul><li><strong>User Groups:<\/strong> A collection of privileges that can be used together to give access to certain services together with the permission to read and\/or write.<\/li><li><strong>Users:<\/strong> An IAM user is identified as one who has long-term credentials that they can use to access services in an account. The credentials are normally an access key and a secret key.<\/li><li><strong>Roles:<\/strong> A role is an identity that has specific permissions and uses credentials that are short-lived<\/li><li><strong>Policies:<\/strong> A policy is an object in AWS that defines permissions.<\/li><li><strong>Identity providers: <\/strong>An identity provider is used to grant users outside AWS access to AWS services via your account. An example of such a user is Github, of which in our case we shall allow Github Actions to use our account to interact with AWS resources under your account.<\/li><\/ul>\n\n\n\n<p class=\"has-text-align-justify\">In this Part 2 of the two-part series, we are going to deploy our <a href=\"https:\/\/nestjs.com\/\">NestJS<\/a> microservices which are available in this <a href=\"https:\/\/github.com\/workfall\/nest-microservices\">repository<\/a>. Feel free to clone this repository so that you can follow this blog post.<\/p>\n\n\n\n<p>There are three common ways through which we can interact with AWS Elastic Beanstalk, namely:<\/p>\n\n\n\n<ul><li>AWS CLI<\/li><li>Elastic Beanstalk Console<\/li><li>eb CLI<\/li><\/ul>\n\n\n\n<h3>Benefits of using AWS Elastic Beanstalk<\/h3>\n\n\n\n<ul><li>Saves you the time of monitoring resources so that you can scale up or scale down depending on the need of the application at a particular time. AWS Elastic Beanstalk handles this very well without any worry of downtime.<\/li><li>AWS Elastic Beanstalk offers a fail-safe in case anything goes bad with a deployment. It offers a way to roll back to a previous stable deployment.<\/li><li>It offers easy provisioning by the use of platform hooks and other AWS Elastic Beanstalk configurations.<\/li><\/ul>\n\n\n\n<h2>Hands-on<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/72QkdEBnWR3DkIT2UJbA-dKloes10yurT-kcdcB4SGpNUDxRGFc70pW-GttvcV10dL4yCLkOH04L87l3VvCTkkq8nPM82QzP7PQm979LYbdXUJG3ibpyoRwMuOEv6D634s3jkz8J9XhP836Kj_Rvr0o\" alt=\"\"\/><\/figure>\n\n\n\n<p>In the Elastic Beanstalk Console, we shall create a new application.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/OMBEiW-X11gareu29bRzFrdIaRueR7wZatfP1c2ed7UpA64J64u23JrGUCHWGw6w5gVnBiaSH3vQve9Y1xGoX1YwedSiP0vG5aBj2OVo4_tYRDzZKpLrx9PSdejaD5oUxoEkMuanNO7MLheKqRM4V3Y\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/v1r5x8TixoBSKsweaOicxwNoBedMZT6PYTLAriUF8f3apNlDiw2MIeqS0bGhdWwEqoRtli_J7kGR1sv4KFLfMzSGgOYnq_8M31EFFze_ddtrjYxWj1qoAf6R0I59xzKs-Br988p0dLiYfI7Vl5tqhb4\" alt=\"\"\/><\/figure>\n\n\n\n<p>Fill in the application name and Description then click on create.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">The next page will appear as below. So in simple terms according to Elastic Beanstalk, an application is a collection of environments. Whereby environments are configurable by selecting the technologies you need to deploy your application. These include Docker, Node.js, PHP, Python, and so on.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/Lf1B_PEWs4bb8g6155pJUbCQwLmNA1o46Ke9UfXfkQlkbE6glpTxGwqqe-vBCLVWOX0YKz7uSAg5kHvihAvd4Lw5iBuWOS7GDqHA2Hk9uuO-vp376aaJE1EUpcP1AUPYTwOGRBxqg9_RB_11Bked-Sw\" alt=\"\"\/><\/figure>\n\n\n\n<p>Click on Create a new environment and select the web server environment option then click on Select.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/P2dXQzMbudw5rtfgxEzMUMJJtGzyW1HUIAA6zVbEKrAZPVMxb3eMYMX2Y5iby1BXTwA5NE-rxH6sLywEpl4EBd0xSmkjsdjvIPPVQER0gHqJ5rXzSYy4dODoHQ8DlqP-JOO6aYDPvuJ9Df_fGYfpdU4\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Input a domain name that will be used to access your service via the internet, it will automatically check for availability.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/ZDGEazMC4k3lRylf8CSWYYLUPoQ7Lax9uL2ToZyUJDgXRer5wD6KQkxQbuUiV4p3KBUQbwJXGMkbrh18mMgPkeyuvGYzz1QYkcp1-QFnNuNiOlgMTGyY67EvHK_Raf2U_zQ4VBohOMIh9qaujqBZNCY\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">For the platform dropdown, select Docker because we had containerized our application then click on Create environment.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/IVZdMqouRPI9JTYHpBEksmzFbGZU769xWtZ1KElX_oP9PX0jDzXmdh-wDwobr99CDYVRKUC10idHD7MahdzybHR11QSNWsxK9GBmbM_qhMSAFQP7OQRN04oUsYrXQtAbEBzZ4MEnqf7gjj7YZS2IApY\" alt=\"\"\/><\/figure>\n\n\n\n<p>It will take a few minutes for the environment to be created.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/S-94MMEommkGr8QzVeiEmVJ618vHkqjljpFkb-k6959YzMXb59KACVAuEPyylWaiV3QTP-MwCrrR0M2sLBuzLNGqEINJg97gGdPc_5UginY1fjb3bJpI6shnVZjikxujexkjHFERT0GcsRiYSUaOe0w\" alt=\"\"\/><\/figure>\n\n\n\n<h3>Code pipeline(Github Actions)<\/h3>\n\n\n\n<h4>Create an IAM (Identity and Access Management) Identity provider for Github Actions.<\/h4>\n\n\n\n<p class=\"has-text-align-justify\">We shall need an Identity provider which will enable authentication in our Github Actions set-up. The procedure is as shown in the screenshots below.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/45Rvj5fFRXNUz983RmLFppIqYyceKIcXeKcXXozDB-HmCF8LvyGzBE4U0e08ZUBw0XGmhH-xNht8C1QrXYSEuiKGl-qFCdf4PWty5pOaa-8rlptabdZLvDFQzBDLGc4oIa08HvOy5PdVirdJyaOkN2w\" alt=\"\"\/><\/figure>\n\n\n\n<p>Click on Add Provider<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/ZpUOSUIBVh0JtwV7OxeBxrkaJPDO1KEZNAT4HLpcNqCOvi8Ts3RR2-AOibMtyokh7iZYkH8XvC9QNEXdqe-yKvoLHZVTZwYHIvzypSXOdnXac9aeqp9wRme7X3N8tJyB7Msg-vTVWdKlYaubAWl-aOw\" alt=\"\"\/><\/figure>\n\n\n\n<p>The provider URL should be <a href=\"https:\/\/token.actions.githubusercontent.com\">https:\/\/token.actions.githubusercontent.com<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/XUgiCzy0crIRUfZpy5Kx8U0m-fhWjDcAfIWixFkfdaYf9KM55EmExcahgSKTWC-U0rL07TZnSrvdeIWBNN0UZbRGTUM-vFAI0-2xF1WnkmqYbST72J1CmWQeOyr09UxqRBFY58RXcCII-hpiIuAHFMA\" alt=\"\"\/><\/figure>\n\n\n\n<h3>Make a role for IAM (Identity and Access Management)<\/h3>\n\n\n\n<p>Search for IAM&nbsp;<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/oZ1MsurytVARnSDsAOsr8bUNeOO6ZlwFA7EoN2lQeCmeDcoVgaVA0xyMhL64LNTWUjHUNTae_540qZIoYxEXPlWotvQjBDTI9ixH_pPT6UXmYH1Xb_eE3X5BPuIyYh5W1qdnVTDiZb8dq13YrSV4pds\" alt=\"\"\/><\/figure>\n\n\n\n<p>Click on Roles on the left navigation then click on Create role.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/WWxU3tphjYx2GDvGS1FqkpNVOx_WrDDaPiKuPKmdEGA88btC2KksAzQfYIHyYgkjB_J0LTObkFcsffkgxO8hE60tzIWOuqSj4qgx_SO8hlJDeezENotIkeonY4HrI2tTzPPS4SMVG1VeyB--bq1Rm5U\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Under Trusted entity type, click on Web Identity. Under Web identity, select the identity provider you created and select <em>sts.amazonaws.com<\/em> as Audience.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/qSgWxsyIhLBxNyhtbKj5OlzyoEwUTD4MAIJOnd7jwM1RbfW3lqA0AWN2U6EM5HOBfHOaIyfMsjNp5jHqF8E4SwLHGdoQHURw0x5Uq06A-fVZtktSAzwq9NOJFTKbLaomFdHNJefmQCvGfsnD7ROsF9E\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Next is to add policies for the role. Which are simply privileges that the role has. It can be read-only or read and written for a specific AWS service, depending on what GitHub Actions needs to deploy your application. It is however not recommended to give Administrator access. It is advisable to give it full access to Elastic Beanstalk as shown below.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/lB8u-UIaoRCG8OkQRCKQ49WnYqAmr8zHuPmMf5qSlZf6bbZYxyNXZZzrNYsoOZqOX7aGXS3YHqDlLwIvu8HWevc9lFUtgOvL74kluDgtYZbealui9E3U9TxDkg3BJTFA0WIM2FP3ESE-PDbOAZmdX3M\" alt=\"\"\/><\/figure>\n\n\n\n<p>The next step is to create a User, so in the search bar, search for IAM.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">In the IAM Console, click on Users on the left navigation then Add users button. On Select AWS credential type, check Access key &#8211; Programmatic access<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/ZhdUXDvcS4Hk9Me19yu4B3EnMrPqALMmqBesi01pY4erdbxVknx77Pwq2DaiFNi8HXRINzobmVrsYWt4B0KoeRPj9d-Gjv1tTDFFKN7lcf75z66QzlPZ3WNC5g00leiyRgrIQw3WiDVKtbOytS693rg\" alt=\"\"\/><\/figure>\n\n\n\n<p>Click on <em>Next:Permissions<\/em> and then on the following page click on Create group.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/Quse9UJ0G8WuE7OK-Yl-oGh9L4mU5TTyZQceH69OfXo5-3gyObil40uM0UZuDmRvwaXaR5t_zG8DWKpa2JXwXTAVVdP7wmNRhWUAu-iq8jVBhpZ-ks9THXJsS-2la-kcGOdiGAS1diXWYa6wy5PQePQ\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Add the following policies to your user group <em>AWSCloudFormationFullAccess<\/em>, <em>AmazonEC2FullAccess<\/em>, and  <em>AmazonS3FullAccess<\/em> by simply searching for them and clicking on the corresponding checkbox.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><em>N\/B: Remember to also add the custom policy you had created while creating the role then click on <\/em><em>Create group<\/em><em> button.<\/em><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/19yQ8ELUrIzMAhsu4xte6uF_eFMoTbhYiWoeB5CqokIt643VhgPM9VjoSeHzudkWq1LVCjuua4TljBeteJ714FvQ-rIhnj5faWf8Mc3CwhZ9eJ3OIG_NYCKFOLnz9dtR6rsERbv2qljSaDC1YdyBYrQ\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">On the next page, click on <em>Next:Tags<\/em> button, you can skip the tags as well and go ahead and create the user. After successful creation credentials for the user will be provided, which is an Access Key ID and a Secret key. Kindly download the CSV file because the secret key is only shown once and if you lose it you will have to create a new one under the Security Credentials in the User Details.<\/p>\n\n\n\n<h3>Create Github workflow on Github Actions<\/h3>\n\n\n\n<p>Pay close attention to the folder structure in the repository.<\/p>\n\n\n\n<p><strong>main.yml<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/N6v829i_kNkXA8gdg9CpR2Umy_jT_YoayN-M1ZgrbWiP-wWulfJHNryA8jtf1n94KW3I44P5jR3rEzcDY1dfcq7LCWQqBQekenZJkVw-PlQpvHxs25q6LA2eqOH04IKw3oK6VYdekZtj4RzdK4gTCGU\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">The following bit is more crucial, ensure that you create the secrets in your repository by going to the Settings tab. Also, ensure that the application name and environment name match the ones you had created before in the AWS Elastic Beanstalk console.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/iIrxqwQwAxBm8ObVMS7s1LRFg1-oX4QbFpYlYWHgQkMRJcCxqYs3fgOR8NEAhk021ubvjfA9YcmhaJN2UkOdsZCB8bZbSS92EFyMB7hTB54x65f0XvXFHLqud2hN8Czu93xyPFJf_l9DRMzyif5g66c\" alt=\"\"\/><\/figure>\n\n\n\n<h3>Final Step<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">For Elastic Beanstalk to spin up a healthy instance, we have to provide a <em>healthcheck<\/em> endpoint in our Nginx API Gateway specifically on the \u201c\/\u201d route. Therefore we shall add one more microservice to be accessed on the \u201c\/\u201d route.<\/p>\n\n\n\n<p><strong>healthcheck-service.controller.ts<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/4N5SCR8smj7veAgwD3VhUW0Kj5nG_TKJFpHtYfCROn_yAr9VPOIrsDBi07K9Enrrx_43CBeHdTYkYZdcjaSWJry2_rDsBKuuv-F9ot_DGB571qK8qt9I0smqPpDlJ7d9csEiQFMU9eCldbcM26GdiO8\" alt=\"\"\/><\/figure>\n\n\n\n<p><strong>Index.ts<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/G9WrXeGm11CoeaQ8Mmg6hOHoV3Ip38HWNjPqso3s1VBDaBdcFcsCH6AsuoCV0fjudyexyV7qgbi_d9rn2hsR8ESdZk2N79UjtPMucFu-auwAHl47K7Jlf5VT9OXrftaXdbd8S1IaOfvAp4EZO5jFgok\" alt=\"\"\/><\/figure>\n\n\n\n<p><strong>docker-compose.yml<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/XWhoLm_g9wiCdqiac-TxJsAeaVnF_R060VLdfGaIESywwlTx5CUA4Hre3EcmC9Njs7iSd2OtsxVbSA0m_S0CPqUCOtcdAUTX4zNQp31VpkduNKVCkRpW-nN0e810qQJ0Q1Uk1Wi6pBWuKt8magRhMAs\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/hORT3vDiEyJ9BJrpE2zIzypEE6Mt7Ru3TuFqVNKHLNxG-ABHotp_--l7SZY1w3vm_MhbDagPYBWWuwb_CETasYbbcELEfVw9tjnoJfswkW7Zc7Z7Vu628fys256dubGOOpeOM2OYg3iLoMW9kQwn7pg\" alt=\"\"\/><\/figure>\n\n\n\n<p><strong>nginx.conf<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/K6WcD7aIU700sMrSQkzh8CCjKbVP6mKoWQkON2whGdQolss2GkAsjaRqtEW5bMDmoTsbOMYcir5_SJXFbNLTvidnoxIJD7Cv8qnWfcPFXzgN9-5-JUJEa84g-817qrrYdrzCBIbMtCvb-XOVkuZ8FOE\" alt=\"\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">After the code pipeline succeeds, you will notice that the application version will show the COMMIT SHA of the deployed commit as shown below. You can access your app via the URL given.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/w7MY_unQy8xx4A8lSPb3n43dxnM5OqVJPrbF2UGA8zHWgnDgKK1S8PpDVEUNkOYoZr3otaCTiXdO4obs8soRW1Sw4E-DPkYkfVr8ZQZ5uCC3908VwV4L6BBfFQ-FCRe1ZnZMfhJtLijBtilWB6KBcKo\" alt=\"\"\/><\/figure>\n\n\n\n<p><strong>Acl-service<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/4a-VgrpmOwOSw52s4JHRMl64Vd6fTa21Ad3i7P546xmHRTn-XM4reHdWdVY-EidnQgoo1eIM2Xj3vrocpHpeU8kDKYq5iDDeVohana0jdxWFGJWcz69ceJUqiETfF1tQkReq0ZdNwAzNVvWifzKMTO8\" alt=\"\"\/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/RBm6gJTk5syk2z2b10Lo-kShPRQTQR00x5l6UOXo_YsERe6V160qFkSlq1ShAz1nCFh-Au9unohkgxcc7EtzilEB0FGeadYeEtljKNDEUr8-mt9YpgibImrGHD9jcHI6EFMpqudjEMorsjFaICLxJus\" alt=\"\"\/><\/figure>\n\n\n\n<h2>Conclusion<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">In this blog, we deployed the microservices to the AWS Elastic Beanstalk application environment using the Docker Platform. The test-service consumes the <em>acl-service<\/em> endpoint which proves that the microservices are integrated and can communicate with each other over the docker network. We have also exposed the microservices via the Nginx API gateway via \/<em>acl-service and \/test-service<\/em> routes.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Food for thought: How will the architecture change if each microservice is deployed on its own Elastic Beanstalk environment?&nbsp;<\/p>\n\n\n\n<p>We will come up with more such use cases in our upcoming blogs.<\/p>\n\n\n\n<p><strong>Meanwhile \u2026<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">If you are an aspiring AWS Enthusiast and want to explore more about the above topics, here are a few of our blogs for your reference:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-the-workfall-blog wp-block-embed-the-workfall-blog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"4l7D98wySZ\"><a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-set-up-a-continuous-deployment-pipeline-to-deploy-versions-of-an-application-on-aws-elastic-beanstalk-using-aws-codepipeline-part-1\/\">How to set up a continuous deployment pipeline to deploy versions of an application on AWS Elastic Beanstalk using AWS CodePipeline (Part 1)?<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;How to set up a continuous deployment pipeline to deploy versions of an application on AWS Elastic Beanstalk using AWS CodePipeline (Part 1)?&#8221; &#8212; The Workfall Blog\" src=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-set-up-a-continuous-deployment-pipeline-to-deploy-versions-of-an-application-on-aws-elastic-beanstalk-using-aws-codepipeline-part-1\/embed\/#?secret=4l7D98wySZ\" data-secret=\"4l7D98wySZ\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-the-workfall-blog wp-block-embed-the-workfall-blog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"fXoGmpe8oh\"><a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-set-up-a-continuous-deployment-pipeline-to-deploy-versions-of-an-application-on-aws-elastic-beanstalk-using-aws-codepipeline-part-2\/\">How to set up a continuous deployment pipeline to deploy versions of an application on AWS Elastic Beanstalk using AWS CodePipeline (Part 2)?<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;How to set up a continuous deployment pipeline to deploy versions of an application on AWS Elastic Beanstalk using AWS CodePipeline (Part 2)?&#8221; &#8212; The Workfall Blog\" src=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-set-up-a-continuous-deployment-pipeline-to-deploy-versions-of-an-application-on-aws-elastic-beanstalk-using-aws-codepipeline-part-2\/embed\/#?secret=fXoGmpe8oh\" data-secret=\"fXoGmpe8oh\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-the-workfall-blog wp-block-embed-the-workfall-blog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"i0NKk3hdVn\"><a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-use-aws-ssm-parameter-store-in-aws-elastic-beanstalk-instances\/\">How to use AWS SSM Parameter Store in AWS Elastic Beanstalk instances?<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8220;How to use AWS SSM Parameter Store in AWS Elastic Beanstalk instances?&#8221; &#8212; The Workfall Blog\" src=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-use-aws-ssm-parameter-store-in-aws-elastic-beanstalk-instances\/embed\/#?secret=i0NKk3hdVn\" data-secret=\"i0NKk3hdVn\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>Stay tuned to get all the updates about our upcoming blogs on the cloud and the latest technologies.<\/p>\n\n\n\n<p><strong>Keep Exploring -&gt; Keep Learning -&gt; Keep Mastering&nbsp;<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">At <a href=\"https:\/\/www.workfall.com\/\">Workfall<\/a>, we strive to provide the best tech and pay opportunities to kickass coders around the world. If you\u2019re looking to work with global clients, build cutting-edge products and make big bucks doing so, give it a shot at <a href=\"https:\/\/www.workfall.com\/partner\/\">workfall.com\/partner<\/a> today!<\/p>\n\n\n\n<p><\/p>\n\n\n<style type=\"text\/css\"><\/style><section id='' \n                class='helpie-faq accordions faq-toggle open-first groupSettings-534__enabled' \n                data-collection='' \n                data-pagination='0' \n                data-search='0' \n                data-pagination-enabled='0'\n                role='region'\n                aria-label='FAQ Section'\n                aria-live='polite'><h3 class=\"collection-title\">Frequently Asked Questions:<\/h3><article class=\"accordion \"><div class='helpie-faq-row'><div class='helpie-faq-col helpie-faq-col-12' ><ul><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-3068\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-3068\"\r\n                data-id=\"post-3068\" \r\n                data-item=\"hfaq-post-3068\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q. What is NestJS, and why use it for microservices?<\/div><\/div><div id=\"accordion-content-post-3068\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-3068\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\">\u00a0NestJS is a Node.js framework that supports modular development. For microservices, it offers built-in transport layers like Redis, NATS, RabbitMQ, and gRPC.<\/span><\/p>\n<\/div><\/li><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-3069\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-3069\"\r\n                data-id=\"post-3069\" \r\n                data-item=\"hfaq-post-3069\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q. How do you configure a NestJS app for microservice mode?<\/div><\/div><div id=\"accordion-content-post-3069\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-3069\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\">\u00a0Use <\/span><span style=\"font-weight: 400\">NestFactory.createMicroservice()<\/span><span style=\"font-weight: 400\"> with the appropriate transport configuration. Example:<\/span><\/p>\n<p><span style=\"font-weight: 400\">NestFactory.createMicroservice(AppModule, {<\/span><\/p>\n<p><span style=\"font-weight: 400\">\u00a0\u00a0transport: Transport.TCP<\/span><\/p>\n<p><span style=\"font-weight: 400\">});<\/span><\/p>\n<\/div><\/li><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-3070\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-3070\"\r\n                data-id=\"post-3070\" \r\n                data-item=\"hfaq-post-3070\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q. What are the deployment options for NestJS microservices?<\/div><\/div><div id=\"accordion-content-post-3070\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-3070\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\">\u00a0They can be deployed on Docker, Kubernetes, AWS ECS, or standalone EC2 instances.<\/span><\/p>\n<\/div><\/li><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-3071\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-3071\"\r\n                data-id=\"post-3071\" \r\n                data-item=\"hfaq-post-3071\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q. How do you scale NestJS microservices?<\/div><\/div><div id=\"accordion-content-post-3071\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-3071\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\">By running multiple instances behind a load balancer or Kubernetes cluster, and using message brokers to distribute tasks.<\/span><\/p>\n<\/div><\/li><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-3072\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-3072\"\r\n                data-id=\"post-3072\" \r\n                data-item=\"hfaq-post-3072\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q. What challenges exist in deploying NestJS microservices?<\/div><\/div><div id=\"accordion-content-post-3072\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-3072\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\">\u00a0Challenges include service discovery, distributed logging, monitoring, and inter-service communication reliability.<\/span><\/p>\n<\/div><\/li><\/ul><\/div><\/div><\/article><\/section>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span> AWS Elastic Beanstalk is an AWS service on which you can deploy your application and it offers orchestration for various AWS services such as EC2, and S3 out of the box through auto-scaling, load-balancing, and capacity provisioning. All you have to do is upload your code and AWS Elastic Beanstalk does everything for you including [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1101,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[2],"tags":[325,3,4,226,265,250,6],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Deploy NestJS Microservices to AWS Elastic Beanstalk? - The Workfall Blog<\/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:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Deploy NestJS Microservices to AWS Elastic Beanstalk? - The Workfall Blog\" \/>\n<meta property=\"og:description\" content=\"Reading Time: 7 minutes AWS Elastic Beanstalk is an AWS service on which you can deploy your application and it offers orchestration for various AWS services such as EC2, and S3 out of the box through auto-scaling, load-balancing, and capacity provisioning. All you have to do is upload your code and AWS Elastic Beanstalk does everything for you including [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/\" \/>\n<meta property=\"og:site_name\" content=\"The Workfall Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/workfall\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-26T12:13:44+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-30T05:40:05+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@workfall\" \/>\n<meta name=\"twitter:site\" content=\"@workfall\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Workfall\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\",\"name\":\"Workfall - Hire #Kickass Coders On Demand\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/workfall\/\",\"https:\/\/www.linkedin.com\/company\/workfall\/\",\"https:\/\/facebook.com\/workfall\",\"https:\/\/twitter.com\/workfall\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"contentUrl\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"width\":400,\"height\":400,\"caption\":\"Workfall - Hire #Kickass Coders On Demand\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"name\":\"The Workfall Blog\",\"description\":\"#Tech #Remote #Jobs\",\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#primaryimage\",\"url\":\"\",\"contentUrl\":\"\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#webpage\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/\",\"name\":\"How to Deploy NestJS Microservices to AWS Elastic Beanstalk? - The Workfall Blog\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#primaryimage\"},\"datePublished\":\"2022-07-26T12:13:44+00:00\",\"dateModified\":\"2025-09-30T05:40:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learning.workfall.com\/learning\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Deploy NestJS Microservices to AWS Elastic Beanstalk?\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#webpage\"},\"author\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\"},\"headline\":\"How to Deploy NestJS Microservices to AWS Elastic Beanstalk?\",\"datePublished\":\"2022-07-26T12:13:44+00:00\",\"dateModified\":\"2025-09-30T05:40:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#webpage\"},\"wordCount\":1274,\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#primaryimage\"},\"thumbnailUrl\":\"\",\"keywords\":[\"#nestjs\",\"AWS\",\"Cloud\",\"elastic beanstalk\",\"node\",\"nodeJS\",\"workfall\"],\"articleSection\":[\"AWS Cloud Computing\"],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\",\"name\":\"Workfall\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"contentUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"caption\":\"Workfall\"},\"sameAs\":[\"https:\/\/www.workfall.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Deploy NestJS Microservices to AWS Elastic Beanstalk? - The Workfall Blog","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:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/","og_locale":"en_US","og_type":"article","og_title":"How to Deploy NestJS Microservices to AWS Elastic Beanstalk? - The Workfall Blog","og_description":"Reading Time: 7 minutes AWS Elastic Beanstalk is an AWS service on which you can deploy your application and it offers orchestration for various AWS services such as EC2, and S3 out of the box through auto-scaling, load-balancing, and capacity provisioning. All you have to do is upload your code and AWS Elastic Beanstalk does everything for you including [&hellip;]","og_url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/","og_site_name":"The Workfall Blog","article_publisher":"https:\/\/facebook.com\/workfall","article_published_time":"2022-07-26T12:13:44+00:00","article_modified_time":"2025-09-30T05:40:05+00:00","twitter_card":"summary_large_image","twitter_creator":"@workfall","twitter_site":"@workfall","twitter_misc":{"Written by":"Workfall","Est. reading time":"12 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization","name":"Workfall - Hire #Kickass Coders On Demand","url":"https:\/\/learning.workfall.com\/learning\/blog\/","sameAs":["https:\/\/www.instagram.com\/workfall\/","https:\/\/www.linkedin.com\/company\/workfall\/","https:\/\/facebook.com\/workfall","https:\/\/twitter.com\/workfall"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","contentUrl":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","width":400,"height":400,"caption":"Workfall - Hire #Kickass Coders On Demand"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website","url":"https:\/\/learning.workfall.com\/learning\/blog\/","name":"The Workfall Blog","description":"#Tech #Remote #Jobs","publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#primaryimage","url":"","contentUrl":""},{"@type":"WebPage","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#webpage","url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/","name":"How to Deploy NestJS Microservices to AWS Elastic Beanstalk? - The Workfall Blog","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#primaryimage"},"datePublished":"2022-07-26T12:13:44+00:00","dateModified":"2025-09-30T05:40:05+00:00","breadcrumb":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learning.workfall.com\/learning\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Deploy NestJS Microservices to AWS Elastic Beanstalk?"}]},{"@type":"Article","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#article","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#webpage"},"author":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a"},"headline":"How to Deploy NestJS Microservices to AWS Elastic Beanstalk?","datePublished":"2022-07-26T12:13:44+00:00","dateModified":"2025-09-30T05:40:05+00:00","mainEntityOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#webpage"},"wordCount":1274,"publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/#primaryimage"},"thumbnailUrl":"","keywords":["#nestjs","AWS","Cloud","elastic beanstalk","node","nodeJS","workfall"],"articleSection":["AWS Cloud Computing"],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a","name":"Workfall","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/","url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","contentUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","caption":"Workfall"},"sameAs":["https:\/\/www.workfall.com"]}]}},"jetpack_featured_media_url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/07\/NestJS.png","jetpack-related-posts":[{"id":675,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-set-up-a-continuous-deployment-pipeline-to-deploy-versions-of-an-application-on-aws-elastic-beanstalk-using-aws-codepipeline-part-1\/","url_meta":{"origin":1083,"position":0},"title":"How to set up a continuous deployment pipeline to deploy versions of an application on AWS Elastic Beanstalk using AWS CodePipeline (Part 1)?","date":"November 24, 2021","format":false,"excerpt":"Do you have concerns about managing and deploying web applications? With AWS Elastic Beanstalk, you can launch your full web application in just a few minutes by simply uploading the code. Starting with capacity provisioning, load balancing, auto-scaling, and application health monitoring, this service will take care of the whole\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"AWS Elastic Beanstalk - Workfall","src":"https:\/\/i2.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/CoverImages_1200x628px-6.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":679,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-set-up-a-continuous-deployment-pipeline-to-deploy-versions-of-an-application-on-aws-elastic-beanstalk-using-aws-codepipeline-part-2\/","url_meta":{"origin":1083,"position":1},"title":"How to set up a continuous deployment pipeline to deploy versions of an application on AWS Elastic Beanstalk using AWS CodePipeline (Part 2)?","date":"November 26, 2021","format":false,"excerpt":"AWS Elastic Beanstalk allows us to quickly deploy and manage applications without having to worry about the underlying infrastructure. One of its major benefits is that it reduces the complexity of management of the infrastructure without any restrictions thereby making it easy for developers to focus on just building the\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Application on AWS Elastic Beanstalk","src":"https:\/\/i2.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/CoverImages_1200x628px-7.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1066,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-architect-nestjs-microservices-with-aws-elastic-beanstalk\/","url_meta":{"origin":1083,"position":2},"title":"Architect NestJS Microservices with AWS Elastic Beanstalk","date":"July 19, 2022","format":false,"excerpt":"In the AWS Cloud journey, we come across Elastic Beanstalk to be better than other services in managing the infrastructure environments effectively. On the other hand, NestJS is popular in creating efficient and scalable server-side applications, and is relatively a new option for the backend framework - it is lightweight,\u2026","rel":"","context":"In &quot;Backend Development&quot;","img":{"alt_text":"Architect NestJS Microservices with AWS Elastic Beanstalk","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/07\/NestJS-Microservices-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1038,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-aws-ssm-parameter-store-in-aws-elastic-beanstalk-instances\/","url_meta":{"origin":1083,"position":3},"title":"How to use AWS SSM Parameter Store in AWS Elastic Beanstalk instances?","date":"July 12, 2022","format":false,"excerpt":"Almost every developer makes use of environment variables. They are excellent for establishing parameters that alter depending on the system's surroundings. Sadly, they struggle to scale. There are methods to accomplish it, but they aren't enjoyable. Here's why AWS can replace environment variables (or at least reduce your reliance on\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"AWS SSM Parameter Store in AWS Elastic Beanstalk instances","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/07\/Cover-Images_Part2-1-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1513,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-upload-large-files-1gb-and-beyond-to-aws-s3-using-nestjs-backend-and-reactjs-frontend\/","url_meta":{"origin":1083,"position":4},"title":"How to upload large files (1GB and beyond) to AWS S3 using NestJS (backend) and ReactJS (frontend)?","date":"November 15, 2022","format":false,"excerpt":"When dealing with file uploads, you must be aware that files are uploaded in buffers stored in memory and if the file is larger than the allocated memory in your VM, it may run out of memory and the application might crash. For example, if your allocated memory is 2GB,\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"How to upload large files (1GB and beyond) to AWS S3 using NestJS (backend) and ReactJS (frontend)?","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/11\/Cover-Images_Part2-3.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":361,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-create-ci-cd-workflow-using-aws-codestar\/","url_meta":{"origin":1083,"position":5},"title":"How to create CI\/CD workflow using AWS CodeStar?","date":"November 3, 2021","format":false,"excerpt":"DevOps and CI\/CD are the future of software development. AWS CodeStar makes building a full CI\/CD workflow easier and helps us to create a CI\/CD toolchain using AWS developer tools - CodeCommit, CodeBuild, and CodePipeline In this blog we will demonstrate how to create CI\/CD workflow using AWS CodeStar. Before\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Create CI\/CD workflow using AWS CodeStar","src":"https:\/\/i2.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/CodeStar.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/1083"}],"collection":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/comments?post=1083"}],"version-history":[{"count":8,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/1083\/revisions"}],"predecessor-version":[{"id":3073,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/1083\/revisions\/3073"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media\/1101"}],"wp:attachment":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media?parent=1083"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/categories?post=1083"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/tags?post=1083"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}