AWS Management and Development Tools Flashcards

1
Q

What is AWS API?

A

It is a software interface that allows two applications to communicate with each other. Most commonly, it uses HTTP/S requests as the medium for interaction. Each AWS service exposes its functionality via its own Service Endpoint, which you can use to send those requests.

How to interact with AWS APIs:
1. Directly via HTTPS Requests: You can send requests to AWS APIs using tools like Postman or custom-built applications.
- When you send a request to an AWS API, you need to specify the action you want the service to perform. This is done using an ACTION parameter in the request payload.
- Authorization: A signed request is required for authentication. You generate this by using your AWS credentials to create a secure signature. Often, you will first request a token using these credentials, which is then included in subsequent API calls.

  1. Using AWS Developer Tools:
    Instead of making raw HTTP requests, most users interact with AWS APIs via:
    - AWS Management Console: a user-friendly web-based interface
    - AWS SDK: Programming language-specific libraries that simplify API interactions.
    - AWS CLI: Command-line interface for scripting and automation.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

AWS Management Console

A

It is a web-based user friendly unified console that builds, manages, and monitors everything from simple web apps to complex cloud deployments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Service Console

A

AWS services each have their own customized console. You can access these consoles by searching the service name. Some AWS Services Consoles will act as an umbrella containing many other AWS Services.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

AWS Account ID

A

It can be easily found by dropping down the current user in the Global Navigation. It consists of 12 digits and it is used when logging into a non root user account, for support cases, and cross-account roles. Keep it private for security reasons.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

PowerShell

A

It is a task automation and configuration management framework. A command-line shell and a scripting language is built on top of the .NET Common Language Runtime (CLR), and accepts and returns .NET objects. (unlike most shells that accept and return text). AWS Tools for PowerShell lets you interact with the AWS API via PowerShell Cmdlets

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Cmdlets

A

Special type of command in PowerShell in the form of capitalized verb-noun Ex: New-S3Bucket

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

ARNs - Amazon Resource Names

A

Uniquely identifies AWS resources. They are required to specify a resource unambiguously across all of AWS.
These are the ARN format variations:

partition:service:region:account-id:resource-id
partition:service:region:account-id:resource-type/resource-id
partition:service:region:account-id:resource-type:resource-id

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Partition

A

the segment in ARN that specifies the group of AWS regions or the environment in which the AWS service operates. It helps identify which “partition” of AWS the resource belongs to, such as standard AWS regions, AWS GovCloud, or the China-specific AWS regions.

Examples:
aws
aws-us-gov
aws-cn

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Service

A

Identifies the Service that the resource belongs to.

Examples:
s3 (AWS S3 Simple Storage Service)
ec2 (AWS EC2 Elastic Compute Cloud)
iam (Identity and Access Management)
lambda (AWS Lambda)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Region

A

AWS Region where the resource resides

Examples:
us-east-1
ap-southeast-1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Account ID

A

12 digit unique identifier of the AWS account that owns the resource.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Resource ID

A

The portion of the ARN that identifies the specific resource within the service.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Path in ARNS

A

Allows you to create and organize resources into directories or groups. They often include wildcard characters (*) to represent a group of resources in IAM policies or access controls.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wildcard Character (*)

A

Represents any value in the specific segment of the ARN. It is used in IAM policies to grant permissions to a range of resources, rather than specifying each one explicitly.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

AWS CLI

A

a tool that allows you to manage and interact with AWS services through your terminal or command prompt. It provides a unified way to automate tasks, run scripts, and manage AWS resources without using the AWS Management Console.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Terminal

A

A text only interface (input/output environment) used to interact with your computer or servers. You can run commands, scripts, and manage files directly from the terminal.

17
Q

Console:

A

the interface (hardware or software) used to input commands or interact with a computer system.

18
Q

Shell

A

the command line program that users interact with to input commands. Popular shells:
- Bash
- Zsh
- PowerShell

19
Q

AWS Command Line Interface

A

Allows users to programmatically interact with the AWS API via entering single or multi-line commands into a shell or terminal. It is a Python executable program (Python is required to install AWS CLI). It can be installed on Windows, Mac, and Linux/Unix. The name of the CLI program is aws.

20
Q

AWS SDK - Software Development Kit

A

A collection of software development tools in one installable package.

21
Q

AWS CloudShell

A

A browser based shell built into the AWS Management Console. AWS CloudShell is scoped per region, same credentials as logged in user. Free Service!! AWS Cloud is available in select regions.

