<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Dhfernando</title>
    <description>The latest articles on DEV Community by Dhfernando (@dhfernando).</description>
    <link>https://dev.to/dhfernando</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F745651%2F46f67a76-58d2-42ef-b3c7-23fd752848c4.jpeg</url>
      <title>DEV Community: Dhfernando</title>
      <link>https://dev.to/dhfernando</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/dhfernando"/>
    <language>en</language>
    <item>
      <title>Advance Identity in AWS</title>
      <dc:creator>Dhfernando</dc:creator>
      <pubDate>Sat, 06 May 2023 19:28:40 +0000</pubDate>
      <link>https://dev.to/aws-builders/advance-identity-in-aws-nec</link>
      <guid>https://dev.to/aws-builders/advance-identity-in-aws-nec</guid>
      <description>&lt;p&gt;Hello Developers!&lt;br&gt;
Here i dropped short note about &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Organization concept in AWS&lt;/li&gt;
&lt;li&gt;SCP Hierarchy&lt;/li&gt;
&lt;li&gt;IAM conditions&lt;/li&gt;
&lt;li&gt;Deference between IAM roles and Resource Based Policies&lt;/li&gt;
&lt;li&gt;IAM Permission Boundaries&lt;/li&gt;
&lt;li&gt;AWS Identity Center&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Lets talk about one by one&lt;/p&gt;

&lt;h2&gt;
  
  
  Organization concept in AWS
&lt;/h2&gt;

&lt;p&gt;So, sometimes we need to work with multiple AWS accounts, in this case this global service helps to achive it. this service allows to manage multiple AWS accounts. &lt;/p&gt;

&lt;p&gt;Important to know, There is only one main account and this account has super power to manage other member account (rest account know as member accounts). &lt;br&gt;
Also member accounts cannot be a part of other organization, or member account can onlu be part of one organization.&lt;/p&gt;

&lt;p&gt;Please refer below attachment to get better idea of this concept&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LoNN83en--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/krcmfkfj9awao62s7fqk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LoNN83en--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/krcmfkfj9awao62s7fqk.png" alt="Image description" width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see, Root Organizational unit (OU), which is the outermost of your account. within this root ou we can set Main organizarion or management account.&lt;br&gt;
After then we can create sub OUs. you can see we set up two OUs which is Dev OU and Prod OU. Then we can create member accounts within it. Also we can create another level of account as Prod OU. So, we can extend our hirachical tree as much as we want. &lt;/p&gt;

&lt;p&gt;So why do we need this concept ?&lt;br&gt;
Actually, we can gain lots of advantages. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Better security - for example, having multiple VPC in single account is less secure than having multiple accounts because accounts more separated than VPCs.&lt;/li&gt;
&lt;li&gt;Use tagging standards for billing purposes.&lt;/li&gt;
&lt;li&gt;Enable CloudTrail on all accounts, send logs to central S3 account&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Security: SCP or Service control policies&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  SCP Hierarchy
&lt;/h2&gt;

&lt;p&gt;This is an IAM policy which applied to OU or Accounts to restrict Users and Role &lt;br&gt;
Important to know: This SCP policies not apply to manage account, which mean manage account or root accout has full admin power.&lt;/p&gt;

&lt;p&gt;refer below attachment to get better idea of SCP&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GqjaRAyM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s4axmhbi3aony2obgmjx.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GqjaRAyM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/s4axmhbi3aony2obgmjx.png" alt="Image description" width="800" height="442"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Management Account&lt;/strong&gt;: No restrictions even defined DenyAccessAthena SCP to Management Account. Still management account has access to Athena.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Account A&lt;/strong&gt;: Since Root OU has FullAWSAccess SCP, Account A also inherit that abilities. But prod OU has DenyRedshift SCP, there for this account Can do anything EXCEPT access Redshift (explicit Deny from OU).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Account B&lt;/strong&gt;: Same as account A, Can do anything EXCEPT access Redshift (explicit Deny from Prod OU) and EXCEPT access Lambda (explicit Deny from HR OU).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Account C&lt;/strong&gt;: Can do anything EXCEPT access Redshift (explicit Deny from Prod OU)&lt;/p&gt;

&lt;p&gt;There are two strategies in SCP&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Blocklist &lt;/li&gt;
&lt;li&gt;Allowlist &lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  IAM Conditions
&lt;/h2&gt;

&lt;p&gt;These conditions apply to policies within IAM. So, that can be for your resource policies like S3. Actually, it could be anything.&lt;/p&gt;

&lt;p&gt;Condition-1: ass:SouceIp - with the help of this condition, we can restrict the client IP from which the API calls are being made&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--G7tz8prI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ue7f0vgj48uvjmrj2163.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--G7tz8prI--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ue7f0vgj48uvjmrj2163.png" alt="Image description" width="800" height="434"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;in this approach we can ensure that only your company can access your own AWS environment. &lt;/p&gt;

