<?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: Rola Dali</title>
    <description>The latest articles on DEV Community by Rola Dali (@rdali).</description>
    <link>https://dev.to/rdali</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%2F1054773%2F59cb13ed-09f6-446c-a4e8-1dae59b24f4a.jpeg</url>
      <title>DEV Community: Rola Dali</title>
      <link>https://dev.to/rdali</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/rdali"/>
    <language>en</language>
    <item>
      <title>Did You Know? AWS profiles</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:51:22 +0000</pubDate>
      <link>https://dev.to/rdali/did-you-know-aws-profiles-1am</link>
      <guid>https://dev.to/rdali/did-you-know-aws-profiles-1am</guid>
      <description>&lt;h2&gt;
  
  
  Do you have multiple accounts and are starting to use the CLI?
&lt;/h2&gt;

&lt;p&gt;Use AWS named profiles for the AWS CLI to interact with different accounts.&lt;/p&gt;

&lt;h4&gt;
  
  
  Using named profiles:
&lt;/h4&gt;

&lt;p&gt;To set up a new profile:&lt;br&gt;&lt;br&gt;
&lt;code&gt;aws configure --profile myprodprofile&lt;/code&gt;&lt;br&gt;&lt;br&gt;
To use a specific profile:&lt;br&gt;&lt;br&gt;
&lt;code&gt;aws s3 ls s3://mybucket --profile myprodprofile&lt;/code&gt;    &lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/toolkit-for-visual-studio/latest/user-guide/keys-profiles-credentials.html"&gt;Reference&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Now you can store credentials from many accounts and use them in the same session!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Now You Know!
&lt;/h2&gt;

</description>
      <category>aws</category>
      <category>awstidbits</category>
      <category>didyouknow</category>
    </item>
    <item>
      <title>Did You Know? Multi-Account creation</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:49:07 +0000</pubDate>
      <link>https://dev.to/rdali/did-you-know-multi-account-creation-1jea</link>
      <guid>https://dev.to/rdali/did-you-know-multi-account-creation-1jea</guid>
      <description>&lt;h2&gt;
  
  
  Looking to create multiple AWS accounts but only have one gmail?
&lt;/h2&gt;

&lt;p&gt;If you have a gmail account, for example &lt;a href="mailto:myemail@gmail.com"&gt;myemail@gmail.com&lt;/a&gt;, appending a "+" sign to that account will result in an address that still delivers mail to your original account. You can also do this by adding "." anywhere in the email since gmail ignores ".". &lt;br&gt;
This will allow you to have multiple AWS accounts under the same email account. &lt;/p&gt;

&lt;p&gt;Use this to create multiple AWS accounts that all pool into the same gmail account.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="mailto:myemail@gmail.com"&gt;myemail@gmail.com&lt;/a&gt; ==&amp;gt; Main AWS account.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="mailto:myemail+prod@gmail.com"&gt;myemail+prod@gmail.com&lt;/a&gt; ==&amp;gt; Production AWS account.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="mailto:myemail+dev@gmail.com"&gt;myemail+dev@gmail.com&lt;/a&gt; ==&amp;gt; Development AWS account.
&lt;/li&gt;
&lt;li&gt;
&lt;a href="mailto:myemail+test@gmail.com"&gt;myemail+test@gmail.com&lt;/a&gt; ==&amp;gt; Testing AWS account. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Use this trick to separate your development projects or to experiment with AWS organizations or multi-account access!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://gmail.googleblog.com/2008/03/2-hidden-ways-to-get-more-from-your.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Now You Know!
&lt;/h2&gt;

</description>
      <category>aws</category>
      <category>didyouknow</category>
      <category>awstidbits</category>
    </item>
    <item>
      <title>Did You Know? Lambda Warm start</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:45:21 +0000</pubDate>
      <link>https://dev.to/rdali/did-you-know-lambda-warm-start-24o0</link>
      <guid>https://dev.to/rdali/did-you-know-lambda-warm-start-24o0</guid>
      <description>&lt;h2&gt;
  
  
  Lambda Warm start
&lt;/h2&gt;

&lt;p&gt;Lambda uses the same execution environment for separate invocations of the same function.&lt;/p&gt;

&lt;p&gt;This process, called "warm start", is great because it means that consecutive runs of your function are faster than the first invocation. However, you need to be careful about Global variables and the possibility that what is thought of as an isolated run might not be as isolated as you thought.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/lambda/latest/operatorguide/execution-environments.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Now You Know!
&lt;/h2&gt;

