国际网课平台Udemy上的亚马逊云科技AWS免费高分课程和创建、维护EC2动手实践

亚马逊云科技(AWS)是全球云行业最🔥火的云平台,在全球经济形势不好的大背景下,通过网课学习亚马逊云科技AWS基础备考亚马逊云科技AWS证书,对于找工作或者无背景转行做AWS帮助巨大。欢迎大家关注小李哥,及时了解世界最前沿的云计算、AI技术,快速成为国际云计算的专家。

什么是Udemy?

Udemy作为全球最大、最优质的网课平台之一,上面有非常多优质的亚马逊云科技AWS课程。但Udemy上的亚马逊云科技AWS课程最便宜的也要几十刀,最贵能到上百刀,十分昂贵。今天小李哥就给大家盘点全网最全的 Udemy上AWS免费高分课程大合集(选择标准为:评分4.4/5左右,好评500左右的课程)。

推荐优质学习资源

小李哥按课程方向类别给大家做了推荐,大家根据自己的需求选择。大家参考中的课程编号(非图1编号),排序为评分从高➡️低的排名

1️⃣ 用于AWS证书备考

3号Serverless computing in AWS: 适合云从业者(4.6分)

11号AWS VPC Transit Gateway - Hands On Learning! :适合助理级架构师(4.4分)

2️⃣ 适合无背景的AWS小白学习的课程

以下几门课程适用于完全没有背景的非IT人员(销售、市场等)、或者有初级背景的云计算从业者

4 AWS Certified Solutions Architect Associate Introduction(4.6分)

5 Amazon Web Services - Learning and Implementing AWS Solution(4.5分)

6 All About AWS Lambda and Serverless(4.5分)

9 Amazon Web Services (AWS) EC2: An Introduction(4.4分)

13 A Practical Introduction to Cloud Computing(4.3分)

3️⃣ AWS Serverless服务(适合云上软件开发)

7 AWS Tutorials - DynamoDB and Database Migration Service(4.4分)

8 Multitier architecture with AWS(4.4分)

15 AWS + Serverless(4.0分)

4️⃣ AWS网络(适合网络工程师/DevOps)

2 Amazon Web Services (AWS) - Zero to Hero(4.7分)

5️⃣ AWS架构/系统设计(适合☁️上开发/架构师)

12 Cloud Computing With Amazon Web Services(4.3分)

6️⃣ AWS DynamoDB and DMS (适合☁️数据岗)

1 Starting your Career with Amazon AWS(4.7分)

7️⃣ AWS cloudformation (软件定义代码、适合云上开发/DevOps)

14 Introduction to Cloud Computing for Beginners in 30 mins(4.2分)

8️⃣ AWS EC2 (适合云上DevOps/SysOps)

10 Amazon Web Services (AWS): CloudFormation(4.4分)

Udemy上的免费动手实验讲解:

今天给大家介绍的是如何用AWS Boto3 Python SDK创建EC2

首先我们安装Boto 3 SDK:

bash 复制代码
pip install awscli boto3

然后我们本地配置AWS的秘钥key

bash 复制代码
aws configure

示例输入:

bash 复制代码
$ aws configure
AWS Access Key ID [None]: ABCDEFGHIJKLMNOPQRST
AWS Secret Access Key [None]: abcdefghijklmnopqrstuvwxyz1234567890
Default region name [None]: us-west-2
Default output format [None]: json

接下来我们使用Python配置登录EC2服务器的SSH key pair:

python 复制代码
import boto3
ec2 = boto3.resource('ec2')

# create a file to store the key locally
outfile = open('ec2-keypair.pem','w')

# call the boto ec2 function to create a key pair
key_pair = ec2.create_key_pair(KeyName='ec2-keypair')

# capture the key and store it in a file
KeyPairOut = str(key_pair.key_material)
print(KeyPairOut)
outfile.write(KeyPairOut)

