{"id":352,"date":"2022-08-03T14:42:00","date_gmt":"2022-08-03T14:42:00","guid":{"rendered":"https:\/\/www.simplybusiness.co.uk\/implementing-container-shell-system-ecs\/"},"modified":"2025-10-30T14:14:31","modified_gmt":"2025-10-30T14:14:31","slug":"implementing-container-shell-system-ecs","status":"publish","type":"post","link":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs","title":{"rendered":"How we implemented container shell access on ECS"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">At Simply Business, our developers often need terminal emulation access to production-like environments. In the DevOps team, we&#8217;re keen to support this but also need to cater for the security implications, as well as the need to audit activity on interactive container sessions. In this post, we share how in the DevOps team, we&#8217;ve addressed these needs by creating a custom solution for container shell access on&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/aws.amazon.com\/blogs\/containers\/new-using-amazon-ecs-exec-access-your-containers-fargate-ec2\/\" rel=\"noopener noreferrer\" target=\"_blank\">ECS Exec<\/a>, integrated with our in-house CI\/CD system built with&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/features\/actions\" rel=\"noopener noreferrer\" target=\"_blank\">Github Actions<\/a>&nbsp;and&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/aws.amazon.com\/codebuild\/\" rel=\"noopener noreferrer\" target=\"_blank\">Codebuild<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Recently the Simply Business DevOps team has been looking into replacing our existing solution &#8211;&nbsp;<a href=\"https:\/\/github.com\/butlerx\/wetty\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">butlerx\/wetty<\/a>, which we use to grant shell access for developers to Docker containers running in our&nbsp;<a href=\"https:\/\/aws.amazon.com\/ecs\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">ECS<\/a>&nbsp;cluster.&nbsp;<em>Just to make it clear, this post is not a philosophical discussion on shell access to Docker containers. There\u2019s plenty of material out there if you\u2019re looking to forge an opinion on that. Rather, it&#8217;s about how we&#8217;re handling very legitimate use cases for granting shell access to containers, given that turning off our existing solution isn&#8217;t really an option.<\/em><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-why-build-a-container-shell-access-system\">Why build a container shell access system?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ve been using&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/github.com\/butlerx\/wetty\" rel=\"noopener noreferrer\" target=\"_blank\">butlerx\/wetty<\/a>&nbsp;for several years, and although it has served us well, we were looking to improve on a number of issues identified with the existing solution, including tight coupling to production deployment pipelines, logging and observability, security and costs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In designing a replacement, it was also important that the new solution integrated well with two other systems that we&#8217;ve introduced to improve our deployment pipeline and logging needs, namely our custom-built CI\/CD platform&nbsp;<a href=\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/03\/building-a-custom-cicd-system\" data-type=\"post\" data-id=\"348\">Huxley<\/a>, which uses&nbsp;<a href=\"https:\/\/github.com\/features\/actions\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Github Actions<\/a>&nbsp;and&nbsp;<a href=\"https:\/\/aws.amazon.com\/codebuild\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Codebuild<\/a>&nbsp;to replace our previous system on&nbsp;<a href=\"https:\/\/www.jenkins.io\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Jenkins<\/a>, and&nbsp;<a href=\"https:\/\/www.elastic.co\/security\/siem\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Elastic SIEM<\/a>, an information security logging system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">As chance would have it, AWS had enough customer feedback from the developer community wanting something similar to K8\u2019s&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/kubernetes.io\/docs\/tasks\/debug\/debug-application\/get-shell-running-container\/\" rel=\"noopener noreferrer\" target=\"_blank\">kubectl exec<\/a>&nbsp;for accessing ECS containers that they released&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/aws.amazon.com\/blogs\/containers\/new-using-amazon-ecs-exec-access-your-containers-fargate-ec2\/\" rel=\"noopener noreferrer\" target=\"_blank\">ECS Exec<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">After some investigation, it turned out that ECS Exec looked like it might offer us the types of improvement we were looking for, particularly in regard to security. With ECS Exec, we could handle all authorisation through Identity and Access Management (<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/aws.amazon.com\/iam\/\" rel=\"noopener noreferrer\" target=\"_blank\">IAM<\/a>), and it could also be set up to use attribute-based access control (<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.aws.amazon.com\/IAM\/latest\/UserGuide\/introduction_attribute-based-access-control.html\" rel=\"noopener noreferrer\" target=\"_blank\">ABAC<\/a>) authorisation, and secure access to services and resources via IAM policies that fit with our existing IAM authorisation model, all on a per-teams access basis. By granting authorisation through IAM, we&#8217;d be able to log all activity and calls in&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/aws.amazon.com\/cloudtrail\/\" rel=\"noopener noreferrer\" target=\"_blank\">CloudTrail<\/a>. Tick!<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One of the security requirements for our container shell access system was that the containers providing shell access should not be the same containers used for production workload computation. So the DevOps team decided to provision a new container on ECS as a one-off task with sleep running under the&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.docker.com\/engine\/reference\/run\/#specify-an-init-process\" rel=\"noopener noreferrer\" target=\"_blank\">initialisation<\/a>&nbsp;process of the container, that would provide shell access until sleep ended. This implementation also solved a cost issue we had with the initial solution we&#8217;d proposed, which required an&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.aws.amazon.com\/AmazonECS\/latest\/developerguide\/ecs_services.html\" rel=\"noopener noreferrer\" target=\"_blank\">ECS service<\/a>&nbsp;and an application load balancer (<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/docs.aws.amazon.com\/elasticloadbalancing\/latest\/application\/introduction.html\" rel=\"noopener noreferrer\" target=\"_blank\">ALB<\/a>) to be provisioned to run and provide access to the shell.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, this implementation presented another issue with ECS Exec\u2019s logging, whereby logs would be lost if the sleep timeout was reached and the container was deprovisioned before any user who was logged into the shell had exited that shell.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/www.tech.sb\/the-team\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" height=\"368\" width=\"1024\" src=\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024\" alt=\"sb-tech-site-banner\" class=\"wp-image-12317\" srcset=\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp 1152w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=800,288 800w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=768,276 768w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=1024,368 1024w, https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?resize=150,54 150w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-wilson-waiting-for-cats-with-pipes\">Wilson &#8211; waiting for cats with pipes<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">After some thinking around alternative ideas on how to improve on this, we ended up writing a small program in&nbsp;<a href=\"https:\/\/go.dev\/\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Go<\/a>, which we&#8217;ve named&nbsp;<em>Wilson<\/em>. The main goal of implementing Wilson was to capture the standard i\/o of the shell sessions and log it to&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Standard_streams\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">standard output<\/a>&nbsp;of the container.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We&#8217;ve implemented this in Wilson as follows.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li class=\"wp-block-list-item\">Wilson starts a process in the container replacing the sleep we initially had, implemented as a&nbsp;<a href=\"https:\/\/gobyexample.com\/tickers\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">ticker<\/a>.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Wilson takes control of the configuration of the&nbsp;<a href=\"https:\/\/linux.die.net\/man\/1\/bash\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">\/root\/.bashrc<\/a>, which is run when a user starts an interactive session. In this configuration, when a user starts a session, a&nbsp;<a href=\"https:\/\/man7.org\/linux\/man-pages\/man7\/fifo.7.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">fifo<\/a>&nbsp;(named pipe) is provisioned on the file system for that login and a&nbsp;<a href=\"https:\/\/man7.org\/linux\/man-pages\/man1\/script.1.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">script<\/a>&nbsp;is started through a call to&nbsp;<a href=\"https:\/\/man7.org\/linux\/man-pages\/man3\/exec.3.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">exec<\/a>&nbsp;to write to this fifo.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">Wilson sits and monitors the&nbsp;<a href=\"https:\/\/man7.org\/linux\/man-pages\/man5\/proc.5.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">\/proc<\/a>&nbsp;directory for these logins and will then start a child process to&nbsp;<a href=\"https:\/\/man7.org\/linux\/man-pages\/man1\/cat.1.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">cat<\/a>&nbsp;from the fifo.<\/li>\n\n\n\n<li class=\"wp-block-list-item\">The output of this cat is then&nbsp;<a href=\"https:\/\/man7.org\/linux\/man-pages\/man2\/pipe.2.html\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">piped<\/a>&nbsp;to an internal buffer and sent to&nbsp;<a href=\"https:\/\/linux.die.net\/man\/3\/stdout\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">stdout<\/a>&nbsp;for that container.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">In our case, these logs are sent to&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/aws.amazon.com\/cloudwatch\/\" rel=\"noopener noreferrer\" target=\"_blank\">CloudWatch<\/a>&nbsp;and then on to SIEM, but would also work with other log forwarders for containers. The solution we&#8217;ve created in Wilson gives us keystroke-level logging for container shell sessions in real-time. If any of the configuration is tampered with, Wilson will exit 1 and stop the container.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Beyond the mentioned *nix primitives, what we&#8217;ve implemented in Wilson doesn\u2019t require any further dependencies to work with ECS Exec, as&nbsp;<a target=\"_blank\" rel=\"noreferrer noopener\" href=\"https:\/\/man7.org\/linux\/man-pages\/man1\/script.1.html\" rel=\"noopener noreferrer\" target=\"_blank\">script<\/a>&nbsp;is already a requirement of the AWS native logging solution for ECS Exec.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At the time of writing, we&#8217;re working on open sourcing Wilson. Look out for future updates, and check out our other open source project &#8211;\u00a0<a href=\"https:\/\/github.com\/marketplace\/actions\/version-forget-me-not\" target=\"_blank\" rel=\"noreferrer noopener\" rel=\"noopener noreferrer\" target=\"_blank\">Version Forget-Me-Not<\/a>, on GitHub Marketplace.<\/p>\n\n\n\n<div id=\"nba-upsell-001\" class=\"wp-block-group has-azure-200-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-94e519ba wp-block-group-is-layout-constrained\" style=\"padding-top:var(--wp--preset--spacing--80);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--80);padding-left:var(--wp--preset--spacing--40)\">\n<h3 class=\"wp-block-heading has-text-align-center\" id=\"h-ready-to-start-your-career-at-simply-business\">Ready to start your career at Simply Business?<\/h3>\n\n\n\n<p class=\"has-text-align-center wp-block-paragraph\">Want to know more about what it&#8217;s like to work in tech at Simply Business? Read about our approach to tech, then check out our current vacancies.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-a89b3969 wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.simplybusiness.co.uk\/about-us\/careers\/tech\/\">Find out more<\/a><\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group has-azure-800-color has-azure-200-background-color has-text-color has-background has-link-color wp-elements-8e0dce3f13a2a96dffdeb7da72012999 has-global-padding is-layout-constrained wp-container-core-group-is-layout-80fb368b wp-block-group-is-layout-constrained\" style=\"border-radius:8px;padding-top:var(--wp--preset--spacing--30);padding-right:var(--wp--preset--spacing--30);padding-bottom:var(--wp--preset--spacing--30);padding-left:var(--wp--preset--spacing--30)\">\n<p class=\"has-text-align-center has-xxs-font-size wp-block-paragraph\">We create this content for general information purposes and it should not be taken as advice. Always take professional advice.&nbsp;<a href=\"https:\/\/www.simplybusiness.co.uk\/legal\/knowledge-centre-disclaimer\/\" target=\"_blank\" rel=\"noreferrer noopener\">Read our full disclaimer<\/a><\/p>\n<\/div>\n\n\n\n<div id=\"newsletter-subscribe\" class=\"wp-block-group newsletter-subscribe is-layout-flow wp-block-group-is-layout-flow wp-block-block\" style=\"border-top-color:#cccccc;border-top-width:1px;padding-top:var(--wp--preset--spacing--80);padding-right:0;padding-bottom:var(--wp--preset--spacing--80);padding-left:0\">\n<p class=\"has-text-align-center has-dark-800-color has-text-color has-link-color has-medium-font-size wp-elements-ced002c3d2e03fde51d8880b5da0f3bb wp-block-paragraph\" style=\"margin-bottom:var(--wp--preset--spacing--50)\">A free monthly newsletter with the latest news and tools for small businesses and landlords.<\/p>\n\n\n\n<div class=\"wp-block-buttons is-content-justification-center is-layout-flex wp-container-core-buttons-is-layout-222c5d1d wp-block-buttons-is-layout-flex\" style=\"margin-bottom:var(--wp--preset--spacing--50)\">\n<div class=\"wp-block-button is-style-outline has-size-medium is-style-outline--1\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/www.simplybusiness.co.uk\/about-us\/newsletter-signup\/\">Subscribe to our newsletter<\/a><\/div>\n<\/div>\n\n\n\n<ul class=\"wp-block-social-links has-small-icon-size is-style-logos-only is-content-justification-center is-layout-flex wp-container-core-social-links-is-layout-a89b3969 wp-block-social-links-is-layout-flex\"><li class=\"wp-social-link wp-social-link-facebook  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.facebook.com\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on Facebook<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-x  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.x.com\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M13.982 10.622 20.54 3h-1.554l-5.693 6.618L8.745 3H3.5l6.876 10.007L3.5 21h1.554l6.012-6.989L15.868 21h5.245l-7.131-10.378Zm-2.128 2.474-.697-.997-5.543-7.93H8l4.474 6.4.697.996 5.815 8.318h-2.387l-4.745-6.787Z\" \/><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on X<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-youtube  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.youtube.com\/user\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M21.8,8.001c0,0-0.195-1.378-0.795-1.985c-0.76-0.797-1.613-0.801-2.004-0.847c-2.799-0.202-6.997-0.202-6.997-0.202 h-0.009c0,0-4.198,0-6.997,0.202C4.608,5.216,3.756,5.22,2.995,6.016C2.395,6.623,2.2,8.001,2.2,8.001S2,9.62,2,11.238v1.517 c0,1.618,0.2,3.237,0.2,3.237s0.195,1.378,0.795,1.985c0.761,0.797,1.76,0.771,2.205,0.855c1.6,0.153,6.8,0.201,6.8,0.201 s4.203-0.006,7.001-0.209c0.391-0.047,1.243-0.051,2.004-0.847c0.6-0.607,0.795-1.985,0.795-1.985s0.2-1.618,0.2-3.237v-1.517 C22,9.62,21.8,8.001,21.8,8.001z M9.935,14.594l-0.001-5.62l5.404,2.82L9.935,14.594z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Subscribe to Simply Business Videos on Youtube<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-linkedin  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.linkedin.com\/company\/simply-business_39914\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,1.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on LinkedIn<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-instagram  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.instagram.com\/simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M12,4.622c2.403,0,2.688,0.009,3.637,0.052c0.877,0.04,1.354,0.187,1.671,0.31c0.42,0.163,0.72,0.358,1.035,0.673 c0.315,0.315,0.51,0.615,0.673,1.035c0.123,0.317,0.27,0.794,0.31,1.671c0.043,0.949,0.052,1.234,0.052,3.637 s-0.009,2.688-0.052,3.637c-0.04,0.877-0.187,1.354-0.31,1.671c-0.163,0.42-0.358,0.72-0.673,1.035 c-0.315,0.315-0.615,0.51-1.035,0.673c-0.317,0.123-0.794,0.27-1.671,0.31c-0.949,0.043-1.233,0.052-3.637,0.052 s-2.688-0.009-3.637-0.052c-0.877-0.04-1.354-0.187-1.671-0.31c-0.42-0.163-0.72-0.358-1.035-0.673 c-0.315-0.315-0.51-0.615-0.673-1.035c-0.123-0.317-0.27-0.794-0.31-1.671C4.631,14.688,4.622,14.403,4.622,12 s0.009-2.688,0.052-3.637c0.04-0.877,0.187-1.354,0.31-1.671c0.163-0.42,0.358-0.72,0.673-1.035 c0.315-0.315,0.615-0.51,1.035-0.673c0.317-0.123,0.794-0.27,1.671-0.31C9.312,4.631,9.597,4.622,12,4.622 M12,3 C9.556,3,9.249,3.01,8.289,3.054C7.331,3.098,6.677,3.25,6.105,3.472C5.513,3.702,5.011,4.01,4.511,4.511 c-0.5,0.5-0.808,1.002-1.038,1.594C3.25,6.677,3.098,7.331,3.054,8.289C3.01,9.249,3,9.556,3,12c0,2.444,0.01,2.751,0.054,3.711 c0.044,0.958,0.196,1.612,0.418,2.185c0.23,0.592,0.538,1.094,1.038,1.594c0.5,0.5,1.002,0.808,1.594,1.038 c0.572,0.222,1.227,0.375,2.185,0.418C9.249,20.99,9.556,21,12,21s2.751-0.01,3.711-0.054c0.958-0.044,1.612-0.196,2.185-0.418 c0.592-0.23,1.094-0.538,1.594-1.038c0.5-0.5,0.808-1.002,1.038-1.594c0.222-0.572,0.375-1.227,0.418-2.185 C20.99,14.751,21,14.444,21,12s-0.01-2.751-0.054-3.711c-0.044-0.958-0.196-1.612-0.418-2.185c-0.23-0.592-0.538-1.094-1.038-1.594 c-0.5-0.5-1.002-0.808-1.594-1.038c-0.572-0.222-1.227-0.375-2.185-0.418C14.751,3.01,14.444,3,12,3L12,3z M12,7.378 c-2.552,0-4.622,2.069-4.622,4.622S9.448,16.622,12,16.622s4.622-2.069,4.622-4.622S14.552,7.378,12,7.378z M12,15 c-1.657,0-3-1.343-3-3s1.343-3,3-3s3,1.343,3,3S13.657,15,12,15z M16.804,6.116c-0.596,0-1.08,0.484-1.08,1.08 s0.484,1.08,1.08,1.08c0.596,0,1.08-0.484,1.08-1.08S17.401,6.116,16.804,6.116z\"><\/path><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on Instagram<\/span><\/a><\/li>\n\n<li class=\"wp-social-link wp-social-link-tiktok  wp-block-social-link\"><a rel=\"noopener nofollow\" target=\"_blank\" href=\"https:\/\/www.tiktok.com\/@simplybusiness\" class=\"wp-block-social-link-anchor\" rel=\"noopener noreferrer\" target=\"_blank\"><svg width=\"24\" height=\"24\" viewBox=\"0 0 32 32\" version=\"1.1\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" aria-hidden=\"true\" focusable=\"false\"><path d=\"M16.708 0.027c1.745-0.027 3.48-0.011 5.213-0.027 0.105 2.041 0.839 4.12 2.333 5.563 1.491 1.479 3.6 2.156 5.652 2.385v5.369c-1.923-0.063-3.855-0.463-5.6-1.291-0.76-0.344-1.468-0.787-2.161-1.24-0.009 3.896 0.016 7.787-0.025 11.667-0.104 1.864-0.719 3.719-1.803 5.255-1.744 2.557-4.771 4.224-7.88 4.276-1.907 0.109-3.812-0.411-5.437-1.369-2.693-1.588-4.588-4.495-4.864-7.615-0.032-0.667-0.043-1.333-0.016-1.984 0.24-2.537 1.495-4.964 3.443-6.615 2.208-1.923 5.301-2.839 8.197-2.297 0.027 1.975-0.052 3.948-0.052 5.923-1.323-0.428-2.869-0.308-4.025 0.495-0.844 0.547-1.485 1.385-1.819 2.333-0.276 0.676-0.197 1.427-0.181 2.145 0.317 2.188 2.421 4.027 4.667 3.828 1.489-0.016 2.916-0.88 3.692-2.145 0.251-0.443 0.532-0.896 0.547-1.417 0.131-2.385 0.079-4.76 0.095-7.145 0.011-5.375-0.016-10.735 0.025-16.093z\" \/><\/svg><span class=\"wp-block-social-link-label screen-reader-text\">Follow Simply Business on TikTok<\/span><\/a><\/li><\/ul>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>At Simply Business, our developers often need terminal emulation access to production-like environments. In the DevOps team, we&#8217;re keen to support this but also need to cater for the security implications, as well as the need to audit activity on interactive container sessions. In this post, we share how in the DevOps team, we&#8217;ve addressed [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"sb_hreflang":"","sb_hreflang_url":"","disable_breadcrumbs":false,"sb_breadcrumbs":[],"footnotes":""},"tags":[],"hidden-category":[],"coauthors":[264],"class_list":["post-352","post","type-post","status-publish","format-standard","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.2) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Implementing a container shell access system on ECS<\/title>\n<meta name=\"description\" content=\"Our custom solution for container shell access on ECS Exec gives Simply Business DevOps greater security and observability over container sessions.\" \/>\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.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How we implemented container shell access on ECS\" \/>\n<meta property=\"og:description\" content=\"Our custom solution for container shell access on ECS Exec gives Simply Business DevOps greater security and observability over container sessions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/\" \/>\n<meta property=\"og:site_name\" content=\"Simply Business UK\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/simplybusiness\" \/>\n<meta property=\"article:published_time\" content=\"2022-08-03T14:42:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-30T14:14:31+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/06\/container-shell.jpeg\" \/>\n<meta name=\"author\" content=\"Andy McKay\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@simplybusiness\" \/>\n<meta name=\"twitter:site\" content=\"@simplybusiness\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andy McKay\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/\"},\"author\":{\"@type\":\"Person\",\"name\":\"Andy McKay\",\"description\":\"\"},\"headline\":\"How we implemented container shell access on ECS\",\"datePublished\":\"2022-08-03T14:42:00+00:00\",\"dateModified\":\"2025-10-30T14:14:31+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/\"},\"wordCount\":989,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024\",\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/\",\"name\":\"Implementing a container shell access system on ECS\",\"isPartOf\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024\",\"datePublished\":\"2022-08-03T14:42:00+00:00\",\"dateModified\":\"2025-10-30T14:14:31+00:00\",\"description\":\"Our custom solution for container shell access on ECS Exec gives Simply Business DevOps greater security and observability over container sessions.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp\",\"contentUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp\",\"width\":1152,\"height\":414,\"caption\":\"sb-tech-site-banner\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.simplybusiness.co.uk\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How we implemented container shell access on ECS\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#website\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/\",\"name\":\"Simply Business UK\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.simplybusiness.co.uk\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/#\/schema\/person\/77f91625e7ec1b88a7fca8910ce6c69f\",\"name\":\"rishvashah\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp9df6147f02078f0218660330fdfbacf3\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp\",\"contentUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp\",\"caption\":\"rishvashah\"}},{\"@type\":\"PostalAddress\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#local-main-place-address\",\"streetAddress\":\"Hylo, 105 Bunhill Row\",\"addressLocality\":\"London\",\"postalCode\":\"EC1Y 8LZ\",\"addressCountry\":\"GB\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#local-main-organization-logo\",\"url\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png\",\"contentUrl\":\"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png\",\"width\":533,\"height\":187,\"caption\":\"Simply Business UK\"}]}<\/script>\n<meta name=\"geo.placename\" content=\"London\" \/>\n<meta name=\"geo.region\" content=\"United Kingdom (UK)\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Implementing a container shell access system on ECS","description":"Our custom solution for container shell access on ECS Exec gives Simply Business DevOps greater security and observability over container sessions.","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.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/","og_locale":"en_GB","og_type":"article","og_title":"How we implemented container shell access on ECS","og_description":"Our custom solution for container shell access on ECS Exec gives Simply Business DevOps greater security and observability over container sessions.","og_url":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/","og_site_name":"Simply Business UK","article_publisher":"https:\/\/www.facebook.com\/simplybusiness","article_published_time":"2022-08-03T14:42:00+00:00","article_modified_time":"2025-10-30T14:14:31+00:00","og_image":[{"url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/06\/container-shell.jpeg","type":"","width":"","height":""}],"author":"Andy McKay","twitter_card":"summary_large_image","twitter_creator":"@simplybusiness","twitter_site":"@simplybusiness","twitter_misc":{"Written by":"Andy McKay","Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#article","isPartOf":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/"},"author":{"@type":"Person","name":"Andy McKay","description":""},"headline":"How we implemented container shell access on ECS","datePublished":"2022-08-03T14:42:00+00:00","dateModified":"2025-10-30T14:14:31+00:00","mainEntityOfPage":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/"},"wordCount":989,"commentCount":0,"publisher":{"@id":"https:\/\/www.simplybusiness.co.uk\/#organization"},"image":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024","inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/","url":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/","name":"Implementing a container shell access system on ECS","isPartOf":{"@id":"https:\/\/www.simplybusiness.co.uk\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage"},"image":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage"},"thumbnailUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp?w=1024","datePublished":"2022-08-03T14:42:00+00:00","dateModified":"2025-10-30T14:14:31+00:00","description":"Our custom solution for container shell access on ECS Exec gives Simply Business DevOps greater security and observability over container sessions.","breadcrumb":{"@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#primaryimage","url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp","contentUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2022\/08\/sb-tech-site-banner.webp","width":1152,"height":414,"caption":"sb-tech-site-banner"},{"@type":"BreadcrumbList","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.simplybusiness.co.uk\/"},{"@type":"ListItem","position":2,"name":"How we implemented container shell access on ECS"}]},{"@type":"WebSite","@id":"https:\/\/www.simplybusiness.co.uk\/#website","url":"https:\/\/www.simplybusiness.co.uk\/","name":"Simply Business UK","description":"","publisher":{"@id":"https:\/\/www.simplybusiness.co.uk\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.simplybusiness.co.uk\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.simplybusiness.co.uk\/#\/schema\/person\/77f91625e7ec1b88a7fca8910ce6c69f","name":"rishvashah","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp9df6147f02078f0218660330fdfbacf3","url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp","contentUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/themes\/simply-business\/dist\/images\/default-author-avatar.webp","caption":"rishvashah"}},{"@type":"PostalAddress","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#local-main-place-address","streetAddress":"Hylo, 105 Bunhill Row","addressLocality":"London","postalCode":"EC1Y 8LZ","addressCountry":"GB"},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs\/#local-main-organization-logo","url":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png","contentUrl":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/05\/logo.png","width":533,"height":187,"caption":"Simply Business UK"}]},"geo.placename":"London","geo.region":"United Kingdom (UK)"},"parsely":{"version":"1.1.0","canonical_url":"https:\/\/simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs","smart_links":{"inbound":0,"outbound":0},"traffic_boost_suggestions_count":0,"meta":{"@context":"https:\/\/schema.org","@type":"NewsArticle","headline":"How we implemented container shell access on ECS","url":"http:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs","mainEntityOfPage":{"@type":"WebPage","@id":"http:\/\/www.simplybusiness.co.uk\/about-us\/tech\/2022\/08\/implementing-container-shell-system-ecs"},"thumbnailUrl":"","image":{"@type":"ImageObject","url":""},"articleSection":"Uncategorised","author":[{"@type":"Person","name":"Andy McKay"}],"creator":["Andy McKay"],"publisher":{"@type":"Organization","name":"Simply Business UK","logo":"https:\/\/www.simplybusiness.co.uk\/wp-content\/uploads\/sites\/3\/2024\/04\/icon-512x512-1.png"},"keywords":[],"dateCreated":"2022-08-03T14:42:00Z","datePublished":"2022-08-03T14:42:00Z","dateModified":"2025-10-30T14:14:31Z"},"rendered":"<script type=\"application\/ld+json\" class=\"wp-parsely-metadata\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@type\":\"NewsArticle\",\"headline\":\"How we implemented container shell access on ECS\",\"url\":\"http:\\\/\\\/www.simplybusiness.co.uk\\\/about-us\\\/tech\\\/2022\\\/08\\\/implementing-container-shell-system-ecs\",\"mainEntityOfPage\":{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/www.simplybusiness.co.uk\\\/about-us\\\/tech\\\/2022\\\/08\\\/implementing-container-shell-system-ecs\"},\"thumbnailUrl\":\"\",\"image\":{\"@type\":\"ImageObject\",\"url\":\"\"},\"articleSection\":\"Uncategorised\",\"author\":[{\"@type\":\"Person\",\"name\":\"Andy McKay\"}],\"creator\":[\"Andy McKay\"],\"publisher\":{\"@type\":\"Organization\",\"name\":\"Simply Business UK\",\"logo\":\"https:\\\/\\\/www.simplybusiness.co.uk\\\/wp-content\\\/uploads\\\/sites\\\/3\\\/2024\\\/04\\\/icon-512x512-1.png\"},\"keywords\":[],\"dateCreated\":\"2022-08-03T14:42:00Z\",\"datePublished\":\"2022-08-03T14:42:00Z\",\"dateModified\":\"2025-10-30T14:14:31Z\"}<\/script>","tracker_url":"https:\/\/cdn.parsely.com\/keys\/simplybusiness.co.uk\/p.js"},"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts\/352","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/comments?post=352"}],"version-history":[{"count":24,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts\/352\/revisions"}],"predecessor-version":[{"id":43226,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/posts\/352\/revisions\/43226"}],"wp:attachment":[{"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/media?parent=352"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/tags?post=352"},{"taxonomy":"hidden-category","embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/hidden-category?post=352"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.simplybusiness.co.uk\/wp-json\/wp\/v2\/coauthors?post=352"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}