</description>
    </item>
    <item>
      <title>Did You Know? IAM precedence</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:42:59 +0000</pubDate>
      <link>https://dev.to/rdali/did-you-know-iam-precedence-1efj</link>
      <guid>https://dev.to/rdali/did-you-know-iam-precedence-1efj</guid>
      <description>&lt;h1&gt;
  
  
  Do you have several AWS credentials and are confused which one is being used?
&lt;/h1&gt;

&lt;p&gt;AWS has a defined Default Credential Provider Chain which dictates the order of which credentials it uses in the case where there are several.&lt;/p&gt;

&lt;p&gt;The Default Credential Provider Chain Order for Java SDK is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Environment variables: "&lt;strong&gt;AWS_ACCESS_KEY_ID&lt;/strong&gt;" and "&lt;strong&gt;AWS_SECRET_ACCESS_KEY&lt;/strong&gt;".
&lt;/li&gt;
&lt;li&gt;Java system properties: &lt;strong&gt;aws.accessKeyId&lt;/strong&gt; and &lt;strong&gt;aws.secretAccessKey&lt;/strong&gt;. &lt;/li&gt;
&lt;li&gt;Web Identity Token credentials from the environment or container.&lt;/li&gt;
&lt;li&gt;The default credential profiles file: typically located at ~/.aws/credentials&lt;/li&gt;
&lt;li&gt;Amazon ECS container credentials: loaded from the Amazon ECS if the environment variable AWS_\CONTAINER_CREDENTIALS_RELATIVE_URI is set.
&lt;/li&gt;
&lt;li&gt;Instance profile credentials: used on EC2 instances, and delivered through the Amazon EC2 metadata service.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Now You Know!
&lt;/h2&gt;

</description>
      <category>aws</category>
      <category>awstidbits</category>
      <category>didyouknow</category>
    </item>
    <item>
      <title>Did You Know? AWS Budgets</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:38:43 +0000</pubDate>
      <link>https://dev.to/rdali/did-you-know-aws-budgets-4jfl</link>
      <guid>https://dev.to/rdali/did-you-know-aws-budgets-4jfl</guid>
      <description>&lt;h1&gt;
  
  
  Ever forgotten to delete a resource you were experimenting with on AWS and got an unpleasant bill at the end of the month?
&lt;/h1&gt;

&lt;p&gt;Reduce the chances of that happening by setting up a budget on all your accounts. You can receive notifications when your reach certain thresholds as Well!&lt;/p&gt;

&lt;h3&gt;
  
  
  Setting a budget:
&lt;/h3&gt;

&lt;p&gt;To create a cost budget:    &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to the AWS Management console.
&lt;/li&gt;
&lt;li&gt;Open the AWS &lt;a href="https://console.aws.amazon.com/cost-management/home"&gt;Cost Management console&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;In the navigation pane, choose "Budgets".
&lt;/li&gt;
&lt;li&gt;At the top of the page, choose "Create budget".
&lt;/li&gt;
&lt;li&gt;Fill in the form and Save changes!
&lt;/li&gt;
&lt;li&gt;Sleep better knowing your money is safe from mistakes!&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/create-cost-budget.html"&gt;Reference&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;Now you have notifications that alert you if your spending threshold is reached!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-managing-costs.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Now You Know!
&lt;/h2&gt;

</description>
      <category>aws</category>
      <category>awstidbits</category>
      <category>didyouknow</category>
    </item>
    <item>
      <title>Did You Know? Account Aliases</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:34:26 +0000</pubDate>
      <link>https://dev.to/rdali/did-you-know-account-aliases-4e66</link>
      <guid>https://dev.to/rdali/did-you-know-account-aliases-4e66</guid>
      <description>&lt;h1&gt;
  
  
  Having a hard time remembering your AWS 12 Digit account ID?
&lt;/h1&gt;

&lt;p&gt;You can create an account Alias that would be a lot easier to remember!&lt;/p&gt;

&lt;h3&gt;
  
  
  Via the CLI
&lt;/h3&gt;

