在 Amazon EC2 中结合使用安全组与 适用于 PHP 的 Amazon SDK 版本 3
Amazon EC2 安全组起着虚拟防火墙的作用,可控制一个或多个实例的流量。为每个安全组添加规则来规定流入或流出其关联实例的流量。您可以随时修改安全组的规则。新规则将自动应用于与安全组相关联的所有实例。
以下示例演示如何:
-
使用 DescribeSecurityGroups 描述一个或多个安全组。
-
使用 AuthorizeSecurityGroupIngress 向安全组添加入口规则。
-
使用 CreateSecurityGroup 创建安全组。
-
使用 DeleteSecurityGroup 删除安全组。
适用于 PHP 的 Amazon SDKGitHub 上提供了
凭证
运行示例代码之前,请配置您的 Amazon 凭证,如 通过适用于 PHP 的 Amazon SDK 版本 3 使用 Amazon 进行身份验证 中所述。然后导入 适用于 PHP 的 Amazon SDK,如 安装适用于 PHP 的 Amazon SDK 版本 3 中所述。
描述安全组
导入。
require 'vendor/autoload.php';
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $result = $ec2Client->describeSecurityGroups(); var_dump($result);
添加入口规则
导入。
require 'vendor/autoload.php';
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $result = $ec2Client->authorizeSecurityGroupIngress(array( 'GroupName' => 'string', 'SourceSecurityGroupName' => 'string' )); var_dump($result);
创建安全组
导入。
require 'vendor/autoload.php';
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); // Create the security group $securityGroupName = 'my-security-group'; $result = $ec2Client->createSecurityGroup(array( 'GroupId' => $securityGroupName, )); // Get the security group ID (optional) $securityGroupId = $result->get('GroupId'); echo "Security Group ID: " . $securityGroupId . '\n';
删除安全组
导入。
require 'vendor/autoload.php';
示例代码
$ec2Client = new Aws\Ec2\Ec2Client([ 'region' => 'us-west-2', 'version' => '2016-11-15', 'profile' => 'default' ]); $securityGroupId = 'my-security-group-id'; $result = $ec2Client->deleteSecurityGroup([ 'GroupId' => $securityGroupId ]); var_dump($result);