AWS安全组在OSI模型的第四层(传输层)进行操作。它通过检查传输层协议(如TCP或UDP)和端口号,来控制进出EC2实例的数据流。
下面是一个使用AWS SDK for Python(Boto3)的示例代码,演示如何创建和配置安全组。
import boto3
# 创建EC2实例
ec2 = boto3.resource('ec2', region_name='us-west-2')
# 创建安全组
security_group = ec2.create_security_group(
GroupName='my-security-group',
Description='My security group'
)
# 添加入站规则
security_group.authorize_ingress(
IpProtocol='tcp',
FromPort=22,
ToPort=22,
CidrIp='0.0.0.0/0'
)
# 添加出站规则
security_group.authorize_egress(
IpProtocol='-1',
CidrIp='0.0.0.0/0'
)
# 将安全组应用于EC2实例
instance = ec2.create_instances(
ImageId='ami-0c94855ba95c71c99',
MinCount=1,
MaxCount=1,
InstanceType='t2.micro',
SecurityGroupIds=[security_group.id]
)[0]
print("安全组ID:", security_group.id)
print("实例ID:", instance.id)
这段代码创建一个名为"my-security-group"的安全组,并添加了一个入站规则(允许SSH访问)和一个出站规则(允许所有流量)。然后,它创建了一个t2.micro类型的EC2实例,并将该安全组应用于该实例。最后,代码输出安全组ID和实例ID。
请注意,上述示例代码仅供参考,实际使用时,应根据实际需求和最佳实践进行安全组配置。
下一篇:AWS安全组最佳实践