&lt;p&gt;To create a new alias:&lt;br&gt;&lt;br&gt;
        &lt;code&gt;aws iam create-account-alias --account-alias mynewalias&lt;/code&gt;&lt;br&gt;&lt;br&gt;
     To list account aliases:&lt;br&gt;&lt;br&gt;
        &lt;code&gt;aws iam list-account-aliases&lt;/code&gt;&lt;br&gt;&lt;br&gt;
    To delete account aliases:&lt;br&gt;&lt;br&gt;
    &lt;code&gt;aws iam delete-account-alias&lt;/code&gt;&lt;br&gt;&lt;br&gt;
    &lt;a href="https://docs.aws.amazon.com/cli/latest/reference/iam/index.html#cli-aws-iam"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Via the AWS Console
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Sign in to the AWS Management Console.
&lt;/li&gt;
&lt;li&gt;Open the &lt;a href="https://console.aws.amazon.com/iam/"&gt;IAM console&lt;/a&gt;.
&lt;/li&gt;
&lt;li&gt;In the navigation pane, choose Dashboard.
&lt;/li&gt;
&lt;li&gt;In the right-hand pane under AWS account, choose Customize. If an alias already exists, then choose Edit.
&lt;/li&gt;
&lt;li&gt;Save changes. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Now you can use your Alias to sign into your account and can avoid the 12 Digit ID!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-alias.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Now You Know!
&lt;/h2&gt;

</description>
      <category>aws</category>
      <category>didyouknow</category>
      <category>awstidbits</category>
    </item>
    <item>
      <title>AWS account best practices</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:14:30 +0000</pubDate>
      <link>https://dev.to/rdali/aws-account-best-practices-22lh</link>
      <guid>https://dev.to/rdali/aws-account-best-practices-22lh</guid>
      <description>&lt;p&gt;This is a living document that will keep growing to highlight AWS Best Practices!&lt;/p&gt;

&lt;h4&gt;
  
  
  Create an admin user and avoid using the root account
&lt;/h4&gt;

&lt;p&gt;The root user has full privileges to the AWS account. For security purposes, it is recommended to limit the use of the root account. For daily processes, you can set up an &lt;a href="https://docs.aws.amazon.com/singlesignon/latest/userguide/get-started-assign-account-access-admin-user.html"&gt;administrator account&lt;/a&gt; instead.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/accounts/latest/reference/best-practices-root-user.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Enable MFA on user sign-ins, especially for the root user
&lt;/h4&gt;

&lt;p&gt;Multi-factor Authentication (MFA) allows you to secure your accounts and reduces the risk of being hacked.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_mfa_enable.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Grant Least Privilege Access Required
&lt;/h4&gt;

&lt;p&gt;For better security, set up your IAM policies to allow only the required tasks.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html#grant-least-privilege"&gt;Reference&lt;/a&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Set Up AWS budgets and account monitoring
&lt;/h4&gt;

&lt;p&gt;To avoid unexpected bills, add budgets and notifications on each account.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://docs.aws.amazon.com/cost-management/latest/userguide/budgets-best-practices.html"&gt;Reference&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AWS Services that help with Account Management</title>
      <dc:creator>Rola Dali</dc:creator>
      <pubDate>Wed, 29 Mar 2023 13:05:59 +0000</pubDate>
      <link>https://dev.to/aws-builders/aws-services-that-help-with-account-management-36i</link>
      <guid>https://dev.to/aws-builders/aws-services-that-help-with-account-management-36i</guid>
      <description>&lt;p&gt;I have been delving more and more into AWS for the last few years. I am quite impressed with the number of services and capabilities available for both small and large teams. Here are a list of tools to be aware of if you are managing your team's AWS account(s).&lt;/p&gt;