创建成功后,我们利用Python创建一个EC2服务器,同时在EC2创建时启动NGINX。

python 复制代码
import boto3

ec2 = boto3.resource('ec2')

# User data script to install Nginx
user_data_script = """#!/bin/bash
sudo apt-get update
sudo apt-get install -y nginx
sudo service nginx start
"""

# Create a new EC2 instance
instances = ec2.create_instances(
    ImageId='ami-00b6a8a2bd28daf19',
    MinCount=1,
    MaxCount=2,
    InstanceType='t2.micro',
    KeyName='ec2-keypair',
    UserData=user_data_script
)

# Print the instance IDs
for instance in instances:
    print(f'Created instance with ID: {instance.id}')

对于保护EC2运行,提高云服务的稳定性、可用性,我们要定期为EC2创建镜像。在AWS上,镜像的形式叫做AMI,以下是常见AMI的代码。

python 复制代码
import boto3

ec2 = boto3.client('ec2')

# Replace with your instance ID
instance_id = 'i-1234567890abcdef0'

# Create an AMI from the instance
response = ec2.create_image(
    InstanceId=instance_id,
    Name='MyServerImage',
    Description='An AMI of my server',
    NoReboot=True  # Set to False if you want to reboot the instance before creating the image
)

image_id = response['ImageId']
print(f'AMI created with ID: {image_id}')

如果我们想重启、删除一个EC2服务器,可以用以下代码:

重启:

python 复制代码
import boto3

ec2 = boto3.client('ec2')

# Replace with your instance ID
instance_id = 'i-1234567890abcdef0'

# Reboot the instance
response = ec2.reboot_instances(
    InstanceIds=[instance_id]
)

print(f'Rebooted instance: {instance_id}')

删除:

python 复制代码
import boto3

ec2 = boto3.client('ec2')

# Replace with your instance ID
instance_id = 'i-1234567890abcdef0'

# Terminate the instance
response = ec2.terminate_instances(
    InstanceIds=[instance_id]
)

print(f'Terminated instance: {instance_id}')

对于EC2维护和访问,如果可以分配固定IP,将会保证EC2重启后IP保持不变。我们使用如下代码实现IP固定(分配Elastic IP)

python 复制代码
import boto3

ec2 = boto3.client('ec2')

# Allocate a new Elastic IP address
response = ec2.allocate_address(
    Domain='vpc'
)

allocation_id = response['AllocationId']
print(f'Elastic IP allocated with ID: {allocation_id}')

# Replace with your instance ID
instance_id = 'i-1234567890abcdef0'

# Associate the Elastic IP with the instance
response = ec2.associate_address(
    InstanceId=instance_id,
    AllocationId=allocation_id
)

print(f'Elastic IP associated with instance: {instance_id}')
相关推荐
1 9 J几秒前
数据结构 C/C++(实验五:图)
c语言·数据结构·c++·学习·算法
边缘计算社区1 小时前
吉快科技荣膺“金边奖·最佳大模型一体机”,引领AI边缘新时代
人工智能·科技
因_果_律1 小时前
亚马逊云科技 re:Invent 2024重磅发布!Amazon Bedrock Data Automation 预览版震撼登场
大数据·人工智能·科技·亚马逊云科技·re invent
6.941 小时前
Scala——身份证号码查询籍贯
学习·scala
爱吃西瓜的小菜鸡1 小时前
【C语言】矩阵乘法
c语言·学习·算法
IT信息技术学习圈2 小时前
强基计划之编程:开启科研精英培养新路径
科技·强基计划
初学者7.2 小时前
Webpack学习笔记(2)
笔记·学习·webpack
创意锦囊5 小时前
随时随地编码,高效算法学习工具—E时代IDE
ide·学习·算法
尘觉5 小时前
算法的学习笔记—扑克牌顺子(牛客JZ61)
数据结构·笔记·学习·算法
1 9 J5 小时前
Java 上机实践11(组件及事件处理)
java·开发语言·学习·算法