{"componentChunkName":"component---src-templates-blog-js","path":"/ctf/aws-formation/tp1-ec2","result":{"data":{"markdownRemark":{"html":"<h2>1 - IAM Lab</h2>\n<p>Identity and Access Management</p>\n<p>AWS Management Console</p>\n<p>Give acces to control permission and user, and create user groups</p>\n<p>Activate MFA on root account (email address with QR code on mobile (virtual MFA) )\n<strong>root account</strong> : Mode Dieu</p>\n<p>In identity access, its on a global access (not in an specific region)</p>\n<h3>add user</h3>\n<h4>create user</h4>\n<p>AWS access type :</p>\n<ul>\n<li>\n<p>Programmatic access</p>\n<ul>\n<li>Enables an access key ID and secret access key for the AWS API, CLI, SDK, and other development tools.</li>\n</ul>\n</li>\n<li>\n<p>AWS Management Console access</p>\n<ul>\n<li>Enables a password that allows users to sign-in to the AWS Management Console. </li>\n</ul>\n</li>\n</ul>\n<h4>add user to group</h4>\n<ol>\n<li>creation of group</li>\n<li>select policy of managed policy (ex Administrator Access)</li>\n<li>send access key ID and secret and pwd to user</li>\n<li>user will connect to <a href=\"https://akiros-training.signin.aws.amazon.com/console\">https://akiros-training.signin.aws.amazon.com/console</a></li>\n</ol>\n<h3>different policy</h3>\n<p>AdministratorAccess : Provides full access to AWS services and resources : anything on anything</p>\n<p><code>{ \"Version\": \"2012-10-17\", \"Statement\": [ { \"Effect\": \"Allow\", \"Action\": \"</code><em><code>\", \"Resource\": \"</code></em></p>\n<h3>account setting</h3>\n<p>A password policy is a set of rules that define the type of password an IAM user can set. Learn more\nPassword policy</p>\n<p>This AWS account uses a password policy</p>\n<h3>users - security credentials</h3>\n<p>console password != access keys &#x26; secret ?</p>\n<p><strong>Access keys</strong> : Use access keys to make secure REST or HTTP Query protocol requests to AWS service APIs. For your protection, you should never share your secret keys with anyone. As a best practice, we recommend frequent key rotation</p>\n<p><strong>SSH keys for AWS CodeCommit</strong> : Use SSH public keys to authenticate access to AWS CodeCommit repositories. </p>\n<h3>What are IAM roles?</h3>\n<p>IAM roles are a secure way to grant permissions to entities that you trust. Examples of entities include the following:</p>\n<ul>\n<li>IAM user in another account</li>\n<li>Application code running on an EC2 instance that needs to perform actions on AWS resources</li>\n<li>An AWS service that needs to act on resources in your account to provide its features</li>\n<li>Users from a corporate directory who use identity federation with SAML</li>\n</ul>\n<h3>conclusion</h3>\n<ul>\n<li>IAM is universal (pas de prise en compte reegion)</li>\n<li>root account !: account created when first setup your aws accoutn (admin access)</li>\n<li>\n<p>new users </p>\n<ul>\n<li>have NO permission firtly</li>\n<li>are assigned ot Access Key ID &#x26; Secret Access Keys</li>\n</ul>\n</li>\n<li>\n<p>console password != access keys &#x26; secret ?</p>\n<ul>\n<li>access keys &#x26; secret pour interroger l api</li>\n</ul>\n</li>\n<li>setup multifactor access on root account</li>\n<li>rotation of own pawd policies</li>\n</ul>\n<h2>2 - EC2 - 101</h2>\n<p>Quick Resizable compute capacity in the cloud : Amazon Elastic Compute Cloud</p>\n<p>provide virtual machine</p>\n<p>price : pay for what you, pay less more you use, pay less more your reserve</p>\n<h3>pricing model</h3>\n<ol>\n<li>On demand : Les instances à la demande vous permettent de payer la capacité de  calcul à l'heure ou à la seconde (60 secondes minimum) sans engagement à long terme. De cette manière, vous n'avez pas à subir le coût ni la  complexité de la planification, de l'achat et de la maintenance du  matériel : l'ensemble de ces frais fixes, habituellement élevés, est  transformé en des coûts variables bien moindres.</li>\n<li>Reserved : 1 à 3 ans de reservation</li>\n<li>consommation connue et preditable</li>\n<li>\n<p>reserved pricing types :</p>\n<ul>\n<li>standard </li>\n<li>convertible</li>\n<li>scheduled</li>\n</ul>\n</li>\n<li>spot (bid whatever price)</li>\n<li>dedicated hosts</li>\n</ol>\n<h3>instance types</h3>\n<p>F1 : Field Programmable Gate Array  -> Genomic research\nI3 : Hight Speed storage -> NoSQl, Data Warehousing\nP3 : High GPU -> ML and Bitcoin mining</p>\n<p>FIGHT(boxing) DR(doctor) MC(ireland) PX(pixie) ZAU(australia)</p>\n<p><a href=\"https://aws.amazon.com/fr/ec2/instance-types/\">https://aws.amazon.com/fr/ec2/instance-types/</a></p>\n<h2>3 - EC2 Lab</h2>\n<ol>\n<li>Service - Compute - EC2</li>\n<li>Choose AMI (Machine Image)</li>\n<li>Amazon Linux 2 AMI (HVM), SSD Volume Type - ami-01c72e187b357583b</li>\n<li>Choose an instance type</li>\n<li>T2 micro</li>\n<li>Configure Instance Details </li>\n<li>Network : VPC : Amazon Virtual Private Cloud (VPC) ; You can create a VPC and select your own IP address range, create subnets, configure route tables, and configure network gateways. </li>\n<li>Subnet : A range of IP addresses in your VPC that can be used to isolate different EC2 resources from each other or from the Internet. Each subnet resides in one Availability Zone. </li>\n<li>Placement group : A range of IP addresses in your VPC that can be used to isolate different EC2 resources from each other or from the Internet. Each subnet resides in one Availability Zone.</li>\n<li>Shutdown behaviour : stop or terminater</li>\n<li>Tenancy : You can choose to run your instances on physical servers fully dedicated for your use. </li>\n<li>Users details : bootstrap group</li>\n<li>Add storage : Your instance will be launched with the following storage device settings.</li>\n<li>volume type : root</li>\n<li>Add tags</li>\n<li>configuration of security groupes</li>\n<li>it s virtual firewall aloowing communication between port </li>\n<li>can create security group : Type (SSH or HTTP), Protocol (TCP), Port Range (22, 80), Source (IP one or custom)</li>\n<li>review</li>\n<li>create a key pair (public and private = asymatric key) :</li>\n<li>name</li>\n<li>Save it</li>\n<li>launch instance (terminal or plugin or connect (EC2 instance connect based on ssh))</li>\n</ol>\n<pre><code>$ ls\nMyUse1KP.pem\n$ mkdir SSH\n$ mv MyUse1KP.pem\n$ cd SSH\n$ CHMOD 400 MyUSE1KP.pem # modification of permission\n$ ssh ec2-user@MYIPV4IP -i MyUSE1KP.pem\n$ sudo su\n\n\n$ yum update -y\n$ yum install httpd -y #patched instance into a web server\n$ nano index.html # puis créer une petite page html\n$ service httpd start\n$ chkconfig on #\n</code></pre>\n<h2>4 - Security Group Basis - Labs</h2>\n<p>Security groups = collection of fire rules that restrict the traffic network for the instance</p>\n<ul>\n<li>\n<p>Edit inbound rules : Inbound rules control the incoming traffic that's allowed to reach the instance. </p>\n<ul>\n<li>All inbound traffic is blocked by default</li>\n</ul>\n</li>\n</ul>\n<pre><code>Security Groups associated with i-01c443205406e90b2\nPorts   Protocol    Source  aws-cloud9-ajallais-f2b0539af89c437ab43773dc8c3016b4-InstanceSecurityGroup-1LRG2SCQCWHDZ\n22  tcp 15.188.210.32/27, 15.188.210.64/27\n</code></pre>\n<ul>\n<li>\n<p>Edit outbound rules : Outbound rules control the outgoing traffic that's allowed to leave the instance.</p>\n<ul>\n<li>all outbound traffic is allowed</li>\n</ul>\n</li>\n<li>\n<p>Multiple </p>\n<ul>\n<li>several security group attached to an EC2 instance</li>\n<li>several EC2 instance attached to a security group </li>\n</ul>\n</li>\n<li>Modificaiton of rules takes effect immediately</li>\n<li>Security groups are Statefull : port in both sens</li>\n</ul>\n<p>We can not : </p>\n<ul>\n<li>blacklist an individual port or IP, we have to use Network Access Control List</li>\n<li>deny rules ( but we can specify new rules)</li>\n<li>Service - Compute - EC2</li>\n<li>Display instance -> see securoty group for eachh instance</li>\n<li>NETWORK &#x26; SECURITY - Security Groups</li>\n</ul>\n<h2>5 - EBS 101</h2>\n<p>Amazon Elastic Block Store\nprovides persistent block storage volume for use with amazon EC2 instance</p>\n<p>5 types of EBS Storage :</p>\n<ol>\n<li>General Purpose (SSD) = general</li>\n<li>Provisionel IOPS (SSD) = most expensive -> Databases</li>\n<li>Throughtput Optimised Hard Disk Drive (HDD) = low cost -> Big Data &#x26; Warehousing</li>\n<li>Cold Hard Disk Drive (HDD) = lowest cost -> Files Serveur</li>\n<li>Magnetic = previous generation of HDD</li>\n</ol>\n<p><img src=\"/assets/tp1-ec2-compare-ebs-types.png\" alt=\"ebs vs ebs type\" title=\"ebs-compare\"></p>\n<h2>6 - Volumes and SnapShot</h2>\n<p>EBS :  Amazon Elastic Block Store : Amazon Elastic Block Store (EBS) est un service de stockage par bloc hautes performances et simple d'utilisation conçu en vue d'une utilisation avec Amazon Elastic Compute Cloud (EC2) pour les charges de travail exigeantes en débit et en transactions à n'importe quelle échelle.\n<a href=\"https://aws.amazon.com/fr/ebs/?ebs-whats-new.sort-by=item.additionalFields.postDateTime&#x26;ebs-whats-new.sort-order=desc\">https://aws.amazon.com/fr/ebs/?ebs-whats-new.sort-by=item.additionalFields.postDateTime&#x26;ebs-whats-new.sort-order=desc</a></p>\n<ol>\n<li>Service - Compute - EC2</li>\n<li>Running instance</li>\n<li>Terminate EC2 instance</li>\n<li>\n<p>virtual machine (EC2) and virtual hard disk (volume) should be in the same region</p>\n<ul>\n<li>laquelle est determinante ? EC2 car la première </li>\n</ul>\n</li>\n<li>if we stop EC2 the Volume stop as welll few minutes later</li>\n</ol>\n<p>elastic block store - Volumes :</p>\n<ul>\n<li>st1 : optimized one</li>\n<li>sc1 : HDD</li>\n<li>gp2 : </li>\n</ul>\n<h3>Action on volumes</h3>\n<ul>\n<li>modify : we can modify on the fly : storage type, volume etc.</li>\n<li>create a snapshot -> create a version (photo of the disk at  a given times)</li>\n<li>\n<p>create an image -> transfert to a new instance</p>\n<ul>\n<li>copy in a different region</li>\n</ul>\n</li>\n<li>copy AMI in a different region based on an image</li>\n</ul>\n<h3>to remember</h3>\n<ul>\n<li>Volumes exist on EBS.  EBS = virtual hard disk</li>\n<li>snapshot exist on S3</li>\n<li>snapshot are incremental : only the block that have changed since your last snapshot are moved to s3</li>\n<li>should stop the instance before taking instance (it s better)</li>\n<li>We can create AMI's from Snapshot</li>\n<li>\n<p>to move an EC2 volume from one region to another :</p>\n<ul>\n<li>take a snapshot of it</li>\n<li>create an AMI from the snapshot</li>\n<li>copy the AMI from one region to antoehr</li>\n<li>use the copied AMI to laucn the new EC2 instance in the new region</li>\n</ul>\n</li>\n</ul>\n<h3>Amazon S3 vs EFS vs EBS Comparison</h3>\n<p><a href=\"https://www.msp360.com/resources/blog/amazon-s3-vs-ebs-vs-efs/\">https://www.msp360.com/resources/blog/amazon-s3-vs-ebs-vs-efs/</a></p>\n<p><img src=\"/assets/tp1-ec2-amazon-s3-vs-efs-vs-ebs-comparison.png\" alt=\"s3 comparison\" title=\"comparison\"></p>\n<h2>7 - AMI Types (EBS vs Instance Store)</h2>\n<h3>Selection criteria</h3>\n<ul>\n<li>Region</li>\n<li>Operating system</li>\n<li>Architecture</li>\n<li>launch permission</li>\n<li>\n<p>storage for the root device : </p>\n<ul>\n<li>EBS (created from a template stored in Amazon S2)</li>\n<li>Instance Store : Epheral storage (created from an Amazon EBS Snapshot)</li>\n</ul>\n</li>\n</ul>\n<h3>pratical</h3>\n<ol>\n<li>Service - Compute - EC2</li>\n<li>Community AMIs</li>\n<li>amzn2-ami-hvm-2.0.20200520.1-x86_64-gp2 - ami-01c72e187b357583b</li>\n<li>add storage : Your instance will be launched with the following storage device settings. You can attach additional EBS volumes and instance store volumes to your instance, or edit the settings of the root volume. You can also attach additional EBS volumes after launching an instance, but not instance store volumes</li>\n<li>volume type are instance store</li>\n<li>reboot</li>\n</ol>\n<p>we can not see AMI storage but only instance store volume</p>\n<p>difference between system status checks and instance status checks ?</p>\n<h3>to remember</h3>\n<ul>\n<li>Instances Store Volumes are someteimes called Ephemeral Storage</li>\n<li>Innstace store volumes cannot be stopped</li>\n<li>EBS backed instance can be stopped</li>\n<li>you can reboot both (no loose of data)</li>\n<li>\n<p>by default, both root volumes will be deleted on termination</p>\n<ul>\n<li>on EBS volumes you can tell AWS to keep the root device volume </li>\n</ul>\n</li>\n</ul>\n<h2>8 - ENI vs ENA vs EFA</h2>\n<p><a href=\"https://www.edureka.co/community/37301/difference-between-efa-eni-and-ena-eni\">https://www.edureka.co/community/37301/difference-between-efa-eni-and-ena-eni</a></p>\n<p>An ENA ENI is used to serve traditional IP networking features that is necessary to support VPC.\nAn EFA ENI is used to provide all the functionality of an ENA ENI and also hardware support for applications which communicates directly with the EFA ENI even without involving the instance kernel using an extended programming interface. </p>\n<p>ENI : Elastic Network Interface = virtual network card\nEN : Enhanced Networking = single root I/O -> high performace networking capabilities\nEFA : Elastic Fabric Adapter = network device, can attach to your EC2 to boost HPC and ML application</p>\n<p>HPC : High Performance Computing</p>\n<p><img src=\"/assets/tp1-ec2-enhanced-networking.png\" alt=\"enhanced\" title=\"neworking\"></p>\n<h2>9 - Encrypted Root Device Volumes and Snapshot</h2>\n<p>Root device volumes = Disk</p>\n<h3>to remember</h3>\n<ul>\n<li>Snapshots of encrypted volumes are encrypted atomatically</li>\n<li>Volumes restored from encrypted snapshot are encrypted automatically</li>\n<li>You can share snapshot, only if they are unencrypted</li>\n<li>these snapshots can be shared with other AWS accounts or made public</li>\n<li>\n<p>you can encrypt root device volumes upon creation of the EC2 instance</p>\n<ul>\n<li>if we do not have an encrypt root device volume to process for making an unencrypted, do the following  :</li>\n<li>Create a snapshot of the unencrypted root device volume</li>\n<li>create a copy of the snapshot and select the encrypt option</li>\n<li>create an ami from the encrypted snapshot</li>\n<li>use that AMI to laucnh new encrypted instances</li>\n</ul>\n</li>\n</ul>\n<h2>10 - CloudWatch 101</h2>\n<p><a href=\"https://aws.amazon.com/fr/cloudwatch/\">https://aws.amazon.com/fr/cloudwatch/</a>\nAmazon CloudWatch est un service de surveillance et d'observabilité conçu pour les ingénieurs DevOps, les développeurs, les ingénieurs en fiabilité de sites (SRE) et les responsables informatiques. CloudWatch vous fournit des données et informations exploitables dont vous avez besoin pour surveiller vos applications, réagir aux variations de performance sur l’ensemble du système, optimiser l’utilisation des ressources et avoir une appréciation unifiée de la santé opérationnelle. CloudWatch collecte les données opérationnelles et de surveillance sous forme de journaux, de métriques et d’événements pour vous permettre d’avoir une appréciation unifiée des ressources, des applications et des services AWS exécutés sur AWS et sur des serveurs sur site. Vous pouvez utiliser CloudWatch pour déceler des comportements anormaux dans vos environnements, définir des alarmes, visualiser les journaux et les métriques côte à côte, agir automatiquement, faire des dépannages et trouver les informations utiles au bon\nfonctionnement de vos applications.</p>\n<h3>to remember</h3>\n<ul>\n<li>Cloud watch is used for monitoring performance</li>\n<li>Cloud watch can monitor most of AWS (ex : Applications)</li>\n<li>Cloud watch with EC2 will monitor every 5minutes by default</li>\n<li>you can have 1 minute intervals by turnin in detailed monitoring</li>\n<li>you create Cloud watch alarms trigger notifications </li>\n<li>Cloud watch (performance) != CloudTrail (auditing, monitor API calls in  the AWS plateform)</li>\n</ul>\n<h2>11 - CloudWatch Lab</h2>\n<h3>to remember</h3>\n<ul>\n<li>\n<p>monitoring</p>\n<ul>\n<li>standard = 5 minutes</li>\n<li>detailed = 1 minutes </li>\n</ul>\n</li>\n<li>\n<p>what can we do with cloudWatch</p>\n<ul>\n<li>dashboard (to see what s happening in your AWS environnement)</li>\n<li>alarms (notify when a particular threshold are hit)</li>\n<li>events (respond to state changes in your AWS ressources)</li>\n<li>logs (aggregate, moniitor and sotre your log data) </li>\n</ul>\n</li>\n</ul>\n<h2>12 - EFS Lab</h2>\n<p>Elastic Files System\nAutomaticaly add or remove storage ressource to adapt to application needs</p>\n<h3>to remember</h3>\n<ul>\n<li>support the network File System version 4 (NFSv4) protocol</li>\n<li>you only pay for the storage used</li>\n<li>can scale up to petabytes</li>\n<li>can support thousand od concurrent NFS connection</li>\n<li>Data is stores accress multiple AZ's within region</li>\n<li>\n<p>Read After Write Consistency</p>\n<ul>\n<li><a href=\"*%20*%20https://medium.com/@avik.das/scalability-concepts-read-after-write-consistency-3ff70b71e1d1\">https://medium.com/@avik.das/scalability-concepts-read-after-write-consistency-3ff70b71e1d1</a></li>\n</ul>\n</li>\n</ul>\n<p><img src=\"/assets/tp1-ec2-rawc.png\" alt=\"If you’ve ever had new content disappear on you, you may have encountered read-after-write inconsistency\" title=\"rawc\"></p>\n<p><img src=\"/assets/tp1-ec2-rawuc.png\" alt=\"The write happens in the database on the left, but the read happens on the  database on the right. If the replication between the two hasn’t  finished, the read will find out-of-date data.\" title=\"rawuc\"></p>\n<h2>13 - FSX for Windows &#x26; FSX for Lustre</h2>\n<p><img src=\"/assets/tp1-ec2-wfsx-vs-efs.png\" alt=\"wfsx\" title=\"wfsx\"></p>\n<p><img src=\"/assets/tp1-ec2-lustrefsx-vs-efs.png\" alt=\"lustre\" title=\"lustrefsx\"></p>\n<ul>\n<li>EFS : distributed highly resilient storage for linux app</li>\n<li>Amazon FSX for Windows : centralised storage for Windows app</li>\n<li>Amazon FSx for Lustre : high speed, high capacity distributed storage for HPC performance (Lustre can store data directly on s3)</li>\n</ul>\n<h2>14 - EC2 Placement groups</h2>\n<p>Spread placement group = grp of instance that are each place on distinct underlying harware</p>\n<p>recommanded ofr app with small number of critical instance that should be kept separate from each other</p>\n<p>= INDIVIDUAL INSTANCES</p>\n<h3>to remember</h3>\n<ul>\n<li>a clustered placement group can't span multiple AZ</li>\n<li>a spread placement and partitionned group can</li>\n<li>the name you specify for a placement group must be unique within your AWS account</li>\n<li>only certain types of instances can be laucnhed in a placement group (Comput Optimized, GPU, Memory Optimized, Storage Optimized)</li>\n<li>AWS recommend homogenous instances whitin clustered placement groups</li>\n<li>can not merge placement groups</li>\n<li>\n<p>can move an existing instance into a placement group :</p>\n<ul>\n<li>before you move the instance must be in the stopped state</li>\n<li>you can move or remove an instance using AWS CLI or AWS SDK (not in the console yet)</li>\n</ul>\n</li>\n</ul>\n<h2>15 - AWS WAF</h2>\n<p>AWS WAF = web app firewall :</p>\n<ul>\n<li>\n<p>to monitor HTTP and HTTPS request that are forwarded to :</p>\n<ul>\n<li>Amazon CloudFront</li>\n<li>application load Balancer</li>\n<li>API Gateway</li>\n</ul>\n</li>\n<li>to control access to yout content </li>\n</ul>\n<h3>to remember</h3>\n<p><em>how to block malicious IP addresses ?</em></p>\n<p>AWS WAF != Networks ACLs</p>","frontmatter":{"date":"July 31, 2020","path":"ctf/aws-formation/tp1-ec2","title":"TP1 - EC2","tags":["cloud","ec2","aws"],"categorie":"ctf","thumbnail":"/assets/alex-machado-80sv993luki-unsplash.jpg"},"fields":{"readingTime":{"text":"14 min read"}}},"file":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMEBf/EABUBAQEAAAAAAAAAAAAAAAAAAAED/9oADAMBAAIQAxAAAAGFz11jKaIn/8QAGhAAAgMBAQAAAAAAAAAAAAAAAAECERMSMf/aAAgBAQABBQLm3gxwaJTxe1i8/8QAGBEAAgMAAAAAAAAAAAAAAAAAAAECElH/2gAIAQMBAT8BUdKn/8QAFhEBAQEAAAAAAAAAAAAAAAAAABEB/9oACAECAQE/Abqv/8QAGhAAAQUBAAAAAAAAAAAAAAAAAQACEBESIv/aAAgBAQAGPwJckOjObVBtR//EABwQAQACAgMBAAAAAAAAAAAAAAEAETFBIWFxkf/aAAgBAQABPyEVB9ih2jUSxfkFQDkWX4Ju5grU/9oADAMBAAIAAwAAABDjD//EABYRAQEBAAAAAAAAAAAAAAAAAAEAIf/aAAgBAwEBPxAA1M//xAAWEQEBAQAAAAAAAAAAAAAAAAABIRD/2gAIAQIBAT8QWYTP/8QAGhABAQEAAwEAAAAAAAAAAAAAAREAIUFxwf/aAAgBAQABPxAYkFlcFzRnCFCH3zCCggiKI5gk6hL1lpwEhs0zEABv/9k=","aspectRatio":1.4970059880239521,"src":"/static/11cdcb302d032fa2db3a46428a8f74c9/a7715/alex-machado-80sv993luki-unsplash.jpg","srcSet":"/static/11cdcb302d032fa2db3a46428a8f74c9/8f7df/alex-machado-80sv993luki-unsplash.jpg 250w,\n/static/11cdcb302d032fa2db3a46428a8f74c9/0f3a1/alex-machado-80sv993luki-unsplash.jpg 500w,\n/static/11cdcb302d032fa2db3a46428a8f74c9/a7715/alex-machado-80sv993luki-unsplash.jpg 1000w,\n/static/11cdcb302d032fa2db3a46428a8f74c9/37d86/alex-machado-80sv993luki-unsplash.jpg 1500w,\n/static/11cdcb302d032fa2db3a46428a8f74c9/a41d1/alex-machado-80sv993luki-unsplash.jpg 2000w,\n/static/11cdcb302d032fa2db3a46428a8f74c9/6a059/alex-machado-80sv993luki-unsplash.jpg 6000w","sizes":"(max-width: 1000px) 100vw, 1000px"}}}},"pageContext":{"slug":"ctf/aws-formation/tp1-ec2","featuredImage":"alex-machado-80sv993luki-unsplash.jpg"}}}