&lt;h1&gt;
  
  
  Monitoring and Governance
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/cloudtrail/"&gt;AWS cloudtrail&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS cloudtrail logs all events/API calls made within an AWS account. If you want to trace who deleted the S3 buckets or who created a resource, cloudTrail is a good place to start. AWS CloudTrails is enabled by default but history is retained for only 3 months unless you extend it.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/config/"&gt;AWS Config&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Config assesses, audits and records configuration changes over time. If you want to make sure that ssh ports on all your instances are closed or that none of your S3 buckets have public access, for example, AWS Config is a good resource. AWS Config can trigger notifications when resources become non-compliant with the rules you set. Automated &lt;a href="https://docs.aws.amazon.com/config/latest/developerguide/remediation.html"&gt;remediation actions&lt;/a&gt; can also be set through &lt;a href="https://aws.amazon.com/blogs/mt/implement-aws-config-rule-remediation-with-systems-manager-change-manager/"&gt;SSM&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/premiumsupport/technology/trusted-advisor/"&gt;AWS Trusted Advisor&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Trusted Advisor asseses your AWS environemnt and provides recommendations based on best practices. It looks into 5 areas:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Cost Optimization&lt;/li&gt;
&lt;li&gt;Performance&lt;/li&gt;
&lt;li&gt;Security&lt;/li&gt;
&lt;li&gt;Fault Tolerance&lt;/li&gt;
&lt;li&gt;Service Limits&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;AWS Trusted Advisor is enabled for all customers for core checks only. All checks are available with Business and Enterprise support plans.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/premiumsupport/technology/aws-health-dashboard/"&gt;AWS Personal Health Dashboard&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;While AWS has &lt;a href="https://health.aws.amazon.com/health/status"&gt;Health Dashabords&lt;/a&gt; that display the health status of its services across the globe, the Personal Health Dashboard is customized with the services your account uses. It also shows upcoming maintenance events.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html"&gt;AWS tagging&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS allows you to add Key:value tags on most of its resources. Tagging can help you with resource organization, cost allocation, automation and access control.&lt;/p&gt;

&lt;h1&gt;
  
  
  Automation and standardization
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/what-is-systems-manager.html"&gt;AWS Systems Manager (SSM)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Systems Manager (SSM) is a collection of services that help you manage your operations both on AWS and on-premise. It can be thought of as an operation hub. It can automate software installation on your EC2 and manage patching, as well as many other features.  &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/cloudformation/"&gt;Cloudfromation&lt;/a&gt; and &lt;a href="https://aws.amazon.com/cdk/"&gt;Cloud Development Kit (CDK)&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Infrastructure As Code (IaC) is a best practice that reduces manual labor and errors and makes it easier to reproduce/standardize systems. AWS supports IaC through many different languages, with Cloudfromation and CDK being AWS-native.&lt;/p&gt;

&lt;p&gt;Cloudformation is based on yaml or json templates. It is powerful but can be painful to write at times. The AWS Cloud Development Kit (CDK) might be more your style if you prefer to write IaC using a programming language instead (6 currently supported: TypeScript, JavaScript, Python, Java, C#/.Net, and Go).&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/servicecatalog/"&gt;Service Catalog&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;If you want to curate resources and make templates available to your employees for standardizing tools or to restrict usage to only authorized products, Service Catalog can help! &lt;/p&gt;

&lt;h1&gt;
  
  
  Billing and Budgets
&lt;/h1&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/aws-cost-management/aws-cost-explorer/"&gt;Cost Explorer&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Cost Explorer allows you to visualize and manage your AWS costs and usage. It also allows you to create reports, forecast future usage and analyze usage across accounts or resources with the help of AWS allocation tags.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/savingsplans/"&gt;Savings Plan&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS has a Savings Plan program that gives you access to better pricing than on-demand pricing when you commit to a certain amount of spending. If much of your workload is on AWS, and you will be getting a bill every month, you might as well commit to what your minimum spending is and get a discount!&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/aws-cost-management/aws-budgets/"&gt;AWS budgets&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Budgets allow you to set spending limits and create notifications when you are approaching these limits at different thresholds. It is never a good surprise when you forget a costly service on and receive a huge bill. All my AWS accounts have budgets set on them and notifications at 70% thresold.&lt;/p&gt;

&lt;h1&gt;
  
  
  Multi-Account Management
&lt;/h1&gt;

&lt;p&gt;It has become more and more common for organizations to have several accounts to separate concerns. There are several AWS Services that help with Account Managment.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/organizations/"&gt;AWS organizations&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Organizations allows you to create a logical grouping of multiple accounts. It helps you centrally manage access policies across accounts,  govern access to AWS services, resources and regions and enables consolidated billing which gives you access to pricing benefits from aggregated usage.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/controltower/"&gt;AWS Control Tower&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Control Tower is AWS Organizations on steroids. AWS Control Tower runs on top of AWS Organizations but adds automation, guardrials and governance.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://aws.amazon.com/ram/"&gt;AWS Resource Access Manager&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;AWS Resource Access Manager allows you to securely share AWS resources across multiple accounts. If you want to share a VPC, a transit gateway, or other AWS resources, check out AWS RAM!&lt;/p&gt;

</description>
      <category>aws</category>
      <category>accountmanagement</category>
    </item>
  </channel>
</rss>