&lt;p&gt;Condition-2: ass:RequestedRegion - with the help of this condition, we can restrict the region the API calls are made to&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_GBEXtul--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6x3algqlj794jy9e74ge.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_GBEXtul--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6x3algqlj794jy9e74ge.png" alt="Image description" width="800" height="418"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Condition-3: ass:ResourceTag - with the help of this condition, we can restrict based on tags&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WDhyyUnb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ibeiaptm864vusyry1l7.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WDhyyUnb--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ibeiaptm864vusyry1l7.png" alt="Image description" width="800" height="431"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Condition-4: ass:MultiFactorAuthPresent - with the help of this condition, we can to force MFA&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Jj4j0WCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b931yqmjsucskheojl5s.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Jj4j0WCp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b931yqmjsucskheojl5s.png" alt="Image description" width="800" height="544"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;IAM for S3&lt;/strong&gt;&lt;br&gt;
This is a bit tricky one, So lets discuss about it.&lt;br&gt;
refere this attachment which consist S3 Policy. &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--xvCh6FYr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3xl12c9wgk4zfsd76v94.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--xvCh6FYr--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3xl12c9wgk4zfsd76v94.png" alt="Image description" width="800" height="760"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There is two statements&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;s3:ListBucket permission applies to arn:aws:s3:::test
Because this is bucket level permission
but&lt;/li&gt;
&lt;li&gt;s3:GetObject, s3:PutObject, s3:DeleteObject applies to arn:awn:s3:::test/*
because these are object level permission.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  IAM Roles vs Resource Based Policies
&lt;/h2&gt;

&lt;p&gt;Lets talk about what is the fundamental difference between IAM Roles vs Resource Based Policies.&lt;/p&gt;

&lt;p&gt;Assume if you want to perform API call on a S3 bucket, then you do have two ways to achive it. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--prtzVd30--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pbet89kt8d22z9uobcnh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--prtzVd30--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pbet89kt8d22z9uobcnh.png" alt="Image description" width="800" height="267"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;attach a role to a user&lt;/li&gt;
&lt;li&gt;handle bucket policy&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So, what is the different ? &lt;br&gt;
&lt;em&gt;When you assume a role (user, application or service), you give up your original permissions and take the permissions assigned to the role&lt;br&gt;
When using a resource-based policy, the principal doesn’t have to give up his permissions&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  IAM Permission Boundaries
&lt;/h2&gt;

&lt;p&gt;Important point, IAM Permission Boundaries are only for users and roles &lt;strong&gt;NOT&lt;/strong&gt; for Groups.&lt;br&gt;
Advance feature to use a managed policy to set the maximum permissions an IAM entity can get.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kixKRBV5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pxgajfmdthymybq5qv1k.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kixKRBV5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/pxgajfmdthymybq5qv1k.png" alt="Image description" width="800" height="308"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We have this IAM permission boundaries. It looks just like an IAM policy. So we're saying, allow everything on S3 CloudWatch and EC2. So we attach this, for example, to an IAM user and that's its permission boundaries. That means that it can only do things within S3 CloudWatch and EC2. And then you need to specify on top of things an IAM permission through policy. And so here, say we attach to the very same user, allow iam:CreateUser, resource *. So there is a boundary and there is an IAM policy with permissions. What is going to be the results permission in this case? Well, nothing, no permissions because the IAM policy is outside the IAM permission boundary. Therefore, our user is not allowed to create other IAM users because that is not in its IAM permission boundary.&lt;/p&gt;

&lt;p&gt;Effective permissions ?? &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SC3fs3jc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v2hxism9m0iexudc9bkw.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SC3fs3jc--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v2hxism9m0iexudc9bkw.png" alt="Image description" width="800" height="613"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Example IAM Policy
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--HrW4G-J5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o4wnsep3mlndm2gc6z9c.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--HrW4G-J5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/o4wnsep3mlndm2gc6z9c.png" alt="Image description" width="800" height="1025"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Q1 - Can you perform create SQS queue ? &lt;br&gt;
No, You can't. The reason is first statement Deny all the SQS actions, so you cant.&lt;/p&gt;

&lt;p&gt;Q2 - Can you Delete Queue ? &lt;br&gt;
No, you can't. Even the second statement allow to delete queue permission, first statement blocked this DeleteQueue effect.&lt;/p&gt;

&lt;p&gt;Q3 - Can you Describe EC2 Instance ?&lt;br&gt;
No you can't. Even there is no Deny this action, this IAM policy don't describe any EC2 actions. which mean no access to EC2. &lt;/p&gt;

&lt;h2&gt;
  
  
  AWS Identity Center
&lt;/h2&gt;

&lt;p&gt;This is a successor to AWS Single Sign-On service.&lt;br&gt;
This service provides &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;One login (single sign-on) for all your&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;AWS accounts in AWS Organizations&lt;/li&gt;
&lt;li&gt;Business cloud applications (e.g., Salesforce, Box, Microsoft 365, …)&lt;/li&gt;
&lt;li&gt;SAML2.0-enabled applications&lt;/li&gt;
&lt;li&gt;EC2 Windows Instances&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Identity providers&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Built-in identity store in IAM Identity Center&lt;/li&gt;
&lt;li&gt;3rd party: Active Directory (AD), OneLogin, Okta...&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--LQyGbrKp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wiaaj9k7qje4w7ok9683.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--LQyGbrKp--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/wiaaj9k7qje4w7ok9683.png" alt="Image description" width="800" height="342"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;PS: This article is based on the concepts I learned from Stephan Maarek's &lt;a href="https://www.udemy.com/course/aws-certified-solutions-architect-associate-saa-c03/?kw=aws+sol&amp;amp;src=sac"&gt;AWS Solutions Architect - Associate&lt;/a&gt; course. I would like to thank Stephan for his excellent teaching and for sharing his deep expertise in AWS. Without his guidance, this article would not have been possible. If you're looking to expand your AWS knowledge, I highly recommend Stephan's courses.&lt;/p&gt;

</description>
      <category>organization</category>
      <category>scphierarchy</category>
      <category>iamconditions</category>
      <category>iamroles</category>
    </item>
    <item>
      <title>Bastion Host in AWS VPC</title>
      <dc:creator>Dhfernando</dc:creator>
      <pubDate>Wed, 05 Apr 2023 13:23:46 +0000</pubDate>
      <link>https://dev.to/aws-builders/bastion-host-in-aws-vpc-2i63</link>
      <guid>https://dev.to/aws-builders/bastion-host-in-aws-vpc-2i63</guid>
      <description>&lt;p&gt;When it comes to cloud computing, security is of utmost importance. AWS provides a Virtual Private Cloud (VPC) service that enables users to create a private cloud environment within the AWS infrastructure. The VPC service allows users to create their own isolated network within the AWS infrastructure. One of the most critical components of securing an AWS VPC environment is a bastion host. A bastion host is a server that is deployed within the VPC environment, acting as a gateway between the internet and the private VPC environment. In this article, we will explore what a bastion host is, its purpose, and how it works in an AWS VPC environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is a Bastion Host?
&lt;/h2&gt;

&lt;p&gt;A bastion host is an EC2 instance that acts as a secure gateway to access private instances within an AWS VPC (Virtual Private Cloud) environment. It is a dedicated server that provides secure access to resources in the private network from outside the VPC. The bastion host is often referred to as a jump host or jump server because it is used to jump from the internet into the private network.&lt;/p&gt;

&lt;p&gt;To understand how a bastion host works in AWS VPC, we need to first understand what an AWS VPC is. A VPC is a virtual network dedicated to a single AWS account that provides complete control over network configurations, including the IP address range, subnets, and route tables. The VPC is logically isolated from other virtual networks in the AWS cloud and from the internet. However, to connect to resources inside the VPC from the internet, we need a bastion host.&lt;/p&gt;

&lt;h2&gt;
  
  
  How Does a Bastion Host Work in AWS VPC?
&lt;/h2&gt;

&lt;p&gt;When we deploy a bastion host in the public subnet of a VPC, it is assigned a public IP address, making it accessible from the internet. To use the bastion host, authorized users connect to it via SSH (Secure Shell) or RDP (Remote Desktop Protocol) using their own authentication credentials. Once the user is authenticated, they can then use the bastion host to access resources inside the VPC.&lt;/p&gt;

&lt;p&gt;To do this, the bastion host must be configured with appropriate networking settings, including a security group, route table, and elastic IP address. The security group must allow inbound traffic from authorized IP addresses and restrict all other traffic. The route table must be configured to allow traffic to flow from the internet to the public subnet where the bastion host resides.&lt;/p&gt;

&lt;p&gt;Once the bastion host is properly configured, authorized users can connect to it from the internet using SSH or RDP. They can then use the bastion host as a secure gateway to access resources inside the VPC. For example, users can SSH or RDP from the bastion host to a private instance inside the VPC, using its private IP address. The connection is secure because it is tunneled through the bastion host, which acts as a single entry point to the VPC network.&lt;/p&gt;

&lt;p&gt;One of the key benefits of using a bastion host in AWS VPC is enhanced security. Since the bastion host acts as a single point of entry to the VPC network, it provides a more secure way to access resources inside the private network from the internet. It also enables users to connect to the VPC without exposing any of the private instances directly to the internet.&lt;/p&gt;

&lt;p&gt;Another benefit of using a bastion host is simplified access. Instead of configuring VPN connections or creating public-facing instances, a bastion host provides a simpler and more secure way to access resources inside the VPC network from the internet.&lt;/p&gt;

&lt;p&gt;A bastion host also provides scalability benefits. Since it is an EC2 instance, it can be easily scaled up or down depending on demand. Multiple bastion hosts can also be deployed to handle increased traffic, ensuring that there is always sufficient capacity to handle user requests.&lt;/p&gt;

&lt;p&gt;In terms of management, a bastion host can be easily deployed and managed using AWS tools like CloudFormation, AWS CLI, or AWS console. It can also be configured with appropriate networking settings using AWS APIs.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qlwg5nf5pyssr6su8hv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F6qlwg5nf5pyssr6su8hv.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To use a bastion host in an AWS VPC, you need to deploy the bastion host within the VPC. Once the bastion host is deployed, you can configure it to allow secure access to the private instances within the VPC. The bastion host typically has two network interfaces, one for the internet-facing side and one for the VPC-facing side.&lt;/p&gt;

&lt;p&gt;To access the private instances within the VPC, you need to connect to the bastion host first. Once you are connected to the bastion host, you can use it as a jump server to connect to the private instances within the VPC. The bastion host provides a secure way to access the private instances, as it only allows authorized users to connect to the private instances.&lt;/p&gt;

&lt;h2&gt;
  
  
  Benefits of Using a Bastion Host in AWS VPC
&lt;/h2&gt;

&lt;p&gt;There are several benefits of using a bastion host in an AWS VPC environment:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Enhanced Security:&lt;br&gt;
The use of a bastion host provides an additional layer of security to your VPC environment. It acts as a buffer between the internet and your private instances and allows for secure access to those instances from authorized users only. Bastion host also provides control over access through a single entry point, which can help to monitor and detect potential security threats.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Simplified Access:&lt;br&gt;
A bastion host simplifies access to private instances within the VPC. Instead of creating a public-facing instance or a VPN connection, the bastion host acts as a jump server that enables authorized users to connect to private instances securely. This simplified access can reduce complexity and administrative overheads.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Scalability:&lt;br&gt;
Bastion host is highly scalable and can handle multiple users simultaneously, making it an ideal solution for large-scale deployments. It can accommodate multiple concurrent SSH or RDP connections, and multiple bastion hosts can be deployed to handle increased demand.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cost-Effective:&lt;br&gt;
Deploying a bastion host is a cost-effective solution for accessing private instances within a VPC environment. It eliminates the need for a public-facing instance, which can be expensive to deploy and maintain. Moreover, the cost of a bastion host instance is relatively low compared to other solutions like VPN or direct connect.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Logging and Auditing:&lt;br&gt;
The use of a bastion host enables centralized logging and auditing of all user activity, including commands executed on private instances. This feature helps to monitor and detect potential security threats, and ensure compliance with regulatory requirements.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Improved Performance:&lt;br&gt;
By using a bastion host, the load on the private instances is reduced, resulting in improved performance. As the bastion host provides access to the private instances, it can be optimized for performance and security, resulting in faster and more efficient access to private instances.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Easy to Manage:&lt;br&gt;
Bastion host instances can be easily deployed and managed using AWS tools like CloudFormation, AWS CLI, or AWS console. They can be configured to automatically scale based on demand, ensuring that there is always sufficient capacity to handle user requests.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion:&lt;/p&gt;

&lt;p&gt;In conclusion, a bastion host is an essential component for securing an AWS VPC environment, providing enhanced security, simplified access, scalability, and easy management. By using a bastion host, you can ensure secure and controlled access to private instances within the VPC environment, reduce complexity and overheads, and improve overall performance and security.&lt;/p&gt;

&lt;p&gt;Hope something learn from this see you in the next article&lt;/p&gt;

</description>
      <category>aws</category>
      <category>bastionhost</category>
      <category>awsvpc</category>
      <category>vpc</category>
    </item>
    <item>
      <title>AWS Pipeline + GitHub: Automating Your Software Delivery Process</title>
      <dc:creator>Dhfernando</dc:creator>
      <pubDate>Fri, 17 Feb 2023 05:30:58 +0000</pubDate>
      <link>https://dev.to/aws-builders/aws-pipeline-github-automating-your-software-delivery-process-55i0</link>
      <guid>https://dev.to/aws-builders/aws-pipeline-github-automating-your-software-delivery-process-55i0</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwl8lacutixr6f0x28f9.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ftwl8lacutixr6f0x28f9.png" alt=" " width="800" height="479"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The process of delivering software can be a complicated, error-prone, and time-consuming task. AWS Pipeline is a service that helps you to automate your software delivery process, making it faster, more reliable, and less prone to errors.&lt;/p&gt;

&lt;p&gt;AWS Pipeline is a continuous integration and continuous delivery (CI/CD) service that automates the software delivery process. It is a fully managed service that is designed to help developers build, test, and deploy their applications quickly and efficiently.&lt;/p&gt;

&lt;p&gt;With AWS Pipeline, you can automate the building, testing, and deployment of your application. This means that every time you make changes to your code, AWS Pipeline will automatically build and test it. If the tests pass, it will deploy the new code to the production environment.&lt;/p&gt;

&lt;p&gt;The AWS Pipeline workflow consists of several stages, including source, build, test, deploy, and verify. The source stage is where you store your code, and AWS Pipeline supports several source control systems, including GitHub, AWS CodeCommit, and Bitbucket.&lt;/p&gt;

&lt;p&gt;The build stage is where your code is compiled and packaged. AWS Pipeline supports several build tools, including AWS CodeBuild, Jenkins, and Travis CI. The test stage is where you run automated tests to ensure that the code is functioning correctly.&lt;/p&gt;

&lt;p&gt;The deploy stage is where you push your code to the production environment. AWS Pipeline supports several deployment tools, including AWS Elastic Beanstalk, AWS Lambda, and Amazon EC2.&lt;/p&gt;

&lt;p&gt;The final stage is the verify stage, where you can perform manual tests or use automated testing tools to ensure that the deployment was successful.&lt;/p&gt;

&lt;p&gt;One of the benefits of using AWS Pipeline is that it integrates with other AWS services. For example, you can use AWS CodeDeploy to deploy your code to Amazon EC2 instances or AWS Lambda functions. You can also use AWS CloudFormation to create and manage your infrastructure.&lt;/p&gt;

&lt;p&gt;Another benefit of AWS Pipeline is that it allows you to define and customize your workflow. You can create multiple pipelines for different environments, such as development, staging, and production. You can also customize the stages and the tools used in each stage.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Let's see who can we integrate with git and AWS pipeline&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;Git is a popular distributed version control system used by developers to manage source code and collaborate on software development projects. Amazon Web Services (AWS) provides a pipeline service to build, test, and deploy your applications continuously. Integrating Git with AWS pipeline allows you to automate the process of building, testing, and deploying your code changes. This integration will improve your team's productivity and speed up the development process. In this article, we will go through the steps to integrate Git with AWS pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;- Prerequisites&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;AWS account&lt;/li&gt;
&lt;li&gt;Git installed on your local machine&lt;/li&gt;
&lt;li&gt;Basic knowledge of AWS pipeline&lt;/li&gt;
&lt;li&gt;Basic knowledge of Git&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Step 1: Create an AWS CodeCommit Repository&lt;/strong&gt;&lt;br&gt;
The first step is to create an AWS CodeCommit repository to store your code. AWS CodeCommit is a fully-managed source control service that provides secure, scalable, and highly available repositories for your code. To create a CodeCommit repository, follow these steps:&lt;/p&gt;

&lt;p&gt;Login to your AWS account and go to the CodeCommit console.&lt;br&gt;
Click on the "Create repository" button.&lt;br&gt;
Give your repository a name and a description, and then click the "Create" button.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2: Clone the CodeCommit Repository&lt;/strong&gt;&lt;br&gt;
Next, you will need to clone the CodeCommit repository to your local machine. To do this, follow these steps:&lt;/p&gt;

&lt;p&gt;Go to the CodeCommit console and click on the name of the repository you just created.&lt;br&gt;
Click on the "Clone URL" button and copy the URL.&lt;br&gt;
Open a terminal on your local machine and navigate to the directory where you want to clone the repository.&lt;br&gt;
Type the following command and replace &lt;code&gt;&amp;lt;clone-url&amp;gt;&lt;/code&gt;with the URL you just copied: &lt;code&gt;git clone &amp;lt;clone-url&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3: Create a Git Branch&lt;/strong&gt;&lt;br&gt;
The next step is to create a Git branch to work on. A branch is a separate line of development that allows you to work on a feature or bug fix without affecting the main branch. To create a new branch, follow these steps:&lt;/p&gt;

&lt;p&gt;In the terminal, navigate to the directory where you cloned the repository in the previous step.&lt;br&gt;
Type the following command to create a new branch: &lt;code&gt;git checkout -b &amp;lt;new-branch-name&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4: Make Code Changes and Commit Them&lt;/strong&gt;&lt;br&gt;
Now that you have a branch to work on, you can make code changes and commit them to the branch. To make code changes, follow these steps:&lt;/p&gt;

&lt;p&gt;Open the code editor of your choice and make the necessary code changes.&lt;br&gt;
Save the changes and return to the terminal.&lt;br&gt;
Type the following command to add the changes to the staging area: git add .&lt;br&gt;
Type the following command to commit the changes: &lt;code&gt;git commit -m "&amp;lt;commit-message&amp;gt;"&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 5: Push the Code Changes to CodeCommit&lt;/strong&gt;&lt;br&gt;
The final step is to push the code changes to CodeCommit. To do this, follow these steps:&lt;/p&gt;

&lt;p&gt;Type the following command to push the changes to CodeCommit: &lt;code&gt;git push -u origin &amp;lt;new-branch-name&amp;gt;&lt;/code&gt;&lt;br&gt;
Enter your AWS credentials when prompted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 6: Create an AWS CodePipeline&lt;/strong&gt;&lt;br&gt;
In this step, we will create an AWS CodeDeploy application and deployment group to deploy our code changes. To do this, follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to the AWS CodeDeploy console.&lt;/li&gt;
&lt;li&gt;Click on the "Create application" button.&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Configure the application settings as follows:&lt;br&gt;
     - Give your application a name and description.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the "Create application" button to create the application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click on the "Create deployment group" button.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Configure the deployment group settings as follows:&lt;/p&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; 1. Give your deployment group a name and description.
 2. Choose the appropriate deployment type for your project (e.g., In-place deployment).
 3. Choose the instances that will be part of the deployment group.
 4. Choose the appropriate deployment settings (e.g., deployment configuration, load balancer, etc.).
&lt;/code&gt;&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Click on the "Create deployment group" button to create the deployment group.&lt;/p&gt;

&lt;p&gt;Once your pipeline is created, any changes you push to your Git repository will automatically trigger a build and deploy process in AWS. This allows you to quickly and easily automate your entire development workflow, from code changes to deployment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Thats is see you on next article
&lt;/h2&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Amazon Managed Blockchain</title>
      <dc:creator>Dhfernando</dc:creator>
      <pubDate>Wed, 15 Feb 2023 11:19:29 +0000</pubDate>
      <link>https://dev.to/aws-builders/amazon-managed-blockchain-npl</link>
      <guid>https://dev.to/aws-builders/amazon-managed-blockchain-npl</guid>
      <description>&lt;p&gt;Hi Today Im going to explain about what is this AWS Managed Blockchain and quick getting started guid, So let's go.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;First of all what is this Blockchain?&lt;/strong&gt;&lt;br&gt;
Blockchain technology has taken the world by storm in recent years, with its ability to offer decentralized and secure transaction management. It's widely used for cryptocurrency transactions, but it's also being applied in various industries, including finance, healthcare, and supply chain management. AWS Managed Blockchain is Amazon's service that provides a managed blockchain service for businesses to create and manage scalable blockchain networks.&lt;/p&gt;

&lt;p&gt;To understand &lt;strong&gt;AWS Managed Blockchain&lt;/strong&gt;, let's first understand what blockchain technology is. At its core, a blockchain is a decentralized and distributed ledger that stores transactional data. It's called a blockchain because it's a chain of blocks, where each block contains a list of transactions. Each block is connected to the previous block, creating a chain of blocks. These blocks are encrypted, immutable, and tamper-proof, making it extremely secure. The key to the security of the blockchain is its decentralized nature, which ensures that no single entity can control the blockchain.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AWS Managed Blockchain&lt;/strong&gt; is a fully managed service that enables businesses to create and manage scalable blockchain networks. With AWS Managed Blockchain, businesses can quickly and easily set up their own blockchain networks without having to worry about the underlying infrastructure. The service provides a range of blockchain frameworks to choose from, including Ethereum and Hyperledger Fabric.&lt;/p&gt;

&lt;p&gt;AWS Managed Blockchain is designed for businesses that want to use blockchain technology but do not want to manage the underlying infrastructure. By using AWS Managed Blockchain, businesses can focus on building their applications and services, rather than worrying about the infrastructure. AWS Managed Blockchain also provides a range of security features, such as encryption, identity management, and access controls, to ensure the security of the blockchain network.&lt;/p&gt;

&lt;p&gt;One of the main advantages of AWS Managed Blockchain is its scalability. With AWS Managed Blockchain, businesses can easily scale their blockchain network as their business grows. AWS Managed Blockchain provides automatic scaling and redundancy, ensuring that the blockchain network can handle high volumes of transactions. The service also provides a range of monitoring and logging features, enabling businesses to monitor the health and performance of their blockchain network.&lt;/p&gt;
&lt;h2&gt;
  
  
  To get started with AWS Managed Blockchain
&lt;/h2&gt;

&lt;p&gt;, businesses can use the AWS Management Console or the AWS Command Line Interface (CLI). With the Management Console, businesses can quickly set up their blockchain network and manage it from a single dashboard. The Management Console provides a range of tools, such as network creation wizards, that make it easy to create and manage a blockchain network.&lt;/p&gt;

&lt;p&gt;Using the AWS CLI, businesses can automate the creation and management of their blockchain network. The AWS CLI provides a range of commands, such as create-network, create-member, and create-proposal, that enable businesses to create and manage their blockchain network. The AWS CLI also provides a range of monitoring and logging features, enabling businesses to monitor the health and performance of their blockchain network.&lt;/p&gt;

&lt;p&gt;AWS Managed Blockchain can be used in a range of industries, including finance, healthcare, and supply chain management. In finance, AWS Managed Blockchain can be used for payment processing and clearing and settlement. In healthcare, AWS Managed Blockchain can be used for secure and decentralized medical record management. In supply chain management, AWS Managed Blockchain can be used for product tracking and tracing.&lt;/p&gt;

&lt;p&gt;To create a new blockchain network using Hyperledger Fabric, we'll use the AWS CLI. First, we'll create a new network using the create-network command. We'll specify the name of the network, the framework (in this case, Hyperledger Fabric), and the voting policy for accepting proposals.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws managedblockchain create-network --region &amp;lt;region&amp;gt; \
--client-request-token &amp;lt;token&amp;gt; \
--name &amp;lt;network-name&amp;gt; \
--framework Hyperledger_Fabric \
--voting-policy MajorityVoting
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Here's what each of the parameters means:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;region: The AWS region where the network should be created.&lt;/li&gt;
&lt;li&gt;client-request-token: A unique identifier for the network. You can use any string, but it must be unique within your account.&lt;/li&gt;
&lt;li&gt;name: The name of the network.&lt;/li&gt;
&lt;li&gt;framework: The name of the blockchain framework to use. In this case, we're using Hyperledger Fabric.&lt;/li&gt;
&lt;li&gt;voting-policy: The voting policy for accepting proposals. We're using the default value of MajorityVoting.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Once the network has been created, we can create a new member and add it to the network using the create-member and create-node commands.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws managedblockchain create-member --region &amp;lt;region&amp;gt; \
--client-request-token &amp;lt;token&amp;gt; \
--network-id &amp;lt;network-id&amp;gt; \
--member-configuration Name=&amp;lt;member-name&amp;gt;,Description=&amp;lt;description&amp;gt;,FrameworkConfiguration={Fabric={AdminUsername=&amp;lt;username&amp;gt;,AdminPassword=&amp;lt;password&amp;gt;}}

aws managedblockchain create-node --region &amp;lt;region&amp;gt; \
--client-request-token &amp;lt;token&amp;gt; \
--network-id &amp;lt;network-id&amp;gt; \
--member-id &amp;lt;member-id&amp;gt; \
--node-configuration InstanceType=&amp;lt;instance-type&amp;gt;,AvailabilityZone=&amp;lt;availability-zone&amp;gt;,LogPublishingConfiguration={Fabric={ChaincodeLogs={Cloudwatch={Enabled=true}},PeerLogs={Cloudwatch={Enabled=true}}}}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lets explore who can we integrate blockchain with other services on AWS&lt;/p&gt;

&lt;p&gt;Let's say we want to create a blockchain network using the Hyperledger Fabric framework. Here's how we can do it using the AWS CLI:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Set up AWS CLI&lt;br&gt;
Before we start, make sure you have the AWS CLI installed and configured with your AWS account credentials.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Create a Network&lt;br&gt;
First, we need to create a network. We'll use the create-network command to create a new network.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws managedblockchain create-network --name my-network --description "My Hyperledger Fabric network" --framework Hyperledger_Fabric --framework-version 1.4.0 --voting-policy "ApprovalThresholdPolicy {ThresholdPercentage=100, ProposalDurationInHours=24, ThresholdComparator=GREATER_THAN_OR_EQUAL_TO}" --member-configuration '{"Name":"MyOrg1","Description":"My first organization","FrameworkConfiguration":{"Fabric":{"AdminUsername":"admin","AdminPassword":"passw0rd"},"NetworkConfiguration":{"Edition":"STARTER","VpcEndpointServiceName":"com.amazonaws.us-west-2.managedblockchain","SubnetIds":["subnet-0123456789abcdef0","subnet-0123456789abcdef1"],"AvailabilityZone":"us-west-2a"}}}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a new network named "my-network" with a description "My Hyperledger Fabric network" using the Hyperledger Fabric framework version 1.4.0. It also sets a voting policy for the network and configures the first member of the network with the name "MyOrg1" and a description "My first organization".&lt;/p&gt;

&lt;p&gt;The member configuration specifies the network edition as "STARTER" and sets the VPC endpoint service name for the network. It also specifies the subnets to use for the network and the availability zone.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Node
Next, we need to create a node for the network. We'll use the create-node command to create a new node
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws managedblockchain create-node --network-id n-0123456789abcdef0 --member-id m-0123456789abcdef0 --node-configuration '{"InstanceType":"bc.t3.small","AvailabilityZone":"us-west-2a","LogPublishingConfiguration":{"Fabric":{"ChaincodeLogs":"ENABLED","PeerLogs":"ENABLED","CaLogs":"ENABLED"}}}'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a new node for the network with the specified network ID and member ID. It also specifies the node instance type and availability zone. Additionally, it enables logging for the&lt;/p&gt;

&lt;p&gt;chaincode, peer, and Certificate Authority (CA) for the node.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Create a Proposal
Now that we have a node for the network, we can create a proposal to add a member to the network. We'll use the create-proposal command to create the proposal.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws managedblockchain create-proposal --network-id n-0123456789abcdef0 --member-id m-0123456789abcdef0 --actions Invitations=[{\"Principal\":\"arn:aws:iam::123456789012:root\",\"Action\":\"INVITE\"}] --description "Invite new member to the network"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command creates a proposal to invite a new member to the network with the specified network ID and member ID. It specifies the action to invite the principal with the specified ARN, and sets a description for the proposal.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Vote on the Proposal
Once the proposal is created, other members of the network can vote on it. We'll use the vote-on-proposal command to vote on the proposal.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws managedblockchain vote-on-proposal --network-id n-0123456789abcdef0 --member-id m-0123456789abcdef1 --proposal-id p-0123456789abcdef0 --vote YES
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command votes "YES" on the proposal with the specified network ID, member ID, and proposal ID.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Monitor the Network
Once the proposal is approved, the new member will be added to the network. You can use the list-members command to list the members of the network.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws managedblockchain list-members --network-id n-0123456789abcdef0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command lists the members of the network with the specified network ID.&lt;/p&gt;

&lt;p&gt;Use the Network&lt;br&gt;
Now that we have a fully functioning blockchain network, we can use it for various use cases. For example, we can deploy and execute smart contracts on the network using Hyperledger Fabric.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Deploy Chaincode
aws managedblockchain create-proposal --network-id n-0123456789abcdef0 --member-id m-0123456789abcdef0 --actions Name=chaincode,Action=DEPLOY,Input='{\"Type\":\"GOLANG\",\"ChaincodeName\":\"mychaincode\",\"ChaincodeVersion\":\"1.0\",\"ChaincodePackage\":\"&amp;lt;base64-encoded-chaincode-package&amp;gt;\"}' --description "Deploy mychaincode to the network"

# Execute Chaincode
aws managedblockchain create-proposal --network-id n-0123456789abcdef0 --member-id m-0123456789abcdef0 --actions Name=chaincode,Action=INVOKE,Input='{\"ChaincodeName\":\"mychaincode\",\"Fcn\":\"myfunction\",\"Args\":[\"arg1\",\"arg2\"]}' --description "Invoke myfunction on mychaincode"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These commands demonstrate how to deploy and execute chaincode on the network.&lt;/p&gt;

&lt;p&gt;In conclusion, AWS Managed Blockchain is a powerful tool for creating and managing blockchain networks. It provides a seamless experience for setting up and managing the infrastructure required for a blockchain network, allowing developers to focus on building their applications. With support for popular blockchain frameworks like Hyperledger Fabric, AWS Managed Blockchain is an excellent choice for any blockchain use case.&lt;/p&gt;

</description>
      <category>pcgaming</category>
      <category>fps</category>
      <category>esports</category>
    </item>
    <item>
      <title>What is AWS CLI and How to work with it ?</title>
      <dc:creator>Dhfernando</dc:creator>
      <pubDate>Wed, 08 Feb 2023 17:34:45 +0000</pubDate>
      <link>https://dev.to/aws-builders/what-is-aws-cli-and-how-to-work-with-it--ojd</link>
      <guid>https://dev.to/aws-builders/what-is-aws-cli-and-how-to-work-with-it--ojd</guid>
      <description>&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbrovzgz92f5gv1ths5o.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbrovzgz92f5gv1ths5o.png" alt="Image description" width="800" height="312"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The AWS Command Line Interface (AWS CLI) is an open source tool that enables you to manage AWS services from the command line. The AWS CLI provides a unified interface to interact with AWS services, including Amazon S3, Amazon EC2, Amazon DynamoDB, and more. With the AWS CLI, you can easily automate repetitive tasks, manage large amounts of data, and build scripts for more complex applications.&lt;/p&gt;

&lt;p&gt;Here are some examples of how to use the AWS CLI to manage AWS services:&lt;/p&gt;

&lt;h2&gt;
  
  
  Amazon S3
&lt;/h2&gt;

&lt;p&gt;Amazon Simple Storage Service (Amazon S3) is a highly scalable, durable, and secure object storage service that enables you to store and retrieve any amount of data, at any time, from anywhere on the web. Amazon S3 provides a simple interface that you can use to store and retrieve any amount of data, at any time, from anywhere on the web. One of the ways to interact with Amazon S3 is by using the AWS Command Line Interface (AWS CLI).&lt;/p&gt;

&lt;p&gt;The AWS CLI is a unified tool to manage your AWS services. With just one tool to download and configure, you can control multiple AWS services from the command line and automate them through scripts. In this article, we will go through how you can use the AWS CLI to interact with Amazon S3.&lt;/p&gt;

&lt;p&gt;Before we get started, you need to have the AWS CLI installed on your system. You can follow the official documentation for the installation process for your operating system. After the installation, you need to configure the AWS CLI with your AWS credentials. You can configure the AWS CLI using the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This will prompt you for your AWS Access Key ID, AWS Secret Access Key, default region name, and default output format. After providing the required information, the AWS CLI will be configured and ready to use.&lt;/p&gt;

&lt;p&gt;Here are some of the commonly used AWS CLI commands for Amazon S3:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create a bucket&lt;/strong&gt;:&lt;br&gt;
To create a bucket in Amazon S3, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 mb s3://my-bucket
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Replace my-bucket with the desired name for your bucket.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;List Buckets&lt;/strong&gt;:&lt;br&gt;
To list all the buckets in your Amazon S3 account, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 ls
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Upload a file&lt;/strong&gt;:&lt;br&gt;
To upload a file to a bucket in Amazon S3, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 cp file.txt s3://my-bucket/file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Replace file.txt with the name of the file you want to upload and my-bucket with the name of your bucket.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Download a file&lt;/strong&gt;:&lt;br&gt;
To download a file from a bucket in Amazon S3, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 cp s3://my-bucket/file.txt file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Replace file.txt with the name of the file you want to download and my-bucket with the name of your bucket.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Delete a file&lt;/strong&gt;:&lt;br&gt;
To delete a file from a bucket in Amazon S3, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 rm s3://my-bucket/file.txt
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Replace file.txt with the name of the file you want to delete and my-bucket with the name of your bucket.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Delete a bucket&lt;/strong&gt;:&lt;br&gt;
To delete a bucket in Amazon S3, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws s3 rb s3://my-bucket
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;Replace my-bucket with the name of your bucket.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These are just some of the basic AWS CLI commands for Amazon S3. With the AWS CLI, you can perform more complex operations on Amazon S3, such as copying multiple files, syncing directories, and managing bucket.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Amazon Elastic Compute Cloud (Amazon EC2)
&lt;/h2&gt;

&lt;p&gt;The Amazon Elastic Compute Cloud (Amazon EC2) is a scalable computing platform offered by Amazon Web Services (AWS). The AWS Command Line Interface (AWS CLI) is a unified tool that enables you to manage your AWS services from the command line. In this article, we will explain how to use EC2 with the AWS CLI to create and manage virtual machines in the cloud.&lt;/p&gt;

&lt;p&gt;Before you start, make sure that you have installed the AWS CLI on your local machine and that you have set up your AWS credentials. You can do this by running the following command in your terminal or command prompt:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws configure
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command will prompt you to enter your AWS Access Key ID, AWS Secret Access Key, and default region name.&lt;/p&gt;

&lt;p&gt;Once you have set up the AWS CLI, you can start using it to interact with EC2. Here are some of the most common EC2 tasks that you can perform using the AWS CLI:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Create an EC2 instance&lt;/strong&gt;&lt;br&gt;
To create an EC2 instance, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ec2 run-instances --image-id ami-0c55b159cbfafe1f0 --count 1 --instance-type t2.micro --key-name MyKeyPair --security-group-ids sg-0123456789abcdef0 --subnet-id subnet-0123456789abcdef0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This command creates a single EC2 instance of the t2.micro type, using the Amazon Machine Image (AMI) with the ID &lt;code&gt;ami-0c55b159cbfafe1f0&lt;/code&gt;. The instance is associated with the key pair MyKeyPair and the security group &lt;code&gt;sg-0123456789abcdef0&lt;/code&gt;, and is launched in the subnet &lt;code&gt;subnet-0123456789abcdef0&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;List EC2 instances&lt;/strong&gt;&lt;br&gt;
To list all the EC2 instances in your AWS account, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ec2 describe-instances
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This command returns a JSON object that contains information about the instances, including their IDs, types, and states.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Terminate an EC2 instance&lt;/strong&gt;&lt;br&gt;
To terminate an EC2 instance, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ec2 terminate-instances --instance-ids i-0123456789abcdef0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This command terminates the EC2 instance with the ID &lt;code&gt;i-0123456789abcdef0&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Start an EC2 instance&lt;/strong&gt;&lt;br&gt;
To start an EC2 instance, you can use the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;aws ec2 start-instances --instance-ids i-0123456789abcdef0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;This command starts the EC2 instance with the ID &lt;code&gt;i-0123456789abcdef0&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;These are just a few examples of the EC2 tasks that you can perform using the AWS CLI. The AWS CLI provides a rich set of commands that enable you to manage your EC2 instances, create snapshots, and perform many other tasks. To learn more about the AWS CLI and EC2, you can refer to the official AWS documentation.&lt;/p&gt;

</description>
      <category>healthtech</category>
      <category>publicinbox</category>
      <category>discuss</category>
    </item>
  </channel>
</rss>
