云服务器内容精选

  • 响应示例 { "security_group_rules": [ { "remote_group_id": "1d8b19c7-7c56-48f7-a99b-4b40eb390967", "direction": "ingress", "remote_ip_prefix": null, "protocol": null, "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "port_range_max": null, "security_group_id": "1d8b19c7-7c56-48f7-a99b-4b40eb390967", "port_range_min": null, "ethertype": "IPv6", "description": null, "id": "07adc044-3f21-4eeb-bd57-5e5eb6024b7f", "project_id": "6c9298ec8c874f7f99688489ab65f90e", "created_at": "2018-09-20T02:15:34", "updated_at": "2018-09-20T02:15:34", "remote_address_group_id": null }, { "remote_group_id": null, "direction": "egress", "remote_ip_prefix": null, "protocol": null, "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "port_range_max": null, "security_group_id": "328fb454-a2ee-4a11-bdb1-ee19bbdfde43", "port_range_min": null, "ethertype": "IPv6", "description": null, "id": "09358f83-f4a5-4386-9563-a1e3c373d655", "project_id": "6c9298ec8c874f7f99688489ab65f90e", "created_at": "2018-09-20T02:15:34", "updated_at": "2018-09-20T02:15:34", "remote_address_group_id": null }, { "remote_group_id": "4c763030-366e-428c-be2b-d48f6baf5297", "direction": "ingress", "remote_ip_prefix": null, "protocol": null, "tenant_id": "6c9298ec8c874f7f99688489ab65f90e", "port_range_max": null, "security_group_id": "4c763030-366e-428c-be2b-d48f6baf5297", "port_range_min": null, "ethertype": "IPv6", "description": null, "id": "219a6f56-1069-458b-bec0-df9270e7a074", "project_id": "6c9298ec8c874f7f99688489ab65f90e", "created_at": "2018-09-20T02:15:34", "updated_at": "2018-09-20T02:15:34", "remote_address_group_id": null } ], "security_group_rules_links": [ { "rel": "previous", "href": "https://{Endpoint}/v2.0/ security-group-rules?marker=07adc044-3f21-4eeb-bd57-5e5eb6024b7f&page_reverse=True" } ] }
  • 响应参数 表2 响应参数 参数名称 类型 说明 security_group_rules Array of Security Group Rule objects security group rule对象列表。请参见表3。 security_group_rules_links Array of SecurityGroupRulesLink objects 分页信息。 只有在使用limit过滤,并且资源个数超过limit或者资源个数超过2000时(limit默认值),该参数的rel和href取值才会显示为next和其对应的link。 表3 Security Group Rule对象 属性 类型 说明 id String 安全组规则id 使用说明:查询安全组规则非必选 description String 安全组规则描述 security_group_id String 所属安全组id remote_group_id String 所属安全组的对端id direction String 规则方向 remote_ip_prefix String 对端ip网段 protocol String 协议类型或直接指定IP协议号 port_range_max Integer 最大端口,当协议类型为ICMP时,该值表示ICMP的code port_range_min Integer 最小端口,当协议类型为ICMP时,该值表示ICMP的type。 protocol为tcp和udp时,port_range_max和port_range_min必须同时输入,且port_range_max应大于等于port_range_min。 protocol为icmp时,指定ICMP code(port_range_max)时,必须同时指定ICMP type(port_range_min)。 ethertype String 网络类型 支持IPv4,IPv6 tenant_id String 项目ID remote_address_group_id String 功能说明:远端IP地址组ID。 约束:和remote_ip_prefix,remote_group_id互斥。 project_id String 项目ID,请参见获取项目ID。 created_at String 资源创建时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss updated_at String 资源更新时间,UTC时间 格式:yyyy-MM-ddTHH:mm:ss 表4 SecurityGroupRulesLink对象 参数名称 类型 说明 href String API链接 rel String API链接与该API版本的关系
  • URI GET /v2.0/security-group-rules 样例: GET https://{Endpoint}/v2.0/security-group-rules?security_group_id={security_group_id}&remote_group_id={remote_group_id}&direction={direction}&remote_ip_prefix={remote_ip_prefix}&protocol={protocol}&port_range_max={port_range_max}&port_range_min={port_range_min}ðertype={ethertype}&tenant_id ={tenant_id} 分页查询样例: GET https://{Endpoint}/v2.0/networks?limit=2&marker=07adc044-3f21-4eeb-bd57-5e5eb6024b7f&page_reverse=False 参数说明请参见表1 表1 参数说明 名称 是否必选 参数类型 说明 id 否 String 按照安全组规则对应的id过滤查询结果 description 否 String 按照description过滤查询结果 remote_group_id 否 String 按照与此安全组规则关联的远端安全组ID过滤查询结果 security_group_id 否 String 按照与此安全组规则所属的安全组ID过滤查询结果 direction 否 String 按照安全组规则的方向过滤查询结果,支持ingress和egress进行过滤 protocol 否 String 按照安全组规则的IP协议过滤查询结果 remote_ip_prefix 否 String 按照与此安全组规则匹配的远端IP网段过滤查询结果 ethertype 否 String 按照网络类型过滤查询结果 port_range_max 否 Integer 按照最大端口过滤查询结果 port_range_min 否 Integer 按照最小端口过滤查询结果 tenant_id 否 String 按照项目ID过滤查询结果 marker 否 String 分页查询的起始资源ID,表示从指定资源的下一条记录开始查询。 marker需要和limit配合使用: 若不传入marker和limit参数,查询结果返回第一页全部资源记录。 若不传入marker参数,limit为10,查询结果返回第1~10条资源记录。 若marker为第10条记录的资源ID,limit为10,查询结果返回第11~20条资源记录。 若marker为第10条记录的资源ID,不传入limit参数,查询结果返回第11条及之后的所有资源记录。 limit 否 Integer 分页查询每页返回的记录个数,取值范围为0~intmax(2^31-1),默认值2000。 limit需要和marker配合使用,详细规则请见marker的参数说明。
  • 响应示例 状态码: 201 POST操作正常返回,更多状态码请参见状态码。 { "security_group_rules" : [ { "id" : "abef369b-d646-4b8a-9f44-fcd248a6c421", "project_id" : "5f6387106c2048b589b369d96c2f23a2", "security_group_id" : "15457509-18f9-4387-bae6-d4ed1898b301", "direction" : "ingress", "protocol" : "tcp", "description" : "", "created_at" : "2023-04-28T04:08:52.000+00:00", "updated_at" : "2023-04-28T04:08:52.000+00:00", "ethertype" : "IPv4", "remote_ip_prefix" : "117.78.12.122/32", "multiport" : 22, "action" : "allow", "priority" : 1, "remote_group_id" : null, "remote_address_group_id" : null } ], "request_id" : "f1ae2c6f9e94babf077cd3b3e1570c81" }
  • 请求示例 在安全组15457509-18f9-4387-bae6-d4ed1898b301中创建入方向规则,忽略重复规则,两条规则相同。 POST https://{Endpoint}/v3/{project_id}/vpc/security-groups/15457509-18f9-4387-bae6-d4ed1898b301/security-group-rules/batch-create { "ignore_duplicate" : true, "security_group_rules" : [ { "direction" : "ingress", "description" : "", "protocol" : "tcp", "action" : "allow", "priority" : 1, "ethertype" : "IPv4", "multiport" : "22", "remote_ip_prefix" : "117.78.12.122/32" }, { "direction" : "ingress", "description" : "", "protocol" : "tcp", "action" : "allow", "priority" : 1, "ethertype" : "IPv4", "multiport" : "22", "remote_ip_prefix" : "117.78.12.122/32" } ] }
  • URI GET /v3/{project_id}/vpc/security-groups 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取方式请参见获取项目ID。 表2 Query参数 参数 是否必选 参数类型 描述 limit 否 Integer 功能说明:每页返回的个数。 取值范围:0-2000。 marker 否 String 分页查询起始的资源ID,为空时查询第一页。 id 否 Array of strings 功能说明:安全组资源ID。可以使用该字段精确过滤安全组,支持多个ID。 name 否 Array of strings 功能说明:安全组名称。可以使用该字段精确过滤满足条件的安全组,支持传入多个name过滤。 description 否 Array of strings 功能说明:安全组描述新增。可以使用该字段精确过滤安全组,支持传入多个描述进行过滤。 enterprise_project_id 否 String 功能说明:企业项目ID。可以使用该字段过滤某个企业项目下的安全组。 取值范围:最大长度36字节,带“-”连字符的UUID格式,或者是字符串“0”。“0”表示默认企业项目。 约束:若需要查询当前用户所有有权限查看企业项目绑定的安全组,请传参all_granted_eps。
  • 响应示例 状态码: 200 GET操作正常返回,更多状态码请参见状态码。 { "request_id" : "d31cb32ca06f3c1a294fa24e6cbc5a56", "security_groups" : [ { "id" : "0552091e-b83a-49dd-88a7-4a5c86fd9ec3", "name" : "sg-test", "project_id" : "060576782980d5762f9ec014dd2f1148", "description" : "test", "enterprise_project_id" : 0, "created_at" : "2019-10-16T11:11:14.000+00:00", "updated_at" : "2020-03-25T10:53:46.000+00:00", "tags" : [ ] }, { "id" : "0b8cb773-197c-4c91-94f1-e051f0563e5a", "name" : "test-sg", "project_id" : "060576782980d5762f9ec014dd2f1148", "description" : "通用Web服务器,默认放通22、3389、80、443端口和ICMP协议。适用于需要远程登录、公网ping及用于网站服务的云服务器场景。", "enterprise_project_id" : 0, "created_at" : "2019-12-03T09:02:11.000+00:00", "updated_at" : "2019-12-03T09:02:11.000+00:00", "tags" : [ ] } ], "page_info" : { "previous_marker" : "0552091e-b83a-49dd-88a7-4a5c86fd9ec3", "current_count" : 2 } }
  • 安全组 安全组是一个逻辑上的分组,为具有相同安全保护需求并相互信任的云服务器提供访问策略。安全组创建后,用户可以在安全组中定义各种访问规则,当云服务器加入该安全组后,即受到这些访问规则的保护。 您也可以根据需要创建自定义的安全组,或使用默认安全组,系统会为每个用户默认创建一个默认安全组,默认安全组的规则是在出方向上的数据报文全部放行,入方向访问受限,安全组内的云服务器无需添加规则即可互相访问。默认安全组您可以直接使用,详情请参见默认安全组和规则。 安全组需在网络互通的情况下生效。若实例属于不同VPC,但同属于一个安全组,则此安全组不生效,您可以使用对等连接等产品建立VPC连接互通。VPC连接请参见VPC连接。
  • 请求示例 查询安全组资源实例,action为filter时请求体。 POST https://{Endpoint}/v2.0/{project_id}/security-groups/resource_instances/action { "offset" : "0", "limit" : "100", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ] } example-2:action为count时请求体 POST https://{Endpoint}/v2.0/{project_id}/security-groups/resource_instances/action { "action" : "count", "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] }, { "key" : "key2", "values" : [ "value1", "value2" ] } ], "matches" : [ { "key" : "resource_name", "value" : "resource1" } ] }
  • 响应示例 状态码: 200 请求体action为filter时返回资源tag列表,action为count时返回tag总数 { "resources" : [ { "resource_id" : "cdfs_cefs_wesas_12_dsad", "resource_name" : "resouece1", "tags" : [ { "key" : "key1", "value" : "value1" }, { "key" : "key2", "value" : "value1" } ] } ], "total_count" : 1000 }
  • 请求参数 表2 请求Body参数 参数 是否必选 参数类型 描述 action 是 String 功能说明:操作标识 取值范围:filter(过滤),count(查询总条数) limit 否 Integer 功能说明:查询记录数 取值范围:1-1000 约束:action为count时此参数不生效;action为filter时默认为1000 offset 否 Integer 功能说明:索引位置, 从offset指定的下一条数据开始查询。 查询第一页数据时,不需要传入此参数,查询后续页码数据时,将查询前一页数据时响应体中的值带入此参数 约束:action为count时无此参数;action为filter时默认为0;必须为数字,不能为负数 matches 否 Array of Match objects 功能说明:搜索字段,key为要匹配的字段,value为匹配的值 约束:当前仅支持resource_name tags 否 Array of ListTag objects 包含标签,最多包含10个key,每个key下面的value最多10个,结构体不能缺失,key不能为空或者空字符串。Key不能重复,同一个key中values不能重复 表3 Match 参数 是否必选 参数类型 描述 key 是 String 键。当前仅限定为resource_name value 是 String 值。每个值最大长度255个unicode字符,不能包含$ - . /等特殊字符。 最大长度:255 表4 ListTag 参数 是否必选 参数类型 描述 key 是 String 功能说明:标签键 约束:key不能为空 最小长度:1 最大长度:127 values 是 Array of strings 功能描述:标签值列表。 如果values为空列表,则表示any_value。value之间为或的关系。
  • 响应参数 状态码: 200 表5 响应Body参数 参数 参数类型 描述 resources Array of ListResourceResp objects 资源列表 total_count Integer 资源数量 表6 ListResourceResp 参数 参数类型 描述 resource_detail Object 资源详情。 资源对象,用于扩展。默认为空 resource_id String 资源ID resource_name String 资源名称,没有默认为空字符串 tags Array of ResourceTag objects 标签列表,没有标签默认为空数组 表7 ResourceTag 参数 参数类型 描述 key String 功能说明:标签键 约束:同一资源的key值不能重复。 最小长度:0 最大长度:36 value String 功能说明:标签值 最小长度:0 最大长度:43 状态码: 400 表8 响应Body参数 参数 参数类型 描述 code String 请求返回的错误码 message String 请求返回的错误信息 最小长度:1 最大长度:999 状态码: 401 表9 响应Body参数 参数 参数类型 描述 code String 请求返回的错误码 message String 请求返回的错误信息 最小长度:1 最大长度:999 状态码: 403 表10 响应Body参数 参数 参数类型 描述 code String 请求返回的错误码 message String 请求返回的错误信息 最小长度:1 最大长度:999 状态码: 404 表11 响应Body参数 参数 参数类型 描述 code String 请求返回的错误码 message String 请求返回的错误信息 最小长度:1 最大长度:999 状态码: 409 表12 响应Body参数 参数 参数类型 描述 code String 请求返回的错误码 message String 请求返回的错误信息 最小长度:1 最大长度:999 状态码: 500 表13 响应Body参数 参数 参数类型 描述 code String 请求返回的错误码 message String 请求返回的错误信息 最小长度:1 最大长度:999
  • 限制云服务器访问外部网站 安全组的出方向规则一般默认全部放通,默认规则如表11所示。如果您需要限制服务器只能访问特定网站,则按照如下要求配置: 首先,您需要遵循白名单规则,在安全组出方向规则中添加指定的端口和IP地址。 表10 限制云服务器访问外部网站 方向 优先级 策略 类型 协议端口 目的地址 描述 出方向 1 允许 IPv4 自定义TCP: 80 IP地址:132.15.XX.XX 允许安全组内云服务器访问指定的外部网站,网站地址为http://132.15.XX.XX:80。 出方向 1 允许 IPv4 自定义TCP: 443 IP地址:145.117.XX.XX 允许安全组内云服务器访问指定的外部网站,网站地址为https://145.117.XX.XX:443。 其次,删除安全组出方向中原有放通全部流量的规则,如表11所示。 表11 安全组默认出方向规则 方向 优先级 策略 类型 协议端口 目的地址 描述 出方向 1 允许 IPv4 全部 0.0.0.0/0 针对全部IPv4协议,允许安全组内的实例可访问外部任意IP和端口。 出方向 1 允许 IPv6 全部 ::/0 针对全部IPv6协议,允许安全组内的实例可访问外部任意IP和端口。
  • 在本地服务器远程连接云服务器上传或者下载文件(FTP) 安全组默认拒绝所有来自外部的请求,如果您需要在本地服务器远程连接云服务器上传或者下载文件,那么您需要开通FTP(20、21)端口。 表5 在本地服务器远程连接云服务器上传或者下载文件 方向 优先级 策略 类型 协议端口 源地址 入方向 1 允许 IPv4 自定义TCP: 20-21 IP地址:0.0.0.0/0 您需要在弹性云服务器上先安装FTP服务器程序,再查看20、21端口是否正常工作。安装FTP服务器的操作请参见搭建FTP站点(Windows)、搭建FTP站点(Linux)。
  • 在云服务器上搭建网站对外提供Web服务 安全组默认拒绝所有来自外部的请求,如果您在云服务器上搭建了可供外部访问的网站,则您需要在安全组入方向添加对应的规则,放通对应的端口,例如HTTP(80)、HTTPS(443)。 表6 在云服务器上搭建网站对外提供Web服务 方向 优先级 策略 类型 协议端口 源地址 入方向 1 允许 IPv4 自定义TCP: 80 IP地址:0.0.0.0/0 入方向 1 允许 IPv4 自定义TCP: 443 IP地址:0.0.0.0/0