<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>AWS Archives | Cloudar</title>
	<atom:link href="https://cloudar.be/tag/aws/feed/" rel="self" type="application/rss+xml" />
	<link>https://cloudar.be/tag/aws/</link>
	<description>100% Focus On AWS // 100% Customer Obsession</description>
	<lastBuildDate>Tue, 20 Oct 2026 07:19:48 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>The AWS European Sovereign Cloud is a partition, not a setting. Here is how to decide whether you need it.</title>
		<link>https://cloudar.be/awsblog/the-aws-european-sovereign-cloud-is-a-partition-not-a-setting-here-is-how-to-decide-whether-you-need-it/</link>
		
		<dc:creator><![CDATA[Tom De Blende]]></dc:creator>
		<pubDate>Tue, 20 Oct 2026 07:19:48 +0000</pubDate>
				<category><![CDATA[AWS]]></category>
		<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[Security & Compliance]]></category>
		<category><![CDATA[AWS European Sovereign Cloud]]></category>
		<category><![CDATA[Bedrock]]></category>
		<category><![CDATA[Digital Sovereignty]]></category>
		<category><![CDATA[FinOps]]></category>
		<guid isPermaLink="false">https://cloudar.be/?p=22846</guid>

					<description><![CDATA[<p>The AWS European Sovereign Cloud is a separate partition with real operational separation, real gaps and real costs. Here is how to choose between commercial, sovereign and hybrid.</p>
<p>The post <a href="https://cloudar.be/awsblog/the-aws-european-sovereign-cloud-is-a-partition-not-a-setting-here-is-how-to-decide-whether-you-need-it/">The AWS European Sovereign Cloud is a partition, not a setting. Here is how to decide whether you need it.</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Since the AWS European Sovereign Cloud (ESC) went live in January, almost every compliance conversation we have with customers ends with the same question: should we move? The honest answer is rarely yes or no. For most organisations it is &#8220;some of you, for some of your data, and only after you have counted what it costs&#8221;.</p>
<p>Below is our attempt at a complete answer, from what ESC is to how to choose between commercial, sovereign and hybrid. It ends with the most interesting thing AWS has announced about ESC so far: on Saturday 24 October, it will cut ESC off from the AWS global network on purpose.</p>
<h2>What the European Sovereign Cloud actually is</h2>
<p>ESC became <a href="https://aws.amazon.com/blogs/aws/opening-the-aws-european-sovereign-cloud/">generally available on 14 January 2026</a> with one Region, <code class="" data-line="">eusc-de-east-1</code> in Brandenburg, Germany, and <a href="https://press.aboutamazon.com/aws/2026/1/aws-launches-aws-european-sovereign-cloud-and-announces-expansion-across-europe">more than 90 services</a>. Today, AWS&#8217;s <a href="https://builder.aws.com/build/capabilities/explore?f=eJyrVipOzUlNLklNCUpNz8zPK1ayUoqOUUotLU7WTUnVTU0sLtE1jFGKVdKBK3QsS8zMSUzKzMksyUwtjk9LTSwpLUqF6IPK5aSCtNQCAAk-IMc&amp;tab=service-feature">Capabilities by Region explorer</a> lists 104 services as available there (with, for example, each RDS engine and FSx variant counted separately), and 886 services and features in total. Three things make it more than &#8220;another EU Region&#8221;.</p>
<p><strong>It is a separate partition.</strong> Next to the commercial cloud (<code class="" data-line="">aws</code>), AWS already runs separate partitions for China (<code class="" data-line="">aws-cn</code>), GovCloud (<code class="" data-line="">aws-us-gov</code>) and isolated US classified Regions. ESC adds <code class="" data-line="">aws-eusc</code>, with its own IAM, its own AWS Organizations, its own billing in euro, its own console and its own endpoints under <code class="" data-line="">amazonaws.eu</code>. ARNs start with <code class="" data-line="">arn:aws-eusc:</code>. Existing accounts do not carry over; you open new ones.</p>
<p><strong>It has its own control plane, in the EU.</strong> A dedicated Route 53 whose name servers use only European top-level domains, its own EU trust service provider and root certificate authority, and a dedicated European security operations centre. Customer content stays in the EU, and so does customer-created metadata such as roles, permissions, tags and configurations. In exceptional cases, EU-resident ESC staff have independent access to a replica of the source code needed to maintain the services.</p>
<p><strong>It is run by a European company, with European people.</strong> ESC operates through German GmbH entities led by EU citizens, with an advisory board of EU citizens that includes two independent members. Day-to-day operations are carried out exclusively by EU residents located in the EU, and AWS is gradually moving to EU citizens only.</p>
<p>AWS plans to invest more than €7.8 billion in Germany through 2040, and backs the governance with a Sovereign Reference Framework (ESC-SRF) in AWS Artifact and a <a href="https://aws.amazon.com/blogs/security/aws-european-sovereign-cloud-achieves-first-compliance-milestone-soc-2-and-c5-reports-plus-seven-iso-certifications/">first set of attestations</a> in March 2026: SOC 2 Type 1 and C5 Type 1 reports covering 69 services, plus seven ISO certifications. Type 1 means control design at a point in time, not operating effectiveness over a period; normal for a young cloud, but relevant if your auditor expects Type 2. Sovereign Local Zones in Brussels, Amsterdam and Lisbon were announced at launch and are still <a href="https://aws.amazon.com/about-aws/global-infrastructure/localzones/locations/">listed as announced</a>, without a date. AWS has not announced a second ESC Region yet, but we expect more to follow. Read everything this post says about a single Region as a snapshot, not a permanent property.</p>
<p>What ESC does not change is who ultimately owns it: Amazon.com, Inc. The <a href="https://aws.eu/esca">ESC Addendum</a> commits AWS to redirect government requests to the customer, notify you, and challenge requests that conflict with EU law. It also says AWS will not move your content or customer-created metadata outside the EU &#8220;except as instructed by Customer or as necessary to comply with a valid and binding order of a governmental body&#8221;. AWS <a href="https://aws.amazon.com/compliance/cloud-act/">reports</a> that no enterprise or government content stored outside the US has been disclosed to the US government since it started publishing that figure in 2020. Whether that is enough for you is a legal judgement, and one that has not been tested in court. We are not lawyers; put that question to yours.</p>
<h2>How it differs from the other hyperscalers&#8217; sovereign clouds</h2>
<p>Every major provider now sells something called sovereign, and the word covers very different architectures. At hyperscale, there are two.</p>
<table>
<thead>
<tr>
<th></th>
<th>Controls on the global cloud</th>
<th>Provider-operated separate cloud</th>
</tr>
</thead>
<tbody>
<tr>
<td>Examples</td>
<td>Microsoft Sovereign Public Cloud, Google Cloud Data Boundary, AWS commercial EU Regions</td>
<td>AWS ESC, Oracle EU Sovereign Cloud</td>
</tr>
<tr>
<td>Separate control plane</td>
<td>No</td>
<td>Yes</td>
</tr>
<tr>
<td>Operated by</td>
<td>The provider</td>
<td>The provider&#8217;s own EU entities</td>
</tr>
<tr>
<td>Main trade-off</td>
<td>Full breadth, but the platform stays globally integrated</td>
<td>Provider engineering behind a hard boundary, but a smaller catalogue and a non-EU parent</td>
</tr>
</tbody>
</table>
<p>Microsoft <a href="https://learn.microsoft.com/en-us/azure/azure-sovereign-clouds/microsoft-sovereign-cloud">describes</a> its Sovereign Public Cloud as &#8220;built on Microsoft&#8217;s global Azure infrastructure with enhanced sovereignty controls, such as Data Guardian, External Key Management, and tamper-evident access logs&#8221;. And in fairness, the separate-cloud model is not an AWS invention: Oracle has run its <a href="https://docs.oracle.com/en-us/iaas/Content/sovereign-cloud/eu-sovereign-cloud.htm">EU Sovereign Cloud</a> as a separate realm since 2023.</p>
<p>Two kinds of offer are left out of this comparison on purpose. Disconnected and air-gapped clouds run a much smaller service set and solve a different problem. Partner clouds, such as Bleu and Delos Cloud on Microsoft technology or S3NS on Google technology, are a different category: a European company runs the hyperscaler&#8217;s software on its own, national-scale infrastructure. The catch is scale: capacity limited to what the partner has built, a <a href="https://learn.microsoft.com/en-us/azure/azure-sovereign-clouds/partner/overview-national-partner-clouds">core service set</a> rather than the full catalogue, and features that arrive only after the licensor&#8217;s release cycle and the partner&#8217;s own checks. If your requirement is a European-owned operator, that is where to look. If it is hyperscale behind a sovereign boundary, they are not comparable to ESC.</p>
<p>What sets ESC apart is the combination: the same APIs, tooling and engineering organisation as commercial AWS, behind a partition boundary with its own identity, billing, DNS and PKI, run by EU entities. It is a partition, not a setting. That is its biggest strength and, as we will see, the source of most of its cost.</p>
<h3>ESC versus Oracle EU Sovereign Cloud</h3>
<p>Oracle&#8217;s EU Sovereign Cloud is the closest analogue, so it deserves a direct comparison. Both are separate clouds (a partition at AWS, a realm at Oracle) owned and run by EU legal entities, with support and operations restricted to EU residents. The differences are in how far the independence goes, and how much of it is documented.</p>
<p><strong>Where AWS has an advantage.</strong> Operational autonomy and independence from global infrastructure are ESC&#8217;s strongest differentiators. AWS explicitly documents that ESC has <a href="https://aws.amazon.com/blogs/security/aws-european-sovereign-cloud-demonstrating-an-independent-operation/">no critical dependencies on infrastructure outside the EU</a>, including the ability to keep operating if connectivity with the global AWS network is interrupted, and it is about to demonstrate that in public (more on that at the end). AWS also documents independent identity management, billing and metering, EU-based trust services and a dedicated security operations centre. Oracle <a href="https://www.oracle.eu/faq/">states</a> that its realm is &#8220;completely isolated both physically and logically from other Oracle realms&#8221;, but its public documentation does not describe separate identity, billing, trust services or a security operations centre at that level of detail. On governance, ESC&#8217;s advisory board includes two independent members who are not Amazon employees, a mechanism on top of the EU-incorporated operating subsidiaries. Oracle documents boards of directors made up of European nationals across its seven EU entities, but does not mention independent members.</p>
<p><strong>Where Oracle has an edge.</strong> Two regions, Frankfurt and Madrid, against ESC&#8217;s one today, which matters if you need disaster recovery without leaving the sovereign cloud. We expect AWS to add ESC Regions over time, but until it does, that gap is real. A realm that Oracle says supports all its commercial services except some. And three years in the market.</p>
<p>The short version: if your requirement is demonstrable operational independence and governance, ESC documents and tests more. If you need disaster recovery without leaving the sovereign cloud today, Oracle is ahead.</p>
<h2>What the analyst quadrants do, and do not, tell you</h2>
<p>In Gartner&#8217;s 2026 Magic Quadrant for Strategic Cloud Platform Services (1 September 2026), AWS is <a href="https://aws.amazon.com/blogs/migration-and-modernization/aws-named-a-leader-in-gartners-2026-strategic-cloud-platform-services-magic-quadrant-16-years-running/">a Leader for the 16th consecutive year</a> and placed highest on Ability to Execute. Google, also a Leader, is <a href="https://cloud.google.com/blog/products/compute/google-named-a-leader-in-2026-gartner-magic-quadrant-for-scps">placed furthest</a> on Completeness of Vision.</p>
<p>But a Magic Quadrant <a href="https://www.gartner.com/en/about/magic-quadrant-faq">positions vendors</a>, not partitions. Nobody gets a separate dot for their sovereign offer. The quadrant tells you about the platform and the engineering organisation behind ESC, which counts for a cloud that is nine months old; it does not assess ESC itself. Nor does it tell you how ESC&#8217;s catalogue, ecosystem or sovereignty posture compares with Bleu, S3NS or Oracle. Gartner has no Magic Quadrant for sovereign cloud; its <a href="https://www.gartner.com/en/documents/7925709">Market Guide for Cloud Infrastructure Sovereign Solutions</a> (June 2026) describes that market without ranking it.</p>
<p>The closest thing to a sovereign ranking is ISG&#8217;s <a href="https://aws.amazon.com/resources/analyst-reports/isg/emea-ar-report-ardm-25-provider-lens-sovereign-cloud-infrastructure-services-eu/">2025 Provider Lens for Sovereign Cloud Infrastructure Services (EU)</a>. It evaluated 19 providers and <a href="https://aws.amazon.com/blogs/security/aws-named-leader-in-the-2025-isg-report-for-sovereign-cloud-infrastructure-services-eu/">named AWS a Leader</a> for the third year in a row, with the highest score on portfolio attractiveness, crediting a &#8220;sovereign-by-design architecture that ensures data residency and regional independence&#8221;. Note the timing: the report appeared on 9 January 2026, days before ESC became generally available. It reflects AWS&#8217;s sovereignty portfolio and roadmap before ESC went live, not ESC as it runs today, which makes it as much an endorsement of the commercial Regions&#8217; sovereignty controls as of ESC.</p>
<h2>Not going to ESC? The commercial Regions are not the non-sovereign option</h2>
<p>At the ESC launch, AWS itself said that &#8220;most customers are able to meet their requirements using one of the six existing AWS Regions in the EU&#8221;. There is evidence behind that.</p>
<p>On 22 September 2026, AWS <a href="https://www.aboutamazon.com/news/aws/aws-first-cloud-provider-nato-restricted-workloads">announced</a> that it is the first cloud provider whose services are approved for NATO RESTRICTED use by all NATO member nations. Spain&#8217;s National Cryptologic Centre (CCN) evaluated AWS against D32, NATO&#8217;s directive for handling NATO RESTRICTED information in public cloud, with AWS&#8217;s Trusted Secure Enclave Sensitive Edition as the baseline. Approved services can now be used at that level in any AWS Region located in a NATO member nation. Two caveats keep this honest. It is a pre-assessed baseline that gives Allies an accelerated path, not an accreditation of your system; that is still delegated to a member nation and/or the NATO Communications and Information Agency. And NATO RESTRICTED is NATO&#8217;s lowest classification level. One detail for Belgian readers: Frankfurt, Paris, Milan, Spain, Stockholm and London are in NATO member nations. Ireland, home of <code class="" data-line="">eu-west-1</code> and of many Belgian workloads, is not. Keep that in mind when designing your Region strategy.</p>
<p>The commercial Regions also carry the controls of the AWS Digital Sovereignty Pledge: the <strong>Nitro System</strong>, designed so that AWS operators cannot access customer content on EC2 instances, <a href="https://aws.amazon.com/blogs/compute/aws-nitro-system-gets-independent-affirmation-of-its-confidential-compute-capabilities/">reviewed by NCC Group</a> and <a href="https://aws.amazon.com/blogs/security/delivering-on-the-aws-digital-sovereignty-pledge-control-without-compromise/">written into the AWS Service Terms</a>; <strong>AWS KMS External Key Store</strong>, which keeps key material in an external key manager you operate outside AWS (AWS recommends it only where that is an explicit requirement, because if it goes down, so does everything that depends on it); <strong>Control Tower data residency controls</strong>, including Region deny per organisational unit; and <strong>Dedicated Local Zones</strong> for single-customer infrastructure where you need it.</p>
<p>So the realistic question is not &#8220;sovereign or not sovereign&#8221;. It is which risks you need to mitigate, and whether a partition boundary mitigates one that these controls cannot.</p>
<h2>Available is not the same as available</h2>
<p>This is where most ESC plans go wrong. A service on the ESC list does not mean the service you use in Frankfurt is there, with the features you use.</p>
<p>AWS&#8217;s <a href="https://aws.amazon.com/blogs/aws/introducing-aws-capabilities-by-region-for-easier-regional-planning-and-faster-global-deployments">Capabilities by Region</a> data, available in AWS Builder Center and through the AWS MCP servers, shows four states: Available, a directional launch quarter, Planning (&#8220;evaluating launch strategy&#8221;) and Not Expanding, which AWS defines as &#8220;will not launch in region&#8221;. For <code class="" data-line="">eusc-de-east-1</code>, at the time of writing:</p>
<ul>
<li><strong>Planned with a date:</strong> Amazon CloudFront (Q4 2026), Amazon Inspector and AWS Shield Advanced (Q1 2027).</li>
<li><strong>Planning, no date:</strong> AWS Application Migration Service. For a migration partner, that one stings: rehosting into ESC today means VM Import/Export, AWS Elastic Disaster Recovery or AWS DMS instead of MGN.</li>
<li><strong>Not Expanding:</strong> Amazon Detective, Amazon Security Lake, AWS CloudHSM, Amazon Textract, Amazon Q Developer and Amazon Elastic VMware Service, among others.</li>
</ul>
<p>The subtler gap is inside services that are available. DynamoDB is there; Global Tables are Not Expanding. Route 53 is there; domain registration is at Planning. S3 is there; Multi-Region Access Points are at Planning. EC2 is there; <a href="https://docs.aws.eu/esc/latest/userguide/ec2.html">Reserved Instances are not</a>, so EC2 commitments go through Savings Plans. Some of this follows logically from a single-Region partition and should change once ESC gets more Regions. Until then, it is a gap for an architecture designed in Frankfurt.</p>
<h3>Bedrock: the service is there, most of the models are not</h3>
<p>Amazon Bedrock is available in ESC. Its model catalogue, at the time of writing, is Amazon Nova Pro, Amazon Nova Lite and three <a href="https://aws.amazon.com/blogs/security/run-open-weight-models-on-aws-bedrock-in-aws-european-sovereign-cloud/">Gemma 4 variants</a> served through the OpenAI-compatible <code class="" data-line="">bedrock-mantle</code> endpoint. There are no Anthropic Claude models. Nova 2 Lite and open-weight models from Mistral AI and OpenAI were <a href="https://www.aboutamazon.eu/news/aws/sovereignty-without-compromise-whos-choosing-the-aws-european-sovereign-cloud">announced in May</a> for &#8220;the coming months&#8221; and have not arrived. Guardrails is available; Knowledge Bases, Agents and AgentCore are at Planning.</p>
<p>The Gemma 4 launch in September is the most practical AI building block in ESC today, and AWS&#8217;s <a href="https://aws.amazon.com/blogs/security/run-open-weight-models-on-aws-bedrock-in-aws-european-sovereign-cloud/">walkthrough</a> is worth reading. Three things stand out:</p>
<ul>
<li><strong>Open weights.</strong> Gemma 4 is released under Apache 2.0, so you can evaluate, benchmark and fine-tune the model yourself, without depending on a model provider&#8217;s roadmap. For a sovereignty discussion, that is an argument in its own right.</li>
<li><strong>How inference data is handled.</strong> AWS describes a zero operator access model, in which &#8220;no service operators can access model input or output during inference&#8221;, and zero data retention by default (with limited retention for abuse detection on some models). Every request stays in-Region in <code class="" data-line="">eusc-de-east-1</code>.</li>
<li><strong>An OpenAI-compatible endpoint.</strong> Existing OpenAI SDK code moves over by changing the base URL and the key:</li>
</ul>
<pre><code class="language-python" data-line="">import os
from openai import OpenAI

client = OpenAI(
    base_url=&quot;https://bedrock-mantle.eusc-de-east-1.api.amazonwebservices.eu/v1&quot;,
    api_key=os.environ[&quot;AWS_BEARER_TOKEN_BEDROCK&quot;],  # short-term Bedrock API key, valid up to 12 hours
)

response = client.responses.create(
    model=&quot;google.gemma-4-31b-it&quot;,
    input=&quot;Summarise this incident report in three bullet points.&quot;,
    store=False,
)
print(response.output_text)
</code></pre>
<p>The three variants cover the usual trade-offs: the 31B dense model for reasoning and coding (256K token context), the 26B-A4B mixture-of-experts model (3.8 billion active parameters per token) for cost-sensitive, high-throughput work, and the compact E2B for latency-sensitive or multimodal classification (128K context).</p>
<p>AWS has not said why, but part of the reason is structural. In Frankfurt, a model like Claude Sonnet 5.5 is <a href="https://docs.aws.amazon.com/bedrock/latest/userguide/model-card-anthropic-claude-sonnet-5-5.html">not served in-Region</a> at all: it runs through EU geographic cross-Region inference, which spreads requests over the EU Regions, or through global inference. ESC is one Region without cross-Region inference, so every model needs dedicated capacity in Brandenburg before it can appear. The catalogue will grow, but expect it to trail the commercial EU Regions at least until ESC has more than one Region. If your AI roadmap depends on frontier models, that alone may decide where those workloads live (see also <a href="https://cloudar.be/awsblog/when-the-model-goes-dark-keeping-your-ai-agent-available-on-amazon-bedrock/">When the model goes dark</a>).</p>
<p>The practical rule: write your requirements at feature level, check them against Capabilities by Region and the per-service difference pages of the ESC User Guide, then test. The two sources do not always agree, which tells you how fast this is moving.</p>
<h2>The ecosystem is not there yet</h2>
<p>ESC has its own AWS Marketplace, with more than 165 solutions by May 2026, but it is a separate catalogue: only SaaS and AMI products are supported, and a <a href="https://docs.aws.amazon.com/marketplace/latest/userguide/esc_seller_guide.html">SaaS listing</a> must be deployable in ESC and keep its data there. Some vendors have shipped: AWS reports SAP Cloud ERP Private as generally available on ESC, and Sumo Logic <a href="https://www.sumologic.com/newsroom/sumo-logic-launches-intelligent-security-operations-platform-on-aws-european-sovereign-cloud-to-support-security-data-sovereignty">launched</a> its security operations platform there in June. Many others have announced intent and not shipped. At the time of writing:</p>
<ul>
<li>Snowflake, announced in 2025 as preparing for ESC, does not list an ESC Region on its <a href="https://docs.snowflake.com/en/user-guide/intro-regions">supported-regions page</a>.</li>
<li>MongoDB said in 2025 it was preparing for ESC. The <a href="https://feedback.mongodb.com/ideas/CUSTOMER-I-10446">Atlas request</a> for <code class="" data-line="">eusc-de-east-1</code> is at &#8220;Future Consideration&#8221;, with MongoDB saying in February that it is actively evaluating support.</li>
<li>Trend Micro has <a href="https://www.trendmicro.com/de_de/about/newsroom/press-releases/2026/20260115-trend-micro-to-deploy-trend-vision-one-on-aws-european-sovereign-cloud.html">announced plans</a> for Vision One on ESC, without a date.</li>
<li>Datadog&#8217;s <a href="https://docs.datadoghq.com/api/latest/aws-integration/create-an-aws-integration/">AWS integration API</a> accepts the partitions <code class="" data-line="">aws</code>, <code class="" data-line="">aws-cn</code> and <code class="" data-line="">aws-us-gov</code>, not <code class="" data-line="">aws-eusc</code>.</li>
</ul>
<p>That is not a criticism of those vendors: building a SaaS control plane in a new partition is real work, and waiting for demand is a reasonable decision. But this gap matters more than most service gaps, for a reason that is easy to miss: <strong>your toolchain is inside your sovereignty boundary</strong>. ESC keeps your content and your metadata in the EU under EU operations. An observability, CSPM, backup or ITSM tool that reads your ESC accounts from a control plane outside the EU exports exactly what ESC was built to keep in. Before you design an ESC landing zone, list every tool that holds an IAM role in your accounts and check where each one runs.</p>
<h2>Commercial, ESC or hybrid: how to decide</h2>
<p>Start with the requirement, not the product. Three questions do most of the work.</p>
<ol>
<li><strong>Who requires sovereignty, and what exactly do they require?</strong> &#8220;Customer content stays in the EU&#8221; is met by any EU Region. &#8220;Only EU-resident staff operate the systems&#8221;, &#8220;customer-created metadata stays in the EU&#8221; or &#8220;the service keeps running when cut off from non-EU infrastructure&#8221; are where ESC earns its place. &#8220;A European-owned operator&#8221; is met by neither ESC nor any other US-parented option.</li>
<li><strong>Does the workload fit inside today&#8217;s ESC?</strong> Services, features, models and every SaaS tool in the path.</li>
<li><strong>Which data actually needs it?</strong> Data classification, not the application map, should draw the line.</li>
</ol>
<p>The answer usually lands in one of three shapes.</p>
<table>
<thead>
<tr>
<th></th>
<th>Full commercial (EU Regions)</th>
<th>Full ESC</th>
<th>Hybrid</th>
</tr>
</thead>
<tbody>
<tr>
<td>Fits when</td>
<td>The requirement is residency, encryption and access control, and you need the full catalogue, frontier models and ecosystem</td>
<td>The requirement is EU-only operation and governance for the whole estate, and the workload fits today&#8217;s catalogue</td>
<td>A defined set of data needs ESC, and the rest benefits from commercial breadth</td>
</tr>
<tr>
<td>Typical examples</td>
<td>Most enterprise workloads, AI on frontier models, NATO RESTRICTED in NATO-country Regions</td>
<td>Public sector, critical infrastructure, defence supply chain, regulated greenfield platforms</td>
<td>A regulated core system or data store in ESC; analytics, AI and customer-facing apps in commercial</td>
</tr>
<tr>
<td>Watch out for</td>
<td>Sovereignty controls that are available but not enforced (Region deny, customer-managed keys, organisation-wide logging)</td>
<td>Missing services and tools, a single Region (for now)</td>
<td>The boundary leaking: sensitive data processed in commercial anyway</td>
</tr>
<tr>
<td>Relative cost</td>
<td>Baseline</td>
<td>Unit premium, plus migration into a new partition</td>
<td>Unit premium on the ESC part, plus duplication and integration, which can exceed the premium of full ESC</td>
</tr>
</tbody>
</table>
<p>AWS&#8217;s architecture guidance adds a fourth pattern: <a href="https://aws.amazon.com/blogs/architecture/sovereign-failover-design-for-digital-sovereignty-using-the-aws-european-sovereign-cloud/">ESC as a sovereign failover target</a>, with production in a commercial Region and backups, a pilot light or a warm standby in ESC. If your concern is geopolitical or legal disruption rather than day-to-day operation, backups or a tested pilot light are often the cheapest way to buy that exit option.</p>
<p>Whatever the shape, one rule decides whether hybrid works: the boundary has to follow the data. If the data you put in ESC gets copied into commercial for a dashboard, a model prompt or a support ticket, you have paid for the partition and kept the risk.</p>
<h2>Hybrid means two clouds, and you pay for both</h2>
<p>A hybrid estate is not one AWS environment with an extra Region. It is two environments that share an API style. AWS&#8217;s <a href="https://aws.amazon.com/blogs/security/architecting-a-secure-landing-zone-in-the-aws-european-sovereign-cloud/">ESC landing zone guidance</a> is explicit: a role in <code class="" data-line="">aws</code> cannot assume a role in <code class="" data-line="">aws-eusc</code> (or the reverse), and VPC peering, Transit Gateway, AWS RAM, S3 replication, ECR replication, AMI copy and VPC endpoints do not cross the boundary. In practice that means:</p>
<ul>
<li><strong>Two organisations, two landing zones</strong>, each with its own management account, guardrails, logging and security services.</li>
<li><strong>Identity configured twice</strong>: a second IAM Identity Center instance federated to the same corporate identity provider, and CI/CD with one OIDC trust per partition, or a deployment plane inside ESC.</li>
<li><strong>Networking through the front door</strong>: TLS over the internet, Site-to-Site VPN or a separate Direct Connect connection. A commercial Direct Connect gateway cannot be extended into ESC.</li>
<li><strong>A separate supply chain</strong>: images and AMIs rebuilt or re-signed inside ESC rather than replicated, and certificates per partition.</li>
<li><strong>Infrastructure as code that knows about partitions.</strong> Anything that hardcodes <code class="" data-line="">arn:aws:</code> breaks. Cheap to fix early, expensive to fix late:</li>
</ul>
<pre><code class="language-yaml" data-line=""># CloudFormation: let the template resolve the partition
Resource: !Sub &quot;arn:${AWS::Partition}:s3:::${BucketName}/*&quot;
</code></pre>
<pre><code class="language-hcl" data-line=""># Terraform: same idea
data &quot;aws_partition&quot; &quot;current&quot; {}

locals {
  bucket_arn = &quot;arn:${data.aws_partition.current.partition}:s3:::${var.bucket_name}&quot;
}
</code></pre>
<p>Service endpoints move to <code class="" data-line="">amazonaws.eu</code>, but IAM service principals such as <code class="" data-line="">lambda.amazonaws.com</code> stay on <code class="" data-line="">amazonaws.com</code> in both partitions.</p>
<p>Then there is the bill, where three costs stack up.</p>
<p><strong>The unit price.</strong> ESC list prices are set in euro, at a figure slightly below the dollar price in Frankfurt. Lambda in ESC <a href="https://aws.eu/lambda/pricing/">costs</a> €0.0000164477 per GB-second against a <a href="https://aws.amazon.com/lambda/pricing/">commercial list price</a> of $0.0000166667 in Frankfurt: about 1.3% lower as a number, but in a stronger currency. In dollar terms the premium is the exchange rate times 0.987, minus one: around 8.5% at 1.10 dollars per euro, around 18% at 1.20. A <a href="https://www.tecracer.com/blog/2026/01/aws-european-sovereign-cloud-esc-launch-pricing-and-whats-next.html">tecRacer comparison</a> at launch, against Frankfurt, found roughly 15% across S3, FSx, EC2, Lambda, RDS and DynamoDB. Compared with Ireland, EC2 comes out higher, because Ireland is cheaper than Frankfurt to begin with. The flip side: commercial Regions can invoice in euro, but their prices are set in dollars and converted at the exchange rate of the invoice date. ESC list prices are set in euro, so the bill carries no currency risk, which some finance teams will value.</p>
<p><strong>The commitment model.</strong> No EC2 Reserved Instances; EC2 commitments go through Savings Plans. Check the commitment options per service before you port an RI-based FinOps practice.</p>
<p><strong>The duplication.</strong> A second landing zone, a second security tooling stack, a second identity configuration, a support plan in the second partition, data between partitions billed as data transfer out on the sending side, and the people who run it all. For a small ESC footprint, this fixed overhead easily exceeds the premium on the workload itself.</p>
<p>Which means hybrid is not automatically the cheaper option. When the workloads that could stay in commercial are small, or tightly coupled to the ones that must move, running two clouds and the integration between them can cost more than putting everything in ESC and paying the premium on the lot. Run both numbers before you decide to split.</p>
<p>ESC costs a little more per unit and a lot more per boundary. Put as little behind the boundary as your requirement allows, unless the boundary itself costs more than the premium you are trying to avoid.</p>
<h2>Where Cloudar fits</h2>
<p>This is the part where we talk about ourselves, so read it with that in mind. Cloudar is an ESC launch partner, holds the AWS Digital Sovereignty Competency, delivers Partner-Led Support in the AWS European Sovereign Cloud, and has built landing zones in the <code class="" data-line="">aws-eusc</code> partition. That work has taught us that the hard part is rarely the ESC technology. It is keeping the moving parts consistent, so we have organised our work around the four questions customers actually ask:</p>
<table>
<thead>
<tr>
<th>Service</th>
<th>The question it answers</th>
<th>What you get</th>
</tr>
</thead>
<tbody>
<tr>
<td>Sovereignty Assessment</td>
<td>Do we need ESC at all?</td>
<td>Risk analysis, data classification and a placement decision (commercial, ESC or hybrid), mapped to your NIS2, DORA or tender requirements</td>
</tr>
<tr>
<td>ESC Readiness Assessment</td>
<td>Can our workloads move?</td>
<td>A gap analysis at service, feature and tooling level, including every SaaS tool that holds a role in your accounts</td>
</tr>
<tr>
<td>ESC Landing Zone</td>
<td>How do we build it securely?</td>
<td>Architecture, automation and governance for the <code class="" data-line="">aws-eusc</code> partition, plus the identity and network links to your commercial estate</td>
</tr>
<tr>
<td>Sovereign Managed Services</td>
<td>Who runs it?</td>
<td>Monitoring, security, compliance and FinOps for the sovereign estate, backed by Partner-Led Support in ESC, and placements that move as the gap list shrinks</td>
</tr>
</tbody>
</table>
<p>Start with the Sovereignty Assessment. It is the step most organisations skip, and it decides whether the other three are needed at all. For many organisations the answer will be to stay in the commercial Regions with the right controls enforced. That is a valid outcome, and we will tell you so.</p>
<h2>Saturday 24 October: AWS pulls the cable</h2>
<p>Claims about operational independence are easy to write and hard to verify, so AWS is going to <a href="https://aws.amazon.com/blogs/security/aws-european-sovereign-cloud-demonstrating-an-independent-operation/">test one in public</a>. On Saturday 24 October 2026, for several hours, ESC will run without its connection to the AWS Global Network backbone, the private network that normally carries authorised operational data between AWS locations. A dedicated system that handles limited, controlled transfers of operational data will be fully disabled, and traffic moves to ESC&#8217;s own internet connectivity from European ISPs. The exercise was called for by ESC&#8217;s managing directors and is run by a team made up entirely of EU residents.</p>
<p><strong>What to expect.</strong> AWS says service availability inside ESC, other Regions and Direct Connect are not affected, but there may be brief connectivity disruptions at the start and end while routes converge on other networks. If you run cross-partition integrations over the internet or VPN, keep an eye on your monitoring that weekend.</p>
<p><strong>What it proves.</strong> AWS designed the exercise to be consistent with the Commission&#8217;s Cloud Sovereignty Framework and BSI&#8217;s C3A, and will share an update with regulators and customers afterwards. That is the kind of evidence those frameworks ask for, and more than a policy document can offer.</p>
<p>Which brings us back to where we started. ESC is not the answer to every sovereignty question, and it is not just a label either. It is a partition: real operational separation, real gaps, real costs. The question is not whether ESC is sovereign enough. It is which of your data needs a partition, and whether you are prepared to run two clouds to give it one.</p>
<p><em>Service, feature and model availability in this post was checked against AWS Capabilities by Region, the ESC User Guide and the Amazon Bedrock model documentation on 16 October 2026. ESC is changing quickly; check before you plan.</em></p>
<p><em>Gartner, Magic Quadrant for Strategic Cloud Platform Services, 1 September 2026. Gartner does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings or other designation. Gartner research publications consist of the opinions of Gartner&#8217;s research organisation and should not be construed as statements of fact. GARTNER and MAGIC QUADRANT are registered trademarks of Gartner, Inc. and/or its affiliates.</em></p>
<p><em>ISG Provider Lens, Multi Public Cloud Services, Sovereign Cloud Infrastructure Services (EU), 2025. ISG does not endorse any vendor, product or service depicted in its research publications, and does not advise technology users to select only those vendors with the highest ratings. ISG research publications consist of the opinions of ISG&#8217;s research organisation and should not be construed as statements of fact.</em></p>
<p>The post <a href="https://cloudar.be/awsblog/the-aws-european-sovereign-cloud-is-a-partition-not-a-setting-here-is-how-to-decide-whether-you-need-it/">The AWS European Sovereign Cloud is a partition, not a setting. Here is how to decide whether you need it.</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Broadcom just removed the VDDK. Here is how you still get from VMware to AWS.</title>
		<link>https://cloudar.be/awsblog/broadcom-just-removed-the-vddk-here-is-how-you-still-get-from-vmware-to-aws/</link>
		
		<dc:creator><![CDATA[Tom De Blende]]></dc:creator>
		<pubDate>Tue, 08 Sep 2026 08:18:39 +0000</pubDate>
				<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Broadcom]]></category>
		<category><![CDATA[MGN]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[VMware]]></category>
		<guid isPermaLink="false">https://cloudar.be/?p=22825</guid>

					<description><![CDATA[<p>Broadcom pulled the public VDDK downloads on 25 August 2026, which breaks AWS MGN agentless replication for any new install. Here is what still works, with the concrete AWS paths off vSphere.</p>
<p>The post <a href="https://cloudar.be/awsblog/broadcom-just-removed-the-vddk-here-is-how-you-still-get-from-vmware-to-aws/">Broadcom just removed the VDDK. Here is how you still get from VMware to AWS.</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>On 25 August 2026, the public download pages for the VMware Virtual Disk Development Kit disappeared. Every URL on developer.broadcom.com that used to serve a VDDK tarball now returns a 404 or a JSON error, tested from multiple regions. There was no deprecation notice, no transition period, no archive and no replacement. Customers who opened support cases have been told, in writing, that the VDDK is no longer available for use or download, and that Broadcom maintains its SDKs for authorised technology alliance partners building backup and recovery software.</p>
<p>If you have never heard of the VDDK, that is normal. It is a C library, not a product. It is also the component that lets software outside the hypervisor open a VMDK and read blocks out of it. Combined with Changed Block Tracking, it is what makes agentless migration and agentless backup possible at all. Take it away and a large part of the tooling that reads VMware disks from the outside stops being installable.</p>
<p>Plenty of platforms are affected. This post is only about one of them: AWS. If you are running vSphere and you have been telling yourself that the migration project can wait another budget cycle, this is the part where the calculation changes.</p>
<h2>What actually broke on the AWS side</h2>
<p>AWS Transform MGN, still widely known as AWS Application Migration Service, offers two replication methods for VMware sources.</p>
<p><strong>Agentless snapshot-based replication</strong> runs through the MGN vCenter Client, a software bundle you install on a dedicated Linux VM inside your vSphere environment. It discovers your VMs through vCenter, then for each replication run it takes a VMware snapshot, uses CBT to work out which blocks changed, and reads those blocks with the VDDK before shipping them to AWS.</p>
<p>The VDDK is not bundled with the client. It cannot be, because the licence forbids redistribution. You supply it yourself. The AWS documentation is explicit about the version:</p>
<blockquote><p>You must log in to your Broadcomm account and download VDDK 7.0.3.3 to the VM on which the MGN vCenter Client is installed. VDDK 7.0.3.3 must be used, regardless of the vCenter version used.</p></blockquote>
<p>The installer takes it as a parameter, <code class="" data-line="">--vddk-path</code>, pointing at the tarball on local disk.</p>
<p>That is the whole problem in one line. VDDK 7.0.3.3 is a 7.0 line release. The 7.x downloads were already unreliable before August, and now the entire download tree is gone. As of writing, that documentation page is unchanged and still tells you to go and fetch a file that cannot be fetched. AWS has published nothing about the change: no bulletin, no what&#8217;s-new post, no documentation update. So a customer starting a greenfield agentless deployment today follows the runbook, hits a dead link at step four, and has no official guidance telling them why.</p>
<p><strong>Agent-based replication</strong> installs the AWS Replication Agent inside the guest OS. It reads blocks through its own kernel-level driver, talks directly to a replication server in your staging subnet, and never touches the VDDK, vCenter or VMware snapshots. Nothing about it changed on 25 August.</p>
<p>Two things follow from that, and they matter more than the headlines suggest.</p>
<p>First, the practical damage on AWS is narrower than on platforms whose only migration path was VDDK-based. AWS&#8217;s own FAQ has said for years that agent-based replication is the default recommendation for all use cases, with agentless reserved for the exceptions: security policy that forbids installing agents, or an OS the agent does not support. The supported operating system lists for the two methods are in fact identical, so in practice the exception is almost always the policy one. Broadcom removed AWS&#8217;s fallback, not its main road.</p>
<p>Second, &#8220;narrower&#8221; is not &#8220;none&#8221;. If you are the organisation whose change board does not allow third-party agents in the guest, or you inherited an estate where nobody has working credentials for a few hundred VMs, agentless was the answer and it is now gone for new installs.</p>
<p>One nuance worth stating plainly because we have not seen AWS confirm it: an existing vCenter Client installation already has the VDDK on disk, and the client auto-updates itself independently of the VDDK. Running replications are not expected to break. But rebuild that VM, move to a new AWS account, or add a second vCenter environment, and you are back at the 404. Treat every existing vCenter Client as a single point of failure you can no longer reprovision.</p>
<h2>Four routes to AWS that do not need a download from Broadcom</h2>
<h3>1. Agent-based MGN, deployed at scale with the MGN connector</h3>
<p>The reflex objection to agent-based migration is that somebody has to log into every VM. That was true a few years ago. It is not the current state of the tooling, and this is the single most useful thing to know if the VDDK removal is what pushed you into a decision.</p>
<p>The MGN connector is a Linux VM in your source environment, registered to AWS through a Systems Manager hybrid activation, that pushes the replication agent out to your source servers for you. You give it network reachability to the sources and a set of source credentials in AWS Secrets Manager, and it handles prerequisite validation, installation on both Windows and Linux, and post-install verification. Installation of the connector itself takes a couple of minutes and is a one-time task per source environment. AWS Transform will now generate the IAM roles, the hybrid activation code and the ready-to-run install command for you through its console flow, or hand you a CloudFormation template if you would rather own the IAM yourself.</p>
<p>For the servers the connector cannot reach, the manual install is a single command. On Linux:</p>
<pre><code class="language-bash" data-line="">wget -O ./aws-replication-installer-init \
  https://aws-application-migration-service-eu-west-1.s3.eu-west-1.amazonaws.com/latest/linux/aws-replication-installer-init

chmod +x aws-replication-installer-init

sudo ./aws-replication-installer-init \
  --region eu-west-1 \
  --user-provided-id vm-prod-app-014 \
  --no-replication \
  --no-prompt
</code></pre>
<p>Two flags earn their keep on a large migration. <code class="" data-line="">--user-provided-id</code> sets the identifier MGN uses to recognise the server consistently, which is also what AWS Transform keys on when it maps your inventory into wave plans, so set it at install time rather than trying to reconcile later. <code class="" data-line="">--no-replication</code> installs without starting the data flow, which lets you pre-stage agents across hundreds of servers and then switch on replication wave by wave instead of saturating your uplink and your MGN quotas on day one.</p>
<p>Validate the installer hash before you push it estate-wide. It is published per region alongside the binary.</p>
<p>What you need in place, and what tends to be the actual project work rather than the agent install:</p>
<ul>
<li>Outbound TCP 443 from every source server to the regional MGN endpoint, and TCP 1500 to the replication servers in your staging subnet. PrivateLink over Direct Connect or Site-to-Site VPN if the data must not cross the internet.</li>
<li>A staging area subnet with routing to S3, since the replication server fetches its own components from there. This is the single most common cause of a replication that installs cleanly and then stalls.</li>
<li>Root or administrator on each guest. The Linux installer creates an <code class="" data-line="">aws-replication</code> user and adds it to sudoers, and fails if it cannot.</li>
<li>Kernel headers on the Linux guests matching the running kernel.</li>
</ul>
<p>The compensation for the extra guest-level work is real: continuous block-level replication rather than periodic snapshot shipping, which means a cutover window measured in minutes instead of waiting for a final snapshot to complete, and no VMware snapshots sitting on your production datastores slowing disk performance during the whole migration.</p>
<h3>2. The cached tarball, with a caveat you should not skip</h3>
<p>If someone in your organisation still has <code class="" data-line="">VMware-vix-disklib-7.0.3.3-*.tar.gz</code> on a build host, a backup appliance or an old runbook attachment, it will still work. The installer only wants a path. Checksums for the 7.0 and 8.0 lines are recoverable from cached copies of the portal, so verify what you hold rather than trusting the filename.</p>
<p>The caveat: Broadcom&#8217;s own wording to customers is that the VDDK is no longer available for use or download. Not just download. We are not lawyers and this is not legal advice, but if your plan depends on a cached copy of a proprietary library whose vendor has just told customers it is not available for use, that is a question for your legal team before it becomes a question for your auditor. Ask it now, not the week before cutover.</p>
<h3>3. Offline export through VM Import/Export</h3>
<p>This is the path that needs no VDDK and no agent at all. Export the VM from vSphere as an OVA or a stream-optimised VMDK using vCenter&#8217;s own export function or OVF Tool, upload it to S3, and import it as an AMI:</p>
<pre><code class="language-bash" data-line="">aws ec2 import-image \
  --disk-containers Format=ova,UserBucket=&quot;{S3Bucket=my-import-bucket,S3Key=vms/app014.ova}&quot;
</code></pre>
<p>You need an IAM service role named <code class="" data-line="">vmimport</code> with a trust policy for <code class="" data-line="">vmie.amazonaws.com</code> and permissions on the source bucket and on EC2. Supported input formats are OVA, VMDK, VHD, VHDX and raw.</p>
<p>Be honest with yourself about what this path costs before you make it the plan for more than a handful of servers:</p>
<ul>
<li>No CBT, so every attempt is a full copy. A failed import is a full re-copy.</li>
<li>Staging storage for the exports, on-premises and in S3, sized for your largest VMs.</li>
<li>Real downtime, because you export a powered-off or quiesced VM and there is no delta sync afterwards.</li>
<li>Genuine limitations. VMs using Raw Device Mapping are not supported, only VMDK disk images. Encrypted volumes are not supported. Dual-boot configurations are not supported. Neither is the VMware SEsparse delta-file format, nor arm64. Machines that got where they are through a physical-to-virtual conversion are not supported. There is a defined supported-OS matrix and older or unusual guests fall outside it.</li>
</ul>
<p>VM Import/Export is a good tool for a controlled set of appliances and stragglers. It is not a replacement for a replication-based migration of a few hundred workloads, and anyone who tells you otherwise has not tried it at that scale.</p>
<h3>4. Stop moving the VM</h3>
<p>The uncomfortable observation in a lot of migration assessments is that a meaningful slice of the estate should not be rehosted at all. A file server becomes Amazon FSx or S3 with DataSync doing the copy. A SQL Server or Oracle instance becomes an RDS instance with AWS DMS handling the load and change data capture. An application server that was built by hand in 2016 gets rebuilt from a pipeline, which is faster than debugging why its agent will not install.</p>
<p>None of those paths care about the VDDK, because none of them read the virtual disk. If your agentless plan just died, this is a good moment to re-run the assessment and ask which VMs you were only lifting because lifting looked cheap.</p>
<h2>What to do in the next two weeks</h2>
<ol>
<li><strong>Inventory what you hold.</strong> Search your build hosts, backup appliances and documentation attachments for VDDK tarballs. Checksum them. Treat them as assets with an expiry date, and get the licensing question in front of legal.</li>
<li><strong>Check whether you actually have an existing vCenter Client.</strong> If yes, freeze it. No rebuilds, no account moves, no second environment, until you have a tested alternative.</li>
<li><strong>Test the agent on your hardest 5 percent.</strong> Not your easy Linux fleet. The 2012 R2 box nobody logs into, the appliance with a vendor-locked OS, the VM whose kernel headers are missing. Those are the servers that will decide whether agent-based works for you, and you want to know in September, not in March.</li>
<li><strong>Exercise the OVA path once, deliberately.</strong> Export one real VM, import it, boot it, log in. A fallback you have never run is not a fallback.</li>
<li><strong>Put the date on the wall.</strong> General support for vSphere 8 ends on 11 October 2027, with technical guidance running to 2029. That is your outer bound, and it is closer than it looks once you subtract assessment, network design, wave planning and testing.</li>
</ol>
<h2>The pattern is the point</h2>
<p>Broadcom is reportedly bringing back a refreshed vSphere Standard aimed at smaller estates, discussed in interviews at VMware Explore rather than announced from a stage, with details promised in October. Read alongside the VDDK removal, the two moves are hard to reconcile as a coherent retention strategy. One says come back, the smaller edition is being looked after. The other quietly removes a dependency that the entire third-party exit ecosystem was built on, with no notice and no replacement.</p>
<p>Whatever the intent, the operational conclusion is the same. The technical routes off vSphere are being narrowed, not widened, and they are being narrowed without warning. The VDDK went away on a Tuesday. Nothing says the next dependency will give you more notice.</p>
<p>If you are going to leave, the cost of leaving is lowest while you still have working tooling, a supported hypervisor version, and time to test. That window is not open indefinitely.</p>
<h2>Where Cloudar fits</h2>
<p>We have done this often enough to know which parts of a VMware to AWS migration are the hard parts, and the disk copy is rarely one of them. The hard parts are the dependency mapping nobody documented, the network translation, the wave sequencing, the servers that resist every automated approach, and the operational handover afterwards. We work through those with AWS Transform and MGN where they fit, and around them where they do not.</p>
<p>If the VDDK removal has just invalidated your migration plan, or if it has made you realise you did not have one, <a href="https://cloudar.be/services-solutions/aws-migration-expertise-guidance/">our AWS migration practice</a> is the place to start. We are an AWS Premier Partner and Migration Competency partner based in Belgium, and we would rather assess your estate honestly than sell you a lift-and-shift you will regret.</p>
<p>For the strategic side of the same question, why the timing of your VMware exit matters as much as the mechanics, see <a href="https://cloudar.be/awsblog/leaving-vmware-is-a-question-of-timing/">Leaving VMware is a question of timing</a>.</p>
<p><em>All AWS documentation references were verified on 8 September 2026. AWS had published no guidance on the VDDK removal at that point, and the MGN vCenter Client requirements page still instructed customers to download VDDK 7.0.3.3 from Broadcom.</em></p>
<p>The post <a href="https://cloudar.be/awsblog/broadcom-just-removed-the-vddk-here-is-how-you-still-get-from-vmware-to-aws/">Broadcom just removed the VDDK. Here is how you still get from VMware to AWS.</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Back to on-prem?</title>
		<link>https://cloudar.be/awsblog/back-to-on-prem/</link>
		
		<dc:creator><![CDATA[Tom De Blende]]></dc:creator>
		<pubDate>Sun, 07 Jun 2026 12:14:49 +0000</pubDate>
				<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[Cost Optimization]]></category>
		<category><![CDATA[FinOps]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[DevOps]]></category>
		<guid isPermaLink="false">https://cloudar.be/?p=22733</guid>

					<description><![CDATA[<p>For years, the playbook looked like this: take your existing workloads and move them to the cloud. Lift &#38; shift. Fast, manageable, low risk. For many organisations, it was a logical first step: migrate without having to rethink everything at once. The problem? For most organisations, it delivered exactly what you&#8217;d expect when you relocate [&#8230;]</p>
<p>The post <a href="https://cloudar.be/awsblog/back-to-on-prem/">Back to on-prem?</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p id="ember897" class="ember-view reader-text-block__paragraph">For years, the playbook looked like this: take your existing workloads and move them to the cloud. Lift &amp; shift. Fast, manageable, low risk. For many organisations, it was a logical first step: migrate without having to rethink everything at once.</p>
<p id="ember898" class="ember-view reader-text-block__paragraph">The problem? For most organisations, it delivered exactly what you&#8217;d expect when you relocate an existing environment to a new address: the same bottlenecks, the same inefficiencies, the same complexity. Just with a monthly invoice attached. Fast forward to today.</p>
<p id="ember900" class="ember-view reader-text-block__paragraph"><strong>The invoice as a symptom</strong></p>
<p id="ember901" class="ember-view reader-text-block__paragraph">The appeal of lift &amp; shift is understandable. No fundamental architecture changes. Limited impact on running applications. Minimal business disruption. A fast time-to-cloud that was easy to sell internally. For a specific type of workload &#8211; end-of-life systems or legacy environments you&#8217;rewinding down in the short term &#8211; it&#8217;s still a legitimate tactic today. Especially if it lets you shut down an entire data centre. But as a migration strategy, it&#8217;s postponement, not a real solution.</p>
<p id="ember902" class="ember-view reader-text-block__paragraph">On-prem systems were designed for a world of fixed capacity. Servers run continuously whether the load justifies it or not. Redundancy lives in hardware, not in design. The economic logic of cloud is precisely the opposite: you pay for what you use and scale to what you need. That partnership between IT and Finance has a name: FinOps. The discipline that ties cloud spending to actual business value. Bringing an on-prem architecture to the cloud unchanged means importing the inefficiencies of the old model into an environment that was never built for them. And paying for that continuously.</p>
<p id="ember903" class="ember-view reader-text-block__paragraph">In practice, this means: virtual machines running 24/7 when the workload doesn&#8217;t require it (<em>idle resources</em>), storage not tiered by access frequency, and applications moving data unnecessarily between regions or availability zones, each generating data transfer costs. Without FinOpsdiscipline, no one in the organisation has a clear picture of what the cloud actually costs per application, per team, or per business unit.</p>
<p id="ember904" class="ember-view reader-text-block__paragraph">The result is an invoice that runs higher than the data centre you left, with less flexibility than you expected. Not because cloud is too expensive. But because you never made the shift from ‘infrastructure in the cloud’ to ‘cloud-native architecture with cost accountability’.On-prem doesn&#8217;t fix that. It just moves the problem and adds five-to-seven-year hardware depreciation cycles to the books. The costs become slightly less visible, but you&#8217;ll feel them regardless. Especially as hardware prices keep climbing due to supply constraints.</p>
<p id="ember905" class="ember-view reader-text-block__paragraph"><strong>KarmAI</strong></p>
<p id="ember906" class="ember-view reader-text-block__paragraph">For years, the architectural debt of lift &amp; shift was a slow-burning problem. Systems ran, bills were higher than expected, but business carried on. AI has changed that. Not gradually, but abruptly.</p>
<p id="ember907" class="ember-view reader-text-block__paragraph">AI workloads require infrastructure that is fundamentally different from what classic enterprise applications need. Data must be accessible easily and at scale, not locked in legacy storage structures that were once migrated one-to-one. Integration with managed services like Amazon Bedrockworks better when your environment is built on cloud-native standards. AI workloads also have a volatile cost profile: a training job or inference spike can consume more in hours than a classic application does in a month. Without FinOps mechanisms to monitor, cap, and allocate those spikes, you lose all control over your AI budget.</p>
<p id="ember908" class="ember-view reader-text-block__paragraph">But that&#8217;s only the short-term pain. Because organisations that did lift &amp; shift also migrated their data mess along with everything else. No proper classification, no clear ownership, no consistent structure. For classic applications, that was annoying but manageable. For AI, it&#8217;s fatal. You can&#8217;tfine-tune a language model on unstructured data scattered across poorly managed cloud systems. You can&#8217;t build a RAG architecture if you don&#8217;t know where your data lives or what its quality is.</p>
<p id="ember909" class="ember-view reader-text-block__paragraph">Organisations that are serious about AI are being forced to revisit their cloud architecture anyway. What once looked like a technical problem has become a strategic delay&#8230; right at the moment AI is starting to make the competitive difference. And organisations that now decide to return to on-prem entirely will only widen that gap.</p>
<p id="ember910" class="ember-view reader-text-block__paragraph"><strong>On-prem is capitulation</strong></p>
<p id="ember911" class="ember-view reader-text-block__paragraph">Organisations considering cloud repatriation today are asking themselves the wrong question. Because the discussion isn&#8217;t really about cloud versus on-prem. It&#8217;s about focus and resource allocation: what does your organisation actually need, and are you capable of managing it well?</p>
<p id="ember912" class="ember-view reader-text-block__paragraph">Is it five to midnight for some organisations? Yes. But for those who commit to a cloud-native approach, it will become clear that cloud was the right choice all along. And that anyone thinking about repatriation today will find there&#8217;s still a great deal of cloud potential left untapped.</p>
<p id="ember913" class="ember-view reader-text-block__paragraph">If the cloud hasn&#8217;t delivered on its original promises, it&#8217;s usually because the architecture never became truly cloud-native. Data that was never properly structured. FinOps discipline that was never built in: no centralised cost reporting, no shared accountability between IT and business, no culture where teams think about the cost of what they build and run. And a mindset that carried on-prem patterns into an environment where they don&#8217;t belong.</p>
<p id="ember914" class="ember-view reader-text-block__paragraph">You don&#8217;t solve those problems by switching environments. You solve them by acknowledging them and addressing them. And that can absolutely be done in the cloud&#8230; if you&#8217;re willing to do it differently this time.</p>
<p>The post <a href="https://cloudar.be/awsblog/back-to-on-prem/">Back to on-prem?</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>The Hidden Cost of Convenience</title>
		<link>https://cloudar.be/awsblog/the-hidden-cost-of-convenience/</link>
		
		<dc:creator><![CDATA[Tom De Blende]]></dc:creator>
		<pubDate>Fri, 17 Oct 2025 11:23:39 +0000</pubDate>
				<category><![CDATA[MSP]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Managed Services]]></category>
		<guid isPermaLink="false">https://cloudar.be/?p=22650</guid>

					<description><![CDATA[<p>When choosing an AWS Managed Service Provider (MSP), most organizations focus on immediate benefits: faster deployment, expert guidance, and managed operations. But there&#8217;s a critical question that often gets overlooked until it&#8217;s too late: What happens when you want to leave? In the AWS ecosystem, MSPs take vastly different approaches when building customer-specific landing zones [&#8230;]</p>
<p>The post <a href="https://cloudar.be/awsblog/the-hidden-cost-of-convenience/">The Hidden Cost of Convenience</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>When choosing an AWS Managed Service Provider (MSP), most organizations focus on immediate benefits: faster deployment, expert guidance, and managed operations. But there&#8217;s a critical question that often gets overlooked until it&#8217;s too late: <strong>What happens when you want to leave?</strong></p>
<p>In the AWS ecosystem, MSPs take vastly different approaches when building customer-specific landing zones and cloud management platforms. Some approaches preserve your freedom and flexibility. Others quietly build the walls of a gilded cage.</p>
<h1><strong>The Two Paths: Open Standards vs. Proprietary Platforms</strong></h1>
<h2><em><strong>The Open Approach: AWS Landing Zone Accelerator (LZA)</strong></em></h2>
<p>AWS Landing Zone Accelerator represents the gold standard for customer independence. As an open-source solution built on AWS CDK and CloudFormation, we deploy LZA to provide several critical advantages:</p>
<ul>
<li><strong>Complete transparency</strong>: All infrastructure is defined as code that you can read, understand, and modify</li>
<li><strong>No licensing fees</strong>: Open-source with no proprietary components</li>
<li><strong>AWS-maintained</strong>: Continuously updated by AWS to keep up to date with new services and features</li>
<li><strong>Industry standard configuration:</strong> With multiple documented sample configurations, you do not need to start from scratch.</li>
<li><strong>Full customer ownership</strong>: Deployed directly into your environment with complete access to the Infrastructure as Code</li>
<li><strong>Exit-ready from day one</strong>: If you ever want to manage it yourself or switch MSPs, you own your landing zone configuration</li>
</ul>
<p>At Cloudar, we&#8217;ve built an entire landing zone practice around LZA precisely because we believe customers should never feel trapped. Your AWS foundation should be an asset you own, not a chain that binds you to any single provider.</p>
<h2><em><strong>The Proprietary Approach: Custom Orchestration Platforms</strong></em></h2>
<p>In contrast, many MSPs have developed proprietary cloud management platforms that create significant lock-in. These are often marketed as &#8220;revolutionary&#8221; or &#8220;next-generation&#8221; platforms that promise to make cloud management easier with &#8220;just a few simple clicks&#8221; or web-based portals that abstract away complexity.</p>
<p>The convenience is real. The long-term cost is hidden.</p>
<p>Here&#8217;s what proprietary platforms typically involve:</p>
<ul>
<li><strong>Black box deployment</strong>: Resources are created through proprietary tooling that abstracts away the underlying infrastructure</li>
<li><strong>Dependency on custom APIs</strong>: Your operations become dependent on the MSP&#8217;s platform rather than native AWS tools</li>
<li><strong>Limited portability</strong>: Moving to another MSP or bringing management in-house requires re-platforming</li>
<li><strong>Knowledge gap</strong>: Your team never develops deep expertise in AWS native tools because they&#8217;re shielded by the abstraction layer</li>
<li><strong>Commercial leverage</strong>: The MSP knows that switching costs are high, affecting pricing negotiations and service quality over time</li>
</ul>
<h1><strong>The Lock-in Mechanisms You Need to Watch For</strong></h1>
<ol>
<li><strong> Custom Landing Zones Without Source Code Access</strong></li>
</ol>
<p>Some MSPs deploy your resources using &#8220;their&#8221; landing zone—a pre-configured multi-account setup built with proprietary Infrastructure as Code that remains their intellectual property. When you want to leave, you inherit an AWS environment you don&#8217;t fully understand, configured by tools you can&#8217;t access.</p>
<p><strong>The Cloudar difference</strong>: We can deploy LZA directly into your AWS accounts. Every CloudFormation stack, every configuration file, every security baseline—you have access to it all.</p>
<ol start="2">
<li><strong> Web-Based Orchestrators That Become Operational Chokepoints</strong></li>
</ol>
<p>Fancy web portals that let you &#8220;deploy with one click&#8221; sound appealing. Until you realize that every operational change must flow through the MSP&#8217;s platform. Want to modify a VPC? You&#8217;re dependent on their UI. Need to adjust security groups? Better hope their platform supports your use case.</p>
<p>These orchestrators create <strong>operational lock-in</strong>: You can&#8217;t effectively operate your AWS environment without the MSP&#8217;s tooling. You&#8217;ve traded AWS complexity for MSP dependency.</p>
<ol start="3">
<li><strong> &#8220;Simplified&#8221; Interfaces That Hide AWS Reality</strong></li>
</ol>
<p>Abstraction layers that promise to &#8220;make AWS easy&#8221; can create a dangerous gap between what you think you&#8217;re deploying and what&#8217;s actually running in your account. When problems arise—and they always do—you discover that your team doesn&#8217;t understand the actual AWS infrastructure because they&#8217;ve only interacted with it through the MSP&#8217;s simplified interface.</p>
<h1><strong>The Real-World Impact of Lock-in</strong></h1>
<p><strong>Scenario 1: The Price Increase</strong></p>
<p>Your MSP announces a 30% price increase. With an LZA you own and open standards, you have options: negotiate from a position of strength, bring management in-house, or transition to another MSP in months. With a proprietary platform, you&#8217;re looking at risky and arduous re-platforming work—and your MSP knows it.</p>
<p><strong>Scenario 2: The Service Quality Decline</strong></p>
<p>Your MSP gets acquired. The new parent company shifts focus, key engineers leave, and service quality drops. With an open approach, you can transition smoothly. With lock-in, you&#8217;re stuck enduring declining service while planning an expensive migration.</p>
<p><strong>Scenario 3: The Strategic Pivot</strong></p>
<p>Your company wants to build internal cloud expertise and eventually self-manage. With LZA, your team can learn standard AWS tools and practices from day one. When you&#8217;re ready to transition, you already have the skills and the code. With proprietary platforms, your team has learned the MSP&#8217;s tools, not AWS—setting your in-house capability building back by years.</p>
<p><strong>Scenario 4: The Platform Limitation</strong></p>
<p>Your business needs evolve, and you need to implement a complex AWS architecture that isn&#8217;t supported by your MSP&#8217;s platform. You&#8217;re now in the worst position: paying for a platform that constrains you, unable to use native AWS capabilities, and facing the choice between living with limitations or undertaking an expensive re-platforming project.</p>
<h1><strong>How to Evaluate Your Current or Prospective MSP</strong></h1>
<p>Ask these critical questions:</p>
<ol>
<li><strong>&#8220;What landing zone solution do you use?&#8221;</strong>
<ul>
<li>Red flag: &#8220;Our proprietary solution&#8221; or vague answers. Subscription based landing zones (yes they exist!).</li>
<li>Green flag: &#8220;your own AWS Landing Zone Accelerator&#8221; or &#8220;a per-customer AWS Control Tower with Customizations for Control Tower&#8221;</li>
</ul>
</li>
<li><strong>&#8220;What happens to our infrastructure if we terminate the contract?&#8221;</strong>
<ul>
<li>Red flag: Vague answers about &#8220;transition planning&#8221; or &#8220;it depends&#8221;</li>
<li>Green flag: &#8220;You keep everything—we&#8217;ll help with knowledge transfer, and you&#8217;ll have all the code and documentation&#8221;</li>
</ul>
</li>
<li><strong>&#8220;Will our team learn AWS-native tools, or primarily your platform?&#8221;</strong>
<ul>
<li>Red flag: &#8220;Our platform abstracts AWS complexity away&#8221;</li>
<li>Green flag: &#8220;We teach AWS best practices and native tools&#8221;</li>
</ul>
</li>
</ol>
<h1><strong>The Cloudar Philosophy: Your Cloud, Your Terms</strong></h1>
<p>Here&#8217;s what that means in practice:</p>
<p><strong>Full LZA Implementation</strong></p>
<p>Every customer gets its own AWS Landing Zone Accelerator, deployed directly into their accounts with complete source code access to the LZA configuration. Deployments happen in your account, giving you end-to-end visibility on your Landing Zone.</p>
<p><strong>AWS-Native Tooling</strong></p>
<p>We use CloudFormation, CDK, AWS Config, Systems Manager—tools that work with or without us. If you hire another AWS expert or build an in-house team, they&#8217;ll recognize everything immediately.</p>
<p><strong>Comprehensive Documentation</strong></p>
<p>You can read about every configuration option today, in the documentation published by AWS. So while we pride ourselves in sharing our knowledge, you are not dependant on us to explain what is going on</p>
<p>Additionally, we write customer-specific documentation  in our Confluence – from architecture decisions to operational procedures.. If you decide to leave, we can provide you with an export of that information.</p>
<p><strong>Open Book Operations</strong></p>
<p>You have full Read Only access to your AWS environment —we&#8217;re partners, not gatekeepers. Want to check our work? Go ahead.</p>
<p><strong>Standard AWS Best Practices</strong></p>
<p>We follow AWS Well-Architected Framework principles and industry-standard patterns. No &#8220;special sauce&#8221; that only we understand.</p>
<p>We succeed by giving you excellent service so you want to stay, not by making it painful to leave.</p>
<p><strong>The Economics of Freedom</strong></p>
<p>Some argue that proprietary platforms are necessary to provide better service or lower costs. We disagree.</p>
<p><strong>Lower costs come from:</strong></p>
<ul>
<li>Automation that scales across customers (which we use)</li>
<li>Deep AWS expertise (which we have)</li>
<li>Efficient processes (which we&#8217;ve refined over years)</li>
</ul>
<p>Not from locking customers into proprietary platforms.</p>
<p><strong>Better service comes from:</strong></p>
<ul>
<li>Highly skilled engineers (which we continuously train)</li>
<li>Customer focus (which our retention rate proves)</li>
<li></li>
</ul>
<p>Not from proprietary abstraction layers.</p>
<p>We&#8217;ve proven that you can deliver excellent MSP services at competitive prices while keeping customers completely free. In fact, we believe customer freedom makes us <em>better</em>—we can&#8217;t coast on lock-in, so we must continuously earn our customers&#8217; business.</p>
<h1><strong>Making the Right Choice</strong></h1>
<p>Before signing with any MSP, ask yourself:</p>
<ul>
<li><strong>Do I understand what I&#8217;m getting into?</strong> Can you clearly explain how your infrastructure will be deployed and managed?</li>
<li><strong>What&#8217;s my exit strategy if things don&#8217;t work out?</strong> Is it measured in weeks, months, or years?</li>
<li><strong>Am I choosing this approach for the right reasons?</strong> Is convenience masking a lack of control?</li>
<li><strong>Do I retain full ownership?</strong> Of code, configurations, documentation, and knowledge?</li>
</ul>
<p><strong>Red Flags in MSP Sales Processes</strong></p>
<p>Be wary if you encounter:</p>
<ul>
<li><strong>Heavy emphasis on &#8220;simplicity&#8221; with little discussion of the underlying AWS architecture</strong></li>
<li><strong>Vague answers about exit strategies and transition processes</strong></li>
<li><strong>Marketing focused on proprietary platforms as the primary differentiator</strong></li>
<li><strong>Contracts that grant the MSP exclusive rights to infrastructure code</strong></li>
<li><strong>Lack of clarity about what you actually own vs. what you&#8217;re licensing</strong></li>
</ul>
<h1><strong>Conclusion: Freedom as a Feature</strong></h1>
<p>In the rush to cloud transformation, it&#8217;s easy to prioritize speed and convenience. And yes, a well-designed proprietary platform can deploy faster than custom LZA implementation—at least initially.</p>
<p>But cloud strategy isn&#8217;t measured in weeks. It&#8217;s measured in years and decades. The question isn&#8217;t &#8220;who can get me to cloud fastest?&#8221; It&#8217;s &#8220;who can help me build sustainable cloud capabilities that serve my business long-term?&#8221;</p>
<p>The MSP industry has a pattern: some providers build their business model around customer stickiness achieved through proprietary tooling. They create beautiful interfaces and slick demos that abstract away AWS complexity. Then, months or years later, customers realize they&#8217;ve traded AWS vendor lock-in for MSP vendor lock-in—often worse, because at least AWS is standardized.</p>
<p>At Cloudar, we reject this model fundamentally. We believe that <strong>customer freedom isn&#8217;t a bug to work around—it&#8217;s a feature to build for.</strong> We&#8217;re proud to be an AWS Premier MSP Partner that wins business through excellence, not lock-in.</p>
<p>Your cloud infrastructure is too important to be held hostage by convenient abstractions. You deserve an MSP that treats you as a partner who will grow and evolve, not a captive customer who might someday try to escape.</p>
<p>Choose partners who believe you should always have the keys to your own kingdom. Choose partners who succeed by being valuable, not by being necessary.</p>
<p>Choose freedom.</p>
<p>The post <a href="https://cloudar.be/awsblog/the-hidden-cost-of-convenience/">The Hidden Cost of Convenience</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Sign in with your eID: Using AWS IAM Roles Anywhere with a SmartCard Reader</title>
		<link>https://cloudar.be/awsblog/sign-in-with-your-eid-using-aws-iam-roles-anywhere-with-a-smartcard-reader/</link>
		
		<dc:creator><![CDATA[Ben Bridts]]></dc:creator>
		<pubDate>Thu, 26 Jun 2025 07:53:14 +0000</pubDate>
				<category><![CDATA[Security & Compliance]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[Managed Services]]></category>
		<category><![CDATA[MSP]]></category>
		<guid isPermaLink="false">https://cloudar.be/?p=22584</guid>

					<description><![CDATA[<p>Using temporary credentials to access resources, has long been a best practice and is usually straight-forward if the person or machine that is starting the action is already known in AWS (either by using IAM Identity Center, or because you are running inside the AWS Cloud). However, if you are running on a machine that [&#8230;]</p>
<p>The post <a href="https://cloudar.be/awsblog/sign-in-with-your-eid-using-aws-iam-roles-anywhere-with-a-smartcard-reader/">Sign in with your eID: Using AWS IAM Roles Anywhere with a SmartCard Reader</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Using temporary credentials to access resources, <a href="https://docs.aws.amazon.com/wellarchitected/latest/framework/sec_identities_unique.html">has long been a best practice</a> and is usually straight-forward if the person or machine that is starting the action is already known in AWS (either by using IAM Identity Center, or because you are running inside the AWS Cloud). However, if you are running on a machine that exists outside of AWS you will need an extra component like AWS IAM Roles Anywhere to give you temporary credentials.</p>
<p>Interestingly, Roles Anywhere does not completely solve the problem of not needing to create long-lived credentials, instead it moves (and reduces) the problem from credential management (rotation) to certificate management (distribution).</p>
<p>Setting up a Certificate Authority (CA) that can create certificates can be done with AWS Private Certificate Authority, and there are some options out there to manage distribution (usually as part of a bigger Device Management solution), but wouldn&#8217;t it be nice if the government of Belgium would do that for us?</p>
<h1>The Belgian eID</h1>
<p>In Belgium every citizens gets an identity card. The government makes sure that these get distributed and renewed, and since 2005 they contain a chip that holds (among other things) a certificate that can be used for digital authentication. If we can tie this to Roles Anywhere, we don&#8217;t have to worry about certificate management ourselves.</p>
<p>This eID is the size of a bankcard and the chip can be interacted with using off the shelf smart card readers. Most information can be read without any additional authentication &#8211; if you have the correct middleware, but to sign something you need to enter a PIN code.</p>
<h2>The different certificates</h2>
<p>Every eID holds an &#8220;authentication certificate&#8221; that is tied to the owner of the eID and has been signed by the &#8220;Citizens CA&#8221;.  The Citizens CA&#8217;s certificate is in turn signed by the Belgium Root CA . The Root certificate is self-signed. If we trust the Belgium Root CA, we will be able to validate any authentication certificate. More information about this setup can be found at https://repository.eidpki.belgium.be/#/home</p>
<p>The authentication certificate has two pieces of information that are going to be useful to us:</p>
<ul>
<li>The Issuer, showing us that the certificate is indeed issued by the Citizen CA.</li>
<li>The Subject, containing the name and National Number (a number that uniquely points to one person) of the owner.</li>
</ul>
<h1>AWS IAM Roles Anywhere</h1>
<p>Roles Anywhere allows you to use a certificate and its private key to get temporary credentials. You can think of it as an AssumeRole call, but instead of starting from an Access Key, we start from a certificate.</p>
<p>There are a few components we need:</p>
<ul>
<li>Configuration in our AWS Account, to indicate which CA we trust, and which roles can be assumed by different Issuer and/or Subjects. This also includes the creation of IAM Roles.</li>
<li>Software on our computer to interact with the Card Reader so we can prove we have access to the eID and know its PIN.</li>
</ul>
<p>For our use case we are going to trust the Belgium Root CA, and create a Role that can be assumed with any certificate issued by the Citizen CA. We will than limit the permissions of that IAM Role, so it can only write to a unique prefix in S3.</p>
<p>We can do that because every component of the Subject in our certificate gets mapped to a principal tag on the role session. E.g. if the subject is &#8220;C=BE, SN=Doe, GN=John, serialNumber=70010112345, CN=John Doe (Authentication)&#8221;, we have the following principal tags, and we can use principal tags in any policy.</p>
<ul>
<li>x509Subject/C: BE</li>
<li>x509Subject/SN: Doe</li>
<li>x509Subject/GN: John</li>
<li>x509Subject/serialNumber: 70010112345</li>
<li>x509Subject/CN: John Doe (Authentication)</li>
</ul>
<h1>Putting it all together</h1>
<h2>In our AWS Account</h2>
<p>We will create the following resources in our AWS Account:</p>
<ul>
<li>An S3 Bucket</li>
<li>A trust anchor, configured to trust the Belgium Root CA certificate that is publicly available via https://crt.eidpki.belgium.be/eid/brca6.crt.  This way we can use any certificate created by the Root CA of any of its subordinate CAs (like the Citizen CA)</li>
<li>An IAM Role, where we configure the trust policy to only allow usage of the Role if:
<ul>
<li>The principal is the Roles Anywhere service (rolesanywhere.amazonaws.com)</li>
<li>The Issuer is Citizen CA (aws:PrincipalTag/x509Issuer/CN must equal &#8220;Citizen CA&#8221;)</li>
<li>The source is our trust anchor (aws:SourceArn equals the ARN of the Root CA trust anchor)</li>
</ul>
</li>
<li>An IAM Policy on this role that allows PutObject acces to all objects that start with the unique National Number (aws:PrincipalTag/x509Subject/serialNumber)</li>
<li>a (Roles Anywhere) profile that ties the trust anchor to the Role. We could configure more settings here, like a mapping of fields from the certificate or a session policy, but don&#8217;t need to.</li>
</ul>
<p>Of course we do not have to do this by hand, we create a CloudFormation template for this. It can be found in our sample repository: https://github.com/WeAreCloudar/cloudformation-samples/tree/main/templates/roles-anywhere-eid</p>
<h2>On our machine</h2>
<p>On our machine, we will need &#8211; besides the eID and its PIN (at least on macOS, where I tested this):</p>
<ul>
<li>a SmartCard Reader</li>
<li>the Roles Anywhere Credential Helper (<a href="https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html">downloadable from the AWS Website</a>)</li>
<li>The AWS CLI (or any other tool we want to use with our AWS Credentials)</li>
</ul>
<p>We also need a few pieces of information:</p>
<ul>
<li>The ARNs of the trust anchor, profile and role we created</li>
<li>Our own National Number and the name of the bucket (to test our policy)</li>
</ul>
<p>Ideally we&#8217;d be able to configure the credential helper to read any eID we insert, and this is possible if you install the Belgian eID Middleware using the following command.<br />
<code class="" data-line=""><br />
aws_signing_helper credential-process \<br />
</code><code class="" data-line=""> --trust-anchor-arn $trust_anchor_arn \<br />
--profile-arn $profile_arn \<br />
--role-arn $role_arn \<br />
--certificate &quot;pkcs11:model=Belgium%20eID;object=Authentication&quot; \<br />
--pkcs11-lib &#039;/Library/Belgium Identity Card/Pkcs11/beid-pkcs11.bundle/Contents/MacOS/libbeidpkcs11.dylib<br />
</code><br />
However <a href="https://github.com/aws/rolesanywhere-credential-helper/issues/58">because of an issue with the helper, this only works on macOS if you build the helper yourself from source</a>. Since we do not want to do that, we can plug in our eID and find and identifier using &#8220;aws_signing_helper read-certificate-data&#8221;. You should get something like<br />
<code class="" data-line=""><br />
Matching identities<br />
1) bf013dd57aa34f8f9d4e22ab89dd8eb2 &quot;SERIALNUMBER=70010112345,CN=John Doe (Authentication),C=BE,...&quot;<br />
2) 786f7572198a4a8a82ee7ef3f205d7be &quot;SERIALNUMBER=70010112345,CN=John Doe (Signature),C=BE,...&quot;<br />
</code></p>
<p>Copying everything between quotes, allows us to create a new file, selector.json that looks like this:</p>
<p><code class="" data-line=""><br />
[<br />
{<br />
&quot;Key&quot;: &quot;x509Subject&quot;,<br />
&quot;Value&quot;: &quot;SERIALNUMBER=70010112345,CN=John Doe (Authentication),C=BE,...&quot;<br />
}<br />
]<br />
</code><br />
and use that to select our specific certificate:</p>
<p><code class="" data-line="">aws_signing_helper credential-process \<br />
</code><code class="" data-line=""> --trust-anchor-arn $trust_anchor_arn \<br />
--profile-arn $profile_arn \<br />
--role-arn $role_arn \<br />
--cert-selector file://selector.json</code></p>
<p>Our smart card reader will now prompt us for a PIN. If we enter the right one, we get credentials as output:<br />
<code class="" data-line=""><br />
{&quot;Version&quot;:1,&quot;AccessKeyId&quot;:&quot;ASIA...&quot;,&quot;SecretAccessKey&quot;:&quot;COA...&quot;,&quot;SessionToken&quot;:&quot;IQoJ...&quot;,&quot;Expiration&quot;:&quot;2025-03-28T14:16:07Z&quot;}<br />
</code></p>
<p>We can put this command in our ~/.aws/config file, so the AWS CLI will execute it for us, but for testing purposes it&#8217;s slightly easier to use the &#8220;serve&#8221; option.  The AWS Documentation has a longer explanation about how you can use the credential-process: https://docs.aws.amazon.com/rolesanywhere/latest/userguide/credential-helper.html#credential-helper-examples</p>
<h2>Testing with s3</h2>
<p>In one terminal we can run a credential / metadata server that can be used by the AWS CLI:</p>
<p><code class="" data-line="">~$ aws_signing_helper serve -process \<br />
</code><code class="" data-line=""> --trust-anchor-arn $trust_anchor_arn \<br />
--profile-arn $profile_arn \<br />
--role-arn $role_arn \<br />
--cert-selector file://selector.json<br />
</code></p>
<p>This gives us<code class="" data-line=""><br />
2025/03/28 14:28:12 Local server started on port: 9911<br />
2025/03/28 14:28:12 Make it available to the sdk by running:<br />
2025/03/28 14:28:12 export AWS_EC2_METADATA_SERVICE_ENDPOINT=http://127.0.0.1:9911/</code></p>
<p>We can than use a second terminal to run:</p>
<p><code class="" data-line="">AWS_EC2_METADATA_SERVICE_ENDPOINT=http://127.0.0.1:9911/ aws s3 cp example_file s3://$bucket/serialNumber/70010112345/example_file</code></p>
<p>and get our file in s3:</p>
<p><code class="" data-line="">upload: example_file to s3://.../serialNumber/70010112345/example_file</code></p>
<h1>Conclusion</h1>
<p>This experiment shows that being able to use an external device withIAM Roles, is a very powerful feature, because it can remove a lot of tasks related to certificate and credential management. Being able to do this with something I had in my backpocket made it extra cool.</p>
<p>However, the Belgian eID is probably not the best way to go about this in a real scenario:</p>
<ul>
<li>I just gave everyone living in Belgium access to my S3 Bucket. I could use a more scoped-down trust policy, but I would eventually run into limitations of trust-policy size.</li>
<li>I also didn&#8217;t tackle Certificate Revocation Lists (CRL). Every time someone loses their wallet, I would need to invalidate certain certificates &#8211; this also runs into size limitations</li>
<li>I already have a good way to give users access to AWS Accounts, using Identity Center or Cognito.</li>
<li>The pkcs11 support on macOS seems limited, and I would have to install the middleware everywhere,</li>
</ul>
<p>This does not mean that Roles Anywhere is not a good solution for this kind of cases:</p>
<ul>
<li>If you are already putting certificates on machines (e.g using an MDM solution), AWS IAM Roles Anywhere is a great fit</li>
<li>Instead of relying on the Belgian Government you can buy an hardware key like a yubikey and use it as your certificate source. This is as secure as using the eID (only the machine with the key plugged in will be able to request credentials), and you would be limiting it to the exact serial number(s) in your trust policy anyway &#8211; making CRLs mostly moot.</li>
</ul>
<p>The post <a href="https://cloudar.be/awsblog/sign-in-with-your-eid-using-aws-iam-roles-anywhere-with-a-smartcard-reader/">Sign in with your eID: Using AWS IAM Roles Anywhere with a SmartCard Reader</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Why AWS NLB stickiness is not always sticky</title>
		<link>https://cloudar.be/awsblog/why-aws-nlb-stickiness-is-not-always-sticky/</link>
		
		<dc:creator><![CDATA[Rutger Beyen]]></dc:creator>
		<pubDate>Tue, 05 Oct 2021 14:32:48 +0000</pubDate>
				<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[NLB]]></category>
		<category><![CDATA[stickiness]]></category>
		<guid isPermaLink="false">https://www.cloudar.be/?p=19684</guid>

					<description><![CDATA[<p>Why AWS NLB stickiness is not always sticky We were recently working on an AWS setup which involved a Network LoadBalancer (NLB) with a TCP listener and a requirement for sticky sessions. As we were seeing some strange behavior which we couldn&#8217;t immediately explain and which might be linked to the session stickiness we decided [&#8230;]</p>
<p>The post <a href="https://cloudar.be/awsblog/why-aws-nlb-stickiness-is-not-always-sticky/">Why AWS NLB stickiness is not always sticky</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h1>Why AWS NLB stickiness is not always sticky</h1>
<p>We were recently working on an AWS setup which involved a Network LoadBalancer (NLB) with a TCP listener and a requirement for sticky sessions. As we were seeing some strange behavior which we couldn&#8217;t immediately explain and which might be linked to the session stickiness we decided to make a small test setup.</p>
<h2>The problem</h2>
<p>Unlike an ALB where session stickiness is accomplished with cookies, the NLB uses a built-in 5-tuple hash table in order to maintain stickiness across backend servers. We access the NLB through its DNS name, which actually returns the IPs of the two NLB endpoints in a round-robin fashion with a TTL of 60 seconds.</p>
<p>We were looking for an answer on the following question: if our end-user would resolve the DNS and pick the IP of the first NLB endpoint to start the connection, the session will be routed towards one of the backend servers. But after 60 seconds the client could potentially re-issue the DNS query and start its connection with the other NLB endpoint. How will the stickiness and cross-zone loadbalancing behave? Will our end-user connection be routed to the initial server again, even if that means crossing AZ boundaries?</p>
<h2>The situation</h2>
<p><img fetchpriority="high" decoding="async" class="alignnone wp-image-19685" src="https://cloudar.be/wp-content/uploads/2021/10/nlb1-650x433.png" alt="" width="642" height="428" srcset="https://cloudar.be/wp-content/uploads/2021/10/nlb1-650x433.png 650w, https://cloudar.be/wp-content/uploads/2021/10/nlb1-325x217.png 325w" sizes="(max-width: 642px) 100vw, 642px" /></p>
<p>We started with a classical setup comprising of an NLB with an endpoint in each AZ and a Targetgroup having one instance as target in each AZ.</p>
<h3>Scenario #1</h3>
<ul>
<li>Cross-Zone loadbalancing: Disabled</li>
<li>TargetGroup Stickiness: Disabled</li>
</ul>
<p>How does it behave?</p>
<ol>
<li>Client connects to the IP of the first NLB node: the connection is redirected to the server in AZ 1.</li>
<li>Client connects to the IP of the second NLB node: the connection is redirect to the server in AZ 2.</li>
</ol>
<p>Since there is only one healthy target per AZ and cross-zone loadbalancing is not enabled, this situation results in &#8216;AZ-stickiness&#8217;: the traffic remains in the AZ in which it arrived. The setup relies on DNS to distribute client connections evenly across both NLB endpoints, but there is nothing to guarantee that a specific user connection is always directed to the same NLB endpoint, let alone to the same backend server.</p>
<h3>Scenario #2</h3>
<ul>
<li>Cross-Zone loadbalancing: Enabled</li>
<li>TargetGroup Stickiness: Disabled</li>
</ul>
<p>Allowing cross-zone loadbalancing and not requiring any stickness. This should give us complete randomness, shouldn&#8217;t it?</p>
<p>And so it does. We&#8217;re now completely randomized and hit every backend server, irrespective of our NLB endpoint &#8216;point of entry&#8217;. Works as expected.</p>
<h3><img decoding="async" class="alignnone size-medium wp-image-19686" src="https://cloudar.be/wp-content/uploads/2021/10/nlb2-650x433.png" alt="" width="650" height="433" srcset="https://cloudar.be/wp-content/uploads/2021/10/nlb2-650x433.png 650w, https://cloudar.be/wp-content/uploads/2021/10/nlb2-325x217.png 325w" sizes="(max-width: 650px) 100vw, 650px" /></h3>
<h3>Scenario #3</h3>
<ul>
<li>Cross-Zone loadbalancing: Disabled</li>
<li>TargetGroup Stickiness: Enabled</li>
</ul>
<p>We&#8217;ve enabled stickiness on the targetgroup now, and disabled the cross-zone loadbalancing again. Let&#8217;s hope our client connection is now sticky to a specific backend server.</p>
<ol>
<li>Client connects to the IP of the first NLB node: the connection is redirected to the server in AZ 1.</li>
<li>Client connects to the IP of the second NLB node: the connection is redirect to the server in AZ 2.</li>
</ol>
<p>Ok wait, we&#8217;ve asked our TargetGroup to be sticky, but still our connection is balanced over both backend servers? What&#8217;s going on?</p>
<p><img decoding="async" class="alignnone size-medium wp-image-19687" src="https://cloudar.be/wp-content/uploads/2021/10/nlb4-650x433.png" alt="" width="650" height="433" srcset="https://cloudar.be/wp-content/uploads/2021/10/nlb4-650x433.png 650w, https://cloudar.be/wp-content/uploads/2021/10/nlb4-325x217.png 325w" sizes="(max-width: 650px) 100vw, 650px" /></p>
<p>The fact that our NLB is not allowing cross-zone loadbalancing seems to prevent the connection from reaching the same backend every time. The connection enters via NLB endpoint 1 but stickiness has decided that the connection should go to server in AZ 2? Stickiness fails, the disabled cross-zone loadbalancing wins&#8230;</p>
<p>With only one healthy backend per AZ this behaves the same as not enabling stickiness at all. We&#8217;re pretty sure that with more than one backend per AZ the stickiness is maintained&#8230;within that AZ only. Interesting!</p>
<h3>Scenario #4</h3>
<ul>
<li>Cross-Zone loadbalancing: Enabled</li>
<li>TargetGroup Stickiness: Enabled</li>
</ul>
<p>Let&#8217;s solve this. We&#8217;ve enabled both cross-zone loadbalancing and targetgroup stickiness. We should hit the same backend server every time now.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-19688" src="https://cloudar.be/wp-content/uploads/2021/10/nlb3-650x433.png" alt="" width="650" height="433" srcset="https://cloudar.be/wp-content/uploads/2021/10/nlb3-650x433.png 650w, https://cloudar.be/wp-content/uploads/2021/10/nlb3-325x217.png 325w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p>And so it does. Only now we reach true stickiness and hit the same backend server every time, no matter how hard we try by entering via the loadbalancer node in the other AZ.</p>
<h2>The conclusion</h2>
<p>If you don&#8217;t allow cross-zone loadbalancing, then stickiness is only active within AZ boundaries. As DNS round-robin could direct a client to a different point of entry after the TTL has expired, strict stickiness is not guaranteed.</p>
<p>So if you really need stickiness to a specific backend target, you need to allow cross-zone loadbalancing (and live with the extra cost of inter-AZ traffic). Only now do the different loadbalancer nodes share the hash table of &#8220;client-to-target&#8221; stickiness.</p>
<p>&nbsp;</p>
<p>Kinda logic, though&#8230;</p>
<p>&nbsp;</p>
<p>PS: NLB idle timeout for TCP connections is 350 seconds. Once the timeout is reached or the session is terminated, the NLB will forget the stickiness and incoming packets will be considered as a new flow and could be loadbalanced to a new target.</p>
<p>The post <a href="https://cloudar.be/awsblog/why-aws-nlb-stickiness-is-not-always-sticky/">Why AWS NLB stickiness is not always sticky</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>10 random things you probably didn&#8217;t know about Cloudar</title>
		<link>https://cloudar.be/awsblog/10-random-things-you-might-not-have-known-about-cloudar/</link>
		
		<dc:creator><![CDATA[Bart Van Hecke]]></dc:creator>
		<pubDate>Thu, 20 Aug 2020 09:57:41 +0000</pubDate>
				<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[AWS]]></category>
		<guid isPermaLink="false">https://www.cloudar.be/?p=18041</guid>

					<description><![CDATA[<p>The post <a href="https://cloudar.be/awsblog/10-random-things-you-might-not-have-known-about-cloudar/">10 random things you probably didn&#8217;t know about Cloudar</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<div class="wpb-content-wrapper"><section id="ut-section-6adae39ee82a2" data-vc-full-width="true" data-vc-full-width-init="false" data-cursor-skin="global" class="vc_section ut-vc-160 vc_section-has-no-fill ut-section-6adae39ee82b1"><div id="ut-row-6adae39f8921d" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39f89235" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fadd7b" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fae194 { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fae194" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>1. The Summerbreeze Metal Festival</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>In August 2013, Senne Vaeyens en Bart Van Hecke attended the Summerbreeze festival in Dinkelsbühl, Germany. Being long-time friends and already active in the wonderful world of Information Technology for several years, they discussed the possibility of starting a company together. After a long night of heavy music and lots of beers, the foundation of Cloudar was laid…</p>

		</div>
	</div>

<div id="vc-sep-6adae39faf0ae" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fafd12" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fafd28" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fb071c" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fb080d { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fb080d" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>2. Cloudar started as a Cloud Broker</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>Cloudar was started as a Cloud Broker company, acting as a trusted advisor for customers and providing a single point of contact regardless of the cloud technology the customers were using. After evaluating this setup for a few months, Senne &amp; Bart noticed that real focus was missing. They decided that it would be better to become great at only one thing than to be mediocre at several. As Amazon Web Services (AWS) was already the preferred platform for several projects, it was decided that Cloudar would only focus on AWS and become a trustworthy AWS partner.</p>
<p>&nbsp;</p>
<p><em><strong>Fun fact</strong>: The name Cloudar originates from the combination of the word &#8220;Cloud&#8221; and &#8220;Radar&#8221;; When the company started as a cloud broker, we would be the &#8216;radar&#8217; for our customers to find the best cloud provider that would suit their needs. Nowadays Cloudar stands for &#8220;Cloud Architects&#8221;, but the radar remained in the company logo&#8230;</em></p>

		</div>
	</div>

<div id="vc-sep-6adae39fb0e1d" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fb195f" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fb1973" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fb229c" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fb236e { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fb236e" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>3. Cloudar joined the Cronos Group in October 2014</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>To maintain focus on AWS, it became clear that we needed to surround ourselves with experts in other areas of the IT spectrum. As the Cronos Group is an incubator that exists of multiple independent companies with specific expertise, the choice of joining this group was a no-brainer.</p>

		</div>
	</div>

<div id="vc-sep-6adae39fb2994" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fb3453" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fb3464" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fb3de3" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fb3ebd { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fb3ebd" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>4. First hire in January 2015</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>In January 2015, Ben Bridts joined the company and is up to present day the go-to AWS expert of the company. Ben has in-depth AWS knowledge, helps defining Cloudar’s technical strategy and is an official AWS Ambassador (<a href="https://www.ambassador-lounge.com/ambassadors/ben-bridts/">https://www.ambassador-lounge.com/ambassadors/ben-bridts/</a>). Hook him up if you have questions about AWS (@benbridts)</p>

		</div>
	</div>

<div id="vc-sep-6adae39fb44d7" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fb4f5e" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fb4f71" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fb5883" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fb596a { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fb596a" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>5. In April 2015, Cloudar joins Xplore Group</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>The Cronos Group is divided into several clusters; some clusters specialize in ‘traditional IT services’, while others have a focus in entirely other areas. Xplore Group is one of these clusters and has a clear focus on E-commerce, Data Science, Cloud Native Development, IoT, Machine Learning, …</p>
<p>As Cloudar prefers to talk with the business directly, while maintaining a good relationship with developers as well, the Xplore Group cluster seemed a good fit.</p>
<p>Together with multiple Xplore Group companies, Cloudar is now able to execute large enterprise projects with a scope that extends the expertise of AWS.</p>

		</div>
	</div>

<div id="vc-sep-6adae39fb5f64" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fb6a32" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fb6a43" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fb73c2" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fb74af { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fb74af" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>6. Some numbers (August 2020)</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<ul>
<li>Current headcount: 32 (and growing)</li>
<li>Customer base: &gt;100</li>
<li>Monthly AWS Spent: &gt; $1M</li>
<li>Total of AWS Certifications: &gt;100</li>
<li>AWS programs &amp; competencies:</li>
</ul>
<p style="padding-left: 40px;">&#8211; Premier Consulting Partner</p>
<p style="padding-left: 40px;">&#8211; Solution Provider</p>
<p style="padding-left: 40px;">&#8211; Public Sector Partner</p>
<p style="padding-left: 40px;">&#8211; Well-Architected Partner</p>
<p style="padding-left: 40px;">&#8211; Immersion Day Partner</p>
<p style="padding-left: 40px;">&#8211; Managed Service Provider Partner</p>
<p style="padding-left: 40px;">&#8211; Migration Competency</p>
<p style="padding-left: 40px;">&#8211; DevOps Competency</p>
<p style="padding-left: 40px;">&#8211; Government Competency</p>
<p style="padding-left: 40px;">&#8211; Lambda Service Delivery</p>

		</div>
	</div>

<div id="vc-sep-6adae39fb7ab4" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fb852d" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fb8542" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fb8ec7" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fb8fac { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fb8fac" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>7. Partnerships</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>It goes without saying that great things can only be achieved if you surround yourself with the right partners…</p>
<p>While AWS remains our focus, you need partners to be able to deliver the full picture to your customers. Some solid partnerships we established throughout the years are:</p>
<ul>
<li>CloudCheckr: Mainly used for cost optimization and providing best practices to our customers</li>
<li>VMware: to help us supporting VMC on AWS</li>
<li>Trend Micro: For compliance reasons and securing AWS environments</li>
<li>N2WS: for backup and disaster recovery purposes</li>
<li>Site 24&#215;7: for monitoring &amp; alerting</li>
<li>The Cronos Group &amp; Xplore Group: for delivering expertise in areas other than AWS</li>
</ul>

		</div>
	</div>

<div id="vc-sep-6adae39fb95ca" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fba10e" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fba123" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fbabfd" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fbace2 { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fbace2" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>8. Why would you engage us?</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>When you decide to work with us, you’ll be working with a team of AWS Certified Professionals that have the highest level of demonstrated expertise and skills using the AWS Cloud:</p>
<ul>
<li>We can do the heavy lifting for you</li>
<li>We’ll make sure you only pay what you need</li>
<li>We can lower the cost of your ‘migration bubble’</li>
<li>We can assist in accelerating your projects, so you’ll be able to reach your deadlines</li>
<li>We can educate your staff</li>
<li>We can take care of your AWS environment 24/7</li>
</ul>

		</div>
	</div>

<div id="vc-sep-6adae39fbb2f8" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fbbd56" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fbbd69" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fbc7b8" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fbc8b2 { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fbc8b2" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>9. CSF</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>We apply the “Common Sense Framework” (CSF) on a daily basis.</p>
<p>Although we are ISO/IEC 27001 certified for Information Security to comply with the highest security standards and combine several IT methodologies (ITIL, Agile, DevOps, Prince 2,…), the most important framework we use is CSF. CSF is and always will be the backbone of Cloudar. Every person, situation, customer or project is different, so we need to be able to adapt quickly and apply common sense wherever we can. Common sense enables us to be very flexible and allows us to anticipate very fast in every situation.</p>
<p>CSF is here to stay!</p>
<p>&nbsp;</p>
<p><strong><span style="color: #808080;"><em>Note: In the Flemish part of Belgium, CSF is also known as &#8220;Gezond Boerenverstand&#8221;</em></span></strong></p>

		</div>
	</div>

<div id="vc-sep-6adae39fbcede" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><div id="ut-row-6adae39fbd9fa" data-vc-full-width="true" data-vc-full-width-init="false" class="vc_row wpb_row vc_row-fluid vc_column-gap-0 ut-row-6adae39fbda0d" ><div class="wpb_column vc_column_container vc_col-sm-12" ><div id="ut_inner_column_6adae39fbe3f7" class="vc_column-inner " ><div class="wpb_wrapper"><style type="text/css">#ut_title_divider_6adae39fbe4d3 { letter-spacing: 0em; }</style><h3 id="ut_title_divider_6adae39fbe4d3" class="bklyn-title-divider  bklyn-divider-style-4 bklyn-title-divider-left bklyn-title-divider-tablet-left bklyn-title-divider-mobile-left"  ><span>10. The future</span></h3>
	<div class="wpb_text_column wpb_content_element" >
		<div class="wpb_wrapper">
			<p>Well, that’s a tricky one…</p>
<p>In this ever-changing world, who knows what the future might bring? It has been our goal from day one to become one of the leading AWS partners in the EMEA region, and I think we can say that we did a good job so far.</p>
<p>For the following years, we’ll keep on growing as a company, expand our customer base and explore new areas, just as we always did before. Now is not the time to lay back and think the journey is finished. In fact, I believe our journey has only begun; with so much opportunities in front of us, it&#8217;s time to ramp things up a gear!</p>
<p>To quote Mario Andretti; “If everything seems under control, you’re not going fast enough…”</p>

		</div>
	</div>

<div id="vc-sep-6adae39fbeb37" class="vc_separator wpb_content_element vc_separator_align_center vc_sep_width_100 vc_sep_pos_align_center vc_separator_no_text vc_sep_color_grey  wpb_content_element" ><span class="vc_sep_holder vc_sep_holder_l"><span  class="vc_sep_line"></span></span><span class="vc_sep_holder vc_sep_holder_r"><span  class="vc_sep_line"></span></span>
</div></div></div></div></div><div class="vc_row-full-width vc_clearfix"></div><a data-id="section-without-id" class="ut-vc-offset-anchor-bottom" name="section-without-id"></a></section><div class="vc_row-full-width vc_clearfix"></div>
</div><p>The post <a href="https://cloudar.be/awsblog/10-random-things-you-might-not-have-known-about-cloudar/">10 random things you probably didn&#8217;t know about Cloudar</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Let&#8217;s trash talk!</title>
		<link>https://cloudar.be/awsblog/lets-trash-talk/</link>
		
		<dc:creator><![CDATA[Michiel Vanderlinden]]></dc:creator>
		<pubDate>Mon, 23 Mar 2020 12:17:59 +0000</pubDate>
				<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[cloudformation]]></category>
		<category><![CDATA[cloudwatch]]></category>
		<category><![CDATA[Lambda]]></category>
		<category><![CDATA[SAM]]></category>
		<category><![CDATA[sns]]></category>
		<guid isPermaLink="false">https://www.cloudar.be/?p=16571</guid>

					<description><![CDATA[<p>Hi all, in this blogpost I will give a brief overview of how I used AWS to remind me to take out the trash. It’s a familiar scene: as you’re waking up or making your morning coffee, you hear the garbage truck roaring away outside when you suddenly realize your garbage bags are still rotting [&#8230;]</p>
<p>The post <a href="https://cloudar.be/awsblog/lets-trash-talk/">Let&#8217;s trash talk!</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Hi all, in this blogpost I will give a brief overview of how I used AWS to remind me to take out the trash.</p>
<p>It’s a familiar scene: as you’re waking up or making your morning coffee, you hear the garbage truck roaring away outside when you suddenly realize your garbage bags are still rotting away in the garage. Do you run after the truck like a lunatic, even though it’s too late (of course I’ve never done this, but I’ve heard it’s a thing)? Or do you just let it go and let the garbage fester even longer? Either way, it’s a frustrating start to the day.</p>
<p>Luckily for me I live in the modern and very civilised province of Limburg of Belgium where the local government has made a website available with a downloadable calendar showing all dates the garbage truck comes along: so handy! They even provide the calendar in a number of digital formats, including iCal. I could just import this into my phone and set an alert on it, but where’s the fun in that? After some fiddling around or “reverse engineering” as they call it, I found out that the data for the calendar files was provided by an undocumented but publicly available API.</p>
<p>Being the sucker for coding up and fooling around with APIs that I am (and given my state of utter boredom while under full lockdown in Belgium) I decided to code up a project based on this API that would send me an SMS notification the evening before garbage collection. Because that’s my idea of fun. And that way I would be reminded to take out the trash on time and keep my garage clean.</p>
<p>Want to know this neat trick to save you from rubbish resentment? Read on!</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16575" src="https://cloudar.be/wp-content/uploads/2020/03/1-650x433.png" alt="reverseengineering" width="650" height="433" srcset="https://cloudar.be/wp-content/uploads/2020/03/1-650x433.png 650w, https://cloudar.be/wp-content/uploads/2020/03/1-1300x867.png 1300w, https://cloudar.be/wp-content/uploads/2020/03/1-325x217.png 325w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p>So for this project I partly used the AWS SAM framework and set up a CodePipeline to deploy my code changes instantly on AWS (stay tuned for a future blogpost on this).</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-16578 size-thumbnail" src="https://cloudar.be/wp-content/uploads/2020/03/pipeline-325x217.png" alt="codepipeline" width="325" height="217" srcset="https://cloudar.be/wp-content/uploads/2020/03/pipeline-325x217.png 325w, https://cloudar.be/wp-content/uploads/2020/03/pipeline-650x433.png 650w" sizes="auto, (max-width: 325px) 100vw, 325px" /></p>
<p>First let’s code up the AWS SAM template file containing the necessary resources for this project.</p>
<p>The resources I used are:</p>
<ul>
<li>Type: AWS::Events::Rule<br />
A Cloudwatch event rule to invoke a lambda each evening around 8.</li>
<li>Type: AWS::Lambda::Permission<br />
To give the Cloudwatch event rule permissions to invoke the lambda.</li>
<li>Type: AWS::Logs::LogGroup<br />
A log group for the lambda logs.</li>
<li>Type: AWS::Serverless::Function<br />
The lambda that will run the show.</li>
<li>Type: AWS::IAM::Role<br />
An IAM role for the lambda to have the necessary rights like accessing SNS for the SMS notification.</li>
</ul>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16579" src="https://cloudar.be/wp-content/uploads/2020/03/template-650x433.png" alt="template" width="650" height="433" srcset="https://cloudar.be/wp-content/uploads/2020/03/template-650x433.png 650w, https://cloudar.be/wp-content/uploads/2020/03/template-325x217.png 325w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p>Next we code up the lambda that will call the API and send us an SMS.</p>
<p><img loading="lazy" decoding="async" class="alignnone size-medium wp-image-16580" src="https://cloudar.be/wp-content/uploads/2020/03/code-650x433.png" alt="code" width="650" height="433" srcset="https://cloudar.be/wp-content/uploads/2020/03/code-650x433.png 650w, https://cloudar.be/wp-content/uploads/2020/03/code-1300x867.png 1300w, https://cloudar.be/wp-content/uploads/2020/03/code-325x217.png 325w" sizes="auto, (max-width: 650px) 100vw, 650px" /></p>
<p>The API provides event data for each month by just requesting the year and month in the url path like this ‘/2020-03’. So we can easily get the data for the current month and loop through its events, checking whether any are occurring the next morning. If so we receive an SMS notifying us (note that you can provide the number of your girlfriend here, but it’s not recommended as I have found out it isn’t that effective).</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-16581 size-thumbnail" src="https://cloudar.be/wp-content/uploads/2020/03/watch-325x217.jpg" alt="result" width="325" height="217" srcset="https://cloudar.be/wp-content/uploads/2020/03/watch-325x217.jpg 325w, https://cloudar.be/wp-content/uploads/2020/03/watch-650x433.jpg 650w, https://cloudar.be/wp-content/uploads/2020/03/watch-1300x867.jpg 1300w" sizes="auto, (max-width: 325px) 100vw, 325px" /></p>
<p>And that’s all folks!</p>
<p>&nbsp;</p>
<p>I’m aware that this trick is no rocket science, and that this isn’t even a full guide to get to the same result (leave a comment if you want some more details), but I thought it would be fun to share how I resolved one of life’s little problems using AWS.</p>
<p>As I’m moving toward two years of professional experience using the platform, I’m still amazed at how easily you can code some services together and create a working, scalable and highly available project in a matter of minutes or hours.</p>
<p>Hope you liked my trashy tale &#8211; keep your garages clean and your heads in the cloud!</p>
<p>The post <a href="https://cloudar.be/awsblog/lets-trash-talk/">Let&#8217;s trash talk!</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Validate ACM certificates in Cloudformation</title>
		<link>https://cloudar.be/awsblog/validate-acm-certificates-in-cloudformation/</link>
		
		<dc:creator><![CDATA[Michiel Vanderlinden]]></dc:creator>
		<pubDate>Wed, 08 Jan 2020 08:03:21 +0000</pubDate>
				<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[acm]]></category>
		<category><![CDATA[Amazon Web Services]]></category>
		<category><![CDATA[automatically validate acm]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[cloudformation]]></category>
		<category><![CDATA[custom resource]]></category>
		<category><![CDATA[DevOps]]></category>
		<category><![CDATA[python]]></category>
		<guid isPermaLink="false">https://www.cloudar.be/?p=16482</guid>

					<description><![CDATA[<p>Intro: We will use a custom resource written in Python that will be able to create ACM certificates with DNS validation. The custom resource will also automatically validate this certificate if the validation domain is managed by a Route53 hosted zone. We will also be able to specify an AWS region to create the certificate [&#8230;]</p>
<p>The post <a href="https://cloudar.be/awsblog/validate-acm-certificates-in-cloudformation/">Validate ACM certificates in Cloudformation</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<h3>Intro:</h3>
<p>We will use a custom resource written in Python that will be able to create ACM certificates with DNS validation. The custom resource will also automatically validate this certificate if the validation domain is managed by a Route53 hosted zone. We will also be able to specify an AWS region to create the certificate in, this region is independent of the Cloudformation stack region which for example makes it possible to deploy a certificate in region us-east-1 (to use with cloudfront) while deploying the stack in region eu-west-1. The resource will also provide the certificate arn as an output parameter so it can be used by other resources in the stack. Lastly when you delete the custom resource it will cleanup all validation records and the certificate itself.</p>
<h3>Requirements:</h3>
<ul>
<li>Python3</li>
<li>Pip</li>
<li>Bash</li>
<li>Zip</li>
<li>An S3 bucket to deploy the custom resource package on</li>
<li>A hosted zone for the validation record</li>
</ul>
<h3>Implementation:</h3>
<p>Let&#8217;s get started by downloading all the required code from our <a href="https://github.com/WeAreCloudar/cloudar_acm_plus">GitHub repository.</a></p>
<h4>Step1: Uploading the custom resource package</h4>
<p>In this step we are going to prepare the custom resource package and upload it to an S3 bucket.</p>
<p>First we go into the custom resource directory.<br />
<code class="" data-line="">cd cloudar-acm-plus-custom-resource</code></p>
<p>Next we execute a script to install all required dependencies.<br />
<code class="" data-line="">sh install_dependencies</code></p>
<p>Now we are ready to create the package.<br />
<code class="" data-line="">sh pack_custom_resource</code></p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-16487 " src="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_package_commands.png" alt="package commands" width="595" height="378" srcset="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_package_commands.png 1120w, https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_package_commands-768x488.png 768w" sizes="auto, (max-width: 595px) 100vw, 595px" /></p>
<p>You will now find the zipfile &#8216;cloudar-acm-plus-custom-resource.zip&#8217; in &#8216;cloudar-acm-plus-custom-resource/packed&#8217;, upload this zip file to your S3 bucket.</p>
<h4>Step2: Creating a Cloudformation template</h4>
<p>Now we can create a Cloudformation template in which we use this custom resource to create an ACM certificate.<br />
You can use the template &#8216;cfn.yaml&#8217; as an example.</p>
<p>First create a Lambda resource as following<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-16492 " src="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_cfn_lambda.png" alt="auto validate lambda" width="520" height="475" srcset="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_cfn_lambda.png 1042w, https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_cfn_lambda-768x702.png 768w, https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_cfn_lambda-788x720.png 788w" sizes="auto, (max-width: 520px) 100vw, 520px" /></p>
<p>Use the name of your bucket for the property &#8216;S3Bucket&#8217; .</p>
<p>Next we create the custom resource.<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-16493 " src="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_cfn_cr.png" alt="auto validate cfn cr" width="454" height="287" srcset="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_cfn_cr.png 832w, https://cloudar.be/wp-content/uploads/2020/01/auto_validate_cfn_cr-768x486.png 768w" sizes="auto, (max-width: 454px) 100vw, 454px" /></p>
<p>We can set the following properties here:</p>
<ul>
<li>DomainName: (REQUIRED type:String) The domain name for the acm certificate.</li>
<li>AdditionalDomains: (OPTIONAL type:List) Additional domains for the acm certificate</li>
<li>ValidationDomain: (REQUIRED type:string) The domain name for the validation domain of the acm certificate</li>
<li>HostedZoneId: (REQUIRED type:string) The hosted zone id for the validation domain of the acm certificate</li>
<li>CertificateRegion: (REQUIRED type:string) The region to deploy the acm certificate in</li>
<li>IdempotencyToken: (REQUIRED type:string pattern: \w+) The idempotency token for the create call of the acm certificate doc: <a href="https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html#ACM-RequestCertificate-request-IdempotencyToken" rel="nofollow">https://docs.aws.amazon.com/acm/latest/APIReference/API_RequestCertificate.html#ACM-RequestCertificate-request-IdempotencyToken</a></li>
<li>CertificateTags: (OPTIONAL type:list) The tags for the acm certificate</li>
</ul>
<p>In order for the DNS record cleanup and delete certificate functionality to work when you delete the Cloudformation stack it is important to set the following output.<br />
<img loading="lazy" decoding="async" class="alignnone wp-image-16495 " src="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_cfn_output.png" alt="auto validate cfn output" width="666" height="98" srcset="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_cfn_output.png 1238w, https://cloudar.be/wp-content/uploads/2020/01/auto_validate_cfn_output-768x113.png 768w" sizes="auto, (max-width: 666px) 100vw, 666px" /></p>
<p>As you can see we can access the arn of the certifcate created by the custom resource with the GetAtt function on the resource.<br />
<code class="" data-line="">!GetAtt CreateCertificateCustomResource.certificate_arn</code></p>
<h4>Step3: Deploy the cloudformation</h4>
<p>Finally the only thing left to do is deploy the Cloudformation template.<br />
Once the deploy is started Cloudformation will create the Lambda containing the code from step1 and start a custom resource which will create the certificate and validation records. Once the status of the certificate becomes &#8216;ISSUED&#8217; the custom resource will finish successfully and report the arn of the certificate back to Cloudformation. We can now further use this arn in other resources in the Cloudformation template.<br />
When you delete the Cloudformation stack, the custom resource will cleanup the validation records in the hosted zone and delete the certificate.</p>
<p>CREATE_COMPLETE</p>
<p><img loading="lazy" decoding="async" class="alignnone wp-image-16496 size-full" src="https://cloudar.be/wp-content/uploads/2020/01/auto_validate_acm_icon.png" alt="auto validate acm icon" width="300" height="259" /></p>
<p>The post <a href="https://cloudar.be/awsblog/validate-acm-certificates-in-cloudformation/">Validate ACM certificates in Cloudformation</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>$ aws help # things you might not know about the AWS CLI</title>
		<link>https://cloudar.be/awsblog/aws-help-things-you-might-not-know-about-the-aws-cli/</link>
		
		<dc:creator><![CDATA[Ben Bridts]]></dc:creator>
		<pubDate>Sat, 16 Nov 2019 15:23:39 +0000</pubDate>
				<category><![CDATA[AWS Blog]]></category>
		<category><![CDATA[AWS]]></category>
		<category><![CDATA[aws cli]]></category>
		<guid isPermaLink="false">https://www.cloudar.be/?p=16399</guid>

					<description><![CDATA[<p>I recently gave a presentation at The AWS Community Summit in London, where I tried to talk about as many cool features of the AWS CLI as I could in 10 minutes. That recording is now available and you can watch it here (the slides can be found online too). Video isn&#8217;t the best reference [&#8230;]</p>
<p>The post <a href="https://cloudar.be/awsblog/aws-help-things-you-might-not-know-about-the-aws-cli/">$ aws help # things you might not know about the AWS CLI</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>I recently gave a presentation at <a href="https://www.comsum.co.uk/">The AWS Community Summit in London</a>, where I tried to talk about as many cool features of the AWS CLI as I could in 10 minutes. <a href="https://www.youtube.com/watch?v=1tl-J_lbKso">That recording is now available and you can watch it here</a> (<a href="https://speakerdeck.com/benbridts/aws-help-number-things-you-might-not-know-about-the-aws-cli-5d0a25fb-bf79-4ff7-82f0-31cfcb06607b">the slides can be found online too</a>).</p>
<p>Video isn&#8217;t the best reference material if you want to quickly find one of those tips, so I will add a quick summary of them in this blogpost.</p>
<ul>
<li>By specifying <code class="" data-line="">source_profile</code> in your <code class="" data-line="">.aws/config</code> file, you can tell the AWS CLI to use credentials from one profile to assume the <code class="" data-line="">role_arn</code> you configure in another profile. This also works in a chain of profiles and can include asking for an MFA token.</li>
<li>You don&#8217;t have to get credentials from the <code class="" data-line="">.aws/credentials</code> file, you can tell the CLI to get them from environment variables (this also works if you do not specify anything), instance metadata, or the ECS container role.</li>
<li>There is a <code class="" data-line="">--debug</code> flag, which gives you a lot of output to see everything that&#8217;s happening behind the scenes.</li>
<li>In most cases you do not want that full debug output. <a href="https://docs.aws.amazon.com/cli/latest/reference/history/index.html">Enabling history and using <code class="" data-line="">aws history show</code></a> will give you the most relevant parts in an easy to read format.</li>
<li>The CLI has the annoying habit of resolving all urls you give it. You can disable this with <code class="" data-line="">aws configure set cli_follow_urlparam false</code>.</li>
<li>You can make S3 uploads and downloads go a lot faster by tweaking the <code class="" data-line="">max_concurrent_requests</code>. Or make it not exceed a certain speed with <code class="" data-line="">max_bandwith</code>. <a href="https://docs.aws.amazon.com/cli/latest/topic/s3-config.html#cli-aws-help-s3-config">See here for all options</a>.</li>
<li>The cli supports defining your own aliases. Look in <a href="https://github.com/awslabs/awscli-aliases">this awslabs repository</a> for examples.</li>
<li>Instead of relying on an external tool (that needs to be installed), you can get specific fields from the response by using <code class="" data-line="">--query</code>. Combine this with <code class="" data-line="">--output text</code> to strip json-specific syntax.</li>
<li>You can use completion in different shells.</li>
<li>There are waiters you can use directly from the command line, so you do not have to write your own check-sleep loops in bash.</li>
<li>Other useful cli tools include <a href="https://github.com/aws-cloudformation/cfn-python-lint">cfn-lint</a>, <a href="https://github.com/aws/aws-encryption-sdk-cli/">aws-encryption-sdk</a>, <a href="https://github.com/awslabs/aws-shell">aws-shell</a> and <a href="https://github.com/99designs/aws-vault">aws-vault</a></li>
<li><a href="https://docs.aws.amazon.com/cli/latest/userguide/install-cliv2.html">There is a version 2 coming</a>.</li>
</ul>
<p>The post <a href="https://cloudar.be/awsblog/aws-help-things-you-might-not-know-about-the-aws-cli/">$ aws help # things you might not know about the AWS CLI</a> appeared first on <a href="https://cloudar.be">Cloudar</a>.</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