Preinstalled Tools: AWS CLI, Python, Node.js, git, make, pip, sudo, tmux, tar, vim, wget, zip, etc
Storage: 1 GB free per AWS region
Saved files and settings: Files saved in your home directory are available in future sessions for the same AWS region
Shell Environments: Seamlessly switch between Bash, PowerShell, Zsh\

22
Q

IaC Infrastructure as Code

A

Allows you to write a configuration script to automate creating, updating, and destroying cloud infrastructure.
- a blueprint for your infrastructure
- allows you to easily share, version, or inventory your cloud infrastructure
AWS has two different offerings for IaC: CFN and CDK

23
Q

CFN Cloud Formation

A

A service that lets you define and provision infrastructure as code in a declarative way. You write templates in JSON or YAML, describing the resources you want to create. Cloud Formation then automatically provisions and manages those resources for you.

Key Characteristics:
1. Declarative: You define what you want (resources and configurations), and CFN figures out how to create and manage them.
2. Template driven: Resources and configurations are specified in a CFN template (JSON or YAML format)
3. Automated Provisioning: CFN handles the entire lifecycle of resources (creation, updates, and deletion)

24
Q

CDK Cloud Development Kit

A

The framework for defining IaC using programming languages such as Python, JavaScript, TypeScript, Java, C#, and Go.

Key Characteristics:
1. Imperative Style: Instead of explicitly declaring everything (like in YAML or JSON for CloudFormation), you define what you want in your code, and CDK handles the underlying details.
2. Implicit Configuration: CDK provides abstractions (constructs) to simplify infrastructure configuration.
3. Powered by CloudFormation: CDK compiles down to AWS CloudFormation templates, ensuring compatibility and leveraging the robustness of CloudFormation for deployment.
4. CDK CLI:
CDK has its own Command Line Interface (CLI) to:
- Initialize new projects.
- Synthesize (generate) CloudFormation templates.
- Deploy resources to AWS.
5. CDK Pipelines: Makes it easy to create CI/CD pipelines for deploying CDK applications.

25
Q

CDK vs CFN

A

CDK (imperative): you write code using a programming language and let CDK generate the CFN template.

CFN (declarative): you directly define resources using a template, specifying the exact configuration.

26
Q

AWS toolkit for VSCode

A
  1. AWS Explorer
  2. AWS CDK Explore
  3. Amazon Elastic Container Service: Provides IntelliSense for ECS task-definition files.
  4. Serverless Applicaions: create, debug, and deploy serverless applications via SAM and CFN.
27
Q

IntelliSense

A

IntelliSense is a feature in code editors that helps you write code faster by offering suggestions as you type. It shows things like:

Autocompletion: Suggests words or code snippets.
Parameter Info: Shows what information a function needs.
Quick Info: Displays short descriptions when you hover over things.

28
Q

Access Keys

A

Are a pair of credentials that allow you to authenticate and interact with AWS services via the AWS CLI, SDKs, or APIs. There are two types:
1. Access Key ID: A unique identifier for the access key
2. Secret Access Key: A secret used to sign requests to AWS

How Access Keys work:
- When you make a request to AWS, the access key pair is used to sign the request, ensuring it is from a trusted source.
- Security Tip: Keep your Secret Access Key secure and do NOT share it. The Access Key is public but the secret key must be protected.

You can create and manage these keys in IAM.

29
Q

aws configure

A

A command used to set up and manage your AWS CLI configuration, enabling you to interact with AWS Services without
repeatedly entering your credentials.
In bash you would write:
aws configure
and this pops up:
AWS Access Key ID [None]: <your-access-key-id>
AWS Secret Access Key [None]: <your-secret-access-key>
Default region name [None]: us-east-1
Default output format [None]: json</your-secret-access-key></your-access-key-id>

This information is saved in the following configuration files on your local machine:

~/.aws/credentials: Stores the access keys.
~/.aws/config: Stores configuration settings like the region and output format.

30
Q

AWS Documentaion

A

A large collection of technical documentation on how to use AWS Services. Very useful to study for any AWS Certification.

31
Q

Shared Responsibility Model

A

A cloud security framework that defines the security obligations of the customer vs the CSP.
Ex:
AWS is responsible for Security OF the Cloud.
Customers are responsible for Security IN the Cloud.

AWS is responsible for:
- Software: Compute, Storage, Database, Network
- Hardware: Regions, AZs, Edge Locations, Physical Security

Customers are responsible for:
- Configuration of managed services or third-party software: Platforms, Applications, Identity and Access Management
- Configuration of Virtual Infrastructure and Systems: OS, Network, Firewall
- Security Configuration of Data: Data Encryption, Networking traffic protection, customer data

Google a diagram of Shared Responsibility Model for further clarification.