WO2024078427A1 - 一种无服务器函数配置系统、方法及装置 - Google Patents

一种无服务器函数配置系统、方法及装置 Download PDF

Info

Publication number
WO2024078427A1
WO2024078427A1 PCT/CN2023/123464 CN2023123464W WO2024078427A1 WO 2024078427 A1 WO2024078427 A1 WO 2024078427A1 CN 2023123464 W CN2023123464 W CN 2023123464W WO 2024078427 A1 WO2024078427 A1 WO 2024078427A1
Authority
WO
WIPO (PCT)
Prior art keywords
tenant
message
serverless function
identifier
vpc
Prior art date
Application number
PCT/CN2023/123464
Other languages
English (en)
French (fr)
Inventor
张永明
张伟
黄毽
Original Assignee
华为云计算技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为云计算技术有限公司 filed Critical 华为云计算技术有限公司
Publication of WO2024078427A1 publication Critical patent/WO2024078427A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/147Signalling methods or messages providing extensions to protocols defined by standardisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers

Definitions

  • the present invention relates to the field of cloud computing technology, and in particular to a serverless function configuration system, method, device and server, computer-readable storage medium, and computer program product.
  • Serverless computing is associated with network architectures where users of network architectures rely on network servers, network infrastructure, and operating systems that are provided as a service and managed by network providers. Users of network architectures can take advantage of serverless computing by creating, managing, and deploying applications that scale on demand and using network resources managed by network providers.
  • serverless computing the computing platform automatically manages and creates the underlying computing resources to host and run the function code of serverless functions.
  • serverless computer platforms include Amazon Web Service (AWS) Lambda, Google Cloud Functions, Azure Functions, etc.
  • AWS Amazon Web Service
  • Azure Functions Azure Functions
  • One of the challenges facing serverless computing is how to ensure tenant security isolation and efficient resource allocation when multi-tenant serverless functions access cloud resources (e.g., database resources, storage resources, etc.) in the tenant virtual private cloud (VPC) and access the public network in a logical multi-tenant network.
  • cloud resources e.g., database resources, storage resources, etc.
  • VPC tenant virtual private cloud
  • the existing technology for configuring serverless functions adopts a two-layer virtualization approach, which has large performance loss and complex networking and operation and maintenance.
  • the present application provides a serverless function configuration system, method and related devices, which can realize multi-tenant isolation and elastic public IP allocation in serverless function configuration, reduce the performance loss of serverless function instance issuance, and reduce the complexity of multi-tenant serverless network networking and operation and maintenance.
  • the present application provides a cloud system based on cloud computing technology, which is arranged in at least one cloud data center, and the cloud system includes: a serverless function virtual private cloud VPC, which is provided with a first computing instance for carrying a first serverless function of a first tenant, wherein the first serverless function is provided with a first code for accessing the first tenant VPC, the first tenant VPC, which is provided with cloud resources of the first tenant, a connection gateway, which is used to connect the serverless function VPC and the first tenant VPC, and records the identifier of the first tenant, a first computing instance, which is used to send a first message during the running of the first serverless function, wherein the outer nested message header of the first message carries the identifier of the first tenant, and the destination IP address of the first message is the private IP address of the cloud resource in the first tenant VPC, and the connection gateway is also used to receive the first message, and allow the first message to enter the first tenant VPC when confirming that it has recorded the cloud
  • the cloud management platform assigns corresponding identifiers to tenants, and the first tenant of the first serverless function specifies the connection to the first tenant VPC.
  • the connection gateway records the identifier of the first tenant, and the outer nested message header of the message sent by the first computing instance carrying the first serverless function of the first tenant carries the identifier of the first tenant.
  • the serverless function wants to access the first tenant VPC
  • the first computing instance sends a first message to the first tenant VPC.
  • the message needs to pass through the connection gateway during the process of sending to the first tenant VPC.
  • the connection gateway can decide whether to allow or prohibit the message from being sent to the first tenant VPC based on whether it has recorded the first tenant identifier carried in the outer nested message header of the message. If there is a record, the first message is allowed to pass through the connection gateway and be sent to the first tenant VPC.
  • the connection gateway can be single-tenant or multi-tenant, and this application does not impose any restrictions on this.
  • the serverless function of the first tenant can access the first tenant VPC, thereby achieving tenant network isolation.
  • the first computing instance in the cloud system is also used to mount a first elastic network card, wherein the first elastic network card is used to write an identifier of the first tenant into a nested message header of the first message, and to send a first message with a nested message header to a connection gateway during the process of the first computing instance running a first serverless function.
  • the cloud management platform when the first computing instance is started, creates and mounts an elastic network card for the first computing instance, and mounts the identifier of the first tenant for the elastic network card.
  • the elastic network card When a message sent by the first computing instance passes through the elastic network card, the elastic network card writes the identifier of the first tenant corresponding to the first computing instance of the first tenant into the nested message header of the message.
  • the nested message header of the first message carries the identifier of the first tenant, so that after the message is sent to the connection gateway, the connection gateway confirms the identifier and decides to allow or prohibit the message from entering the first tenant VPC based on the identifier.
  • the cloud system also includes: a second computing instance, used to carry a second serverless function of a second tenant, wherein the second serverless function is provided with a second code for accessing the first tenant VPC, and the second computing instance is also used to send a second message to the connection gateway during the running of the second serverless function, wherein the outer nested message header of the second message carries an identifier of the second tenant, and the destination IP address of the second message is the private IP address of the cloud resource in the first tenant VPC.
  • the connection gateway is also used to receive the second message, and prohibit the second message from entering the first tenant VPC when it is confirmed that it does not record the identifier of the second tenant.
  • the cloud management platform assigns corresponding identifiers to tenants, and the second tenant of the first serverless function does not specify a connection to the first tenant VPC, the connection gateway does not record the identifier of the second tenant, and the outer nested message header of the second message carries the identifier of the second tenant.
  • the second serverless function of the second tenant wants to access the first tenant VPC
  • the second message sent by the second computing instance carrying the second serverless function to the first tenant VPC needs to pass through the connection gateway.
  • the connection gateway can decide whether to allow or prohibit the message from being sent to the first tenant VPC based on confirming whether it has recorded the second tenant identifier carried in the outer nested message header of the message. If there is no record, the second message is prohibited from passing through the connection gateway and being sent to the first tenant VPC.
  • the serverless function of the second tenant cannot access the VPC of the first tenant, thereby achieving multi-tenant network isolation.
  • the second computing instance is used to carry the second serverless function of the second tenant, wherein the second serverless function is provided with a second code for accessing the first tenant VPC, and the connection gateway is also used to record the identifier of the second tenant.
  • the second computing instance is also used to send a second message to the connection gateway during the running of the second serverless function, wherein the outer nested message header of the second message carries the identifier of the second tenant, and the destination IP address of the second message is the private IP address of the cloud resource in the first tenant VPC.
  • the connection gateway is also used to receive the second message and allow the second message to enter the first tenant VPC after confirming that it has recorded the identifier of the second tenant.
  • the second tenant of the first serverless function specifies a connection to the first tenant VPC, so the connection gateway records the identifier of the second tenant, and the outer nested message header of the second message carries the identifier of the second tenant.
  • the connection gateway can allow the message to be sent to the first tenant VPC based on the identifier of the second tenant recorded in itself.
  • the second tenant's serverless function can access the first tenant's VPC, thereby realizing multi-tenant access control.
  • the second computing instance is set in the above-mentioned serverless function VPC, or is set in another serverless function VPC different from the serverless function VPC.
  • the second computing instance and the first computing instance are set in the same serverless function VPC. In other embodiments, the second computing instance and the first computing instance are set in different serverless function VPCs. This application does not impose any restrictions on this.
  • computing instances of different tenants in the same serverless function VPC or computing instances of different tenants in different serverless function VPCs can achieve network isolation or network access control when accessing the tenant VPC.
  • the present application provides a cloud system based on cloud computing technology, which is set in at least one cloud data center, and the cloud system includes: a serverless function virtual private cloud VPC, a third computing instance is set for carrying a third serverless function of a third tenant, wherein the third serverless function is set with a third code of a network node for accessing the public network, a network address translation NAT gateway, which is used to record the correspondence between the elastic public IP of the third tenant and the identifier of the third tenant, a third computing instance, which is used to send a third message to the NAT gateway during the running of the third serverless function, wherein the outer nested message header of the third message carries the identifier of the third tenant, and the destination IP address of the third message is the public IP address of the network node set on the public network, and the NAT gateway is also used to receive the third message, set the source IP address of the third message to the elastic public IP of the third tenant according to the identifier of the third tenant and the correspondence
  • the cloud management platform assigns a corresponding identifier to the tenant
  • the third tenant configures an elastic public IP for accessing the public network for its serverless function.
  • the network address translation NAT records the identifier of the third tenant, and records the correspondence between the elastic public IP of the third tenant and the identifier of the third tenant.
  • the outer nested message header of the message sent by the third serverless function of the third tenant carries the identifier of the third tenant.
  • the third computing instance sends a third message to the public network. The message needs to pass through the network address translation NAT gateway during the process of sending to the public network.
  • the network address translation NAT gateway can decide whether to allow or prohibit the message from being sent to the public network based on whether it records the first tenant identifier carried in the outer nested message header of the message. If there is a record, the NAT gateway receives the message, and sets the source IP address of the third message to the elastic public IP of the third tenant according to the identifier and the correspondence of the third tenant, and sends the message to the public network.
  • the tenant's serverless function can access the public network, and the tenant can specify an EIP to access the public network.
  • the system can control access to public network resources according to the EIP.
  • the third computing instance in the cloud system is also used to mount a second elastic network card, wherein the second elastic network card is used to write the identifier of the third tenant into the nested message header of the third message, and send a first message with the nested message header to the network address translation NAT gateway during the process of the third computing instance running the third serverless function.
  • the cloud management platform when the third computing instance is started, creates and mounts an elastic network card for the third computing instance, and mounts the identifier of the third tenant for the elastic network card.
  • the elastic network card When the message sent by the third computing instance passes through the elastic network card, the elastic network card writes the identifier of the third tenant corresponding to the third computing instance of the third tenant into the nested message header of the message.
  • the nested message header of the third message carries the identifier of the third tenant, which is convenient for sending the message to the network address.
  • the NAT gateway confirms the identifier and decides to allow or prohibit the message from entering the public network based on the identifier.
  • the cloud system also includes: a fourth computing instance, used to carry a fourth serverless function of a fourth tenant, wherein the fourth serverless function is provided with a fourth code for accessing a network node on a public network;
  • the NAT gateway is further used to record the correspondence between the elastic public IP of the fourth tenant and the identifier of the fourth tenant;
  • the fourth computing instance is further used to send a fourth message to the NAT gateway during the running of the third serverless function; wherein the outer nested message header of the fourth message carries the identifier of the fourth tenant, and the destination IP address of the fourth message is the public IP address of a network node on the public network;
  • the NAT gateway is further used to receive the fourth message, set the source IP address of the fourth message to the elastic public IP of the fourth tenant according to the identifier of the fourth tenant and the correspondence, and send the fourth message with the outer nested message header removed to the public network.
  • the fourth tenant configures an elastic public IP for its serverless function for accessing the public network.
  • the network address translation NAT gateway records the identifier of the fourth tenant and the correspondence between the elastic public IP of the fourth tenant and the identifier of the third tenant.
  • the message sent by the serverless function when it wants to access the public network carries the identifier of the tenant.
  • the NAT gateway receives the message and sets the source IP address of the fourth message to the elastic public IP of the fourth tenant based on the identifier of the fourth tenant and the correspondence, and sends the message to the public network.
  • multi-tenant serverless functions can access the public network, and tenants can specify EIPs to access the public network.
  • the system can perform multi-tenant access control on public network resources according to EIPs.
  • the cloud system also includes: a fourth computing instance, used to carry a fourth serverless function of a fourth tenant, wherein the fourth serverless function is provided with a fourth code for accessing a network node on a public network.
  • the fourth computing instance is further used to send a fourth message to a NAT gateway during the running of the fourth serverless function, wherein an outer nested message header of the fourth message carries an identifier of the fourth tenant, and a destination IP address of the fourth message is a public IP address of a network node on the public network.
  • the NAT gateway is further used to receive the fourth message and prohibit the fourth message from accessing the public network when it is confirmed that the fourth tenant's identifier is not recorded in the NAT gateway.
  • the network address translation NAT gateway does not record the identifier of the fourth tenant, and the fourth serverless function of the fourth tenant carries its identifier in the outer nested message header of the message that it wants to access the public network.
  • the NAT gateway receives the message, it confirms that it does not record the identifier and prohibits the message from accessing the public network.
  • the NAT gateway will not record the tenant identifier, thereby achieving access control over the tenant's public network resources.
  • the fourth computing instance is set in the serverless function VPC, or in another serverless function VPC different from the serverless function VPC.
  • the fourth computing instance and the third computing instance are set in the same serverless function VPC. In other embodiments, the fourth computing instance and the third computing instance are set in different serverless function VPCs. This application does not impose any restrictions on this.
  • computing instances of different tenants in the same serverless function VPC or computing instances of different tenants in different serverless function VPCs can implement network access control and multi-tenant designated EIP access to the public network when accessing the public network.
  • the present application provides a configuration method for a serverless function, which is applied to a cloud management platform, where the cloud management platform is used to manage an infrastructure that provides serverless function services, the infrastructure including at least one cloud data center, and at least one cloud data center is provided with a first tenant VPC and a serverless function VPC.
  • the method includes: the cloud management platform creates a connection gateway connected to the first tenant VPC and the serverless function VPC respectively, the cloud management platform confirms a first serverless function and a first trigger event input by the first tenant, wherein the first serverless function is provided with a first code for accessing the first tenant VPC, and the first tenant VPC is provided with cloud resources, the cloud management platform sends an identifier of the first tenant to the connection gateway, and sets the connection gateway to record the identifier of the first tenant, when the cloud management platform detects that the first trigger event occurs, triggers the first computing instance to run the first serverless function, and sets the first computing instance to send a first message during the process of running the first serverless function, wherein the outer nested message header of the first message carries the identifier of the first tenant, and the destination IP address of the first message is the private network IP address of the cloud resource in the first tenant VPC, and the cloud management platform sets a connection gateway to receive the first message and allow the first message to enter the first tenant VPC when
  • the third aspect or any implementation method of the third aspect is a method implementation corresponding to the first aspect or any implementation method of the first aspect.
  • the description in the first aspect or any implementation method of the first aspect is applicable to the third aspect or any implementation method of the third aspect and will not be repeated here.
  • the fourth aspect or any implementation of the fourth aspect is a method implementation corresponding to the second aspect or any implementation of the second aspect.
  • the description in the second aspect or any implementation of the second aspect is applicable to the fourth aspect or any implementation of the fourth aspect and will not be repeated here.
  • the fifth aspect or any implementation of the fifth aspect is implemented by the device corresponding to the first aspect or any implementation of the first aspect.
  • the description of the first aspect or any implementation of the first aspect is applicable to the fifth aspect or any implementation of the fifth aspect, and will not be repeated here. State.
  • the sixth aspect or any implementation of the sixth aspect is a device implementation corresponding to the second aspect or any implementation of the second aspect.
  • the description in the second aspect or any implementation of the second aspect is applicable to the fifth aspect or any implementation of the fifth aspect, and will not be repeated here.
  • the present application provides a computing device cluster, which includes at least one computing device, each computing device including a processor and a memory; the processor of at least one computing device is used to execute instructions stored in the memory of at least one computing device, so that the computing device cluster executes any possible method such as the first aspect.
  • the present application provides a computer program product comprising instructions, wherein when the instructions are executed by a computing device cluster, the computing device cluster is caused to execute any possible method as in the first aspect.
  • a computer-readable storage medium which includes computer program instructions.
  • the computing device cluster executes any possible method of the first aspect.
  • FIG1 is a schematic diagram of the architecture of a cloud system provided in an embodiment of the present application.
  • FIG2 is a flow chart of a serverless function configuration method provided in an embodiment of the present application.
  • FIG3 is a flow chart of another serverless function configuration method provided in an embodiment of the present application.
  • FIG4 is a schematic diagram of the architecture of another cloud system provided in an embodiment of the present application.
  • FIG5 is a flow chart of another serverless function configuration method provided in an embodiment of the present application.
  • FIG6 is a flow chart of another serverless function configuration method provided in an embodiment of the present application.
  • FIG. 7 is a schematic diagram of a computing device cluster structure of a cloud management platform provided in an embodiment of the present application.
  • FIG8 is a schematic diagram of a computing device cluster structure of another cloud management platform provided in an embodiment of the present application.
  • FIG. 9 is a schematic diagram of a computing device cluster structure of another cloud management platform provided in an embodiment of the present application.
  • FIG10 is a schematic diagram of the structure of a cloud management platform device provided in an embodiment of the present application.
  • FIG. 11 is a schematic diagram of a computing device cluster structure of another cloud management platform provided in an embodiment of the present application.
  • FIG. 12 is a schematic diagram of a computing device cluster structure of another cloud management platform provided in an embodiment of the present application.
  • FIG. 13 is a schematic diagram of a computing device cluster structure of another cloud management platform provided in an embodiment of the present application.
  • FIG. 14 is a schematic diagram of the structure of another cloud management platform device provided in an embodiment of the present application.
  • Serverless service A service developed using the Serverless Computing development model.
  • the Serverless Computing development model is a development model that separates the server from application development and allows the cloud platform to provision, maintain, and expand the server infrastructure. Therefore, the Serverless service developed using the Serverless Computing development model usually does not include the server side.
  • the functions of the server side can be implemented by the cloud platform, and tenants can focus on building and running applications without having to manage servers.
  • Serverless function is one of the functions of serverless service. Tenants need to set the code and running conditions of serverless function. Serverless function only runs when triggered by events pre-configured by tenants. Usually, tenants only need to pay for the resources or duration used during the execution of the function.
  • Elastic Network Interface An elastic network interface is a virtual network interface that can be attached to a cloud server instance and migrated between multiple cloud servers to achieve flexible and highly available network solution configuration.
  • Elastic IP Provides public IP resources that can be flexibly bound and unbound to cloud resources such as cloud servers and bare metal servers, providing the ability to access and be accessed by the public network.
  • Serverless Function Virtual Private Cloud A virtual private cloud with compute instances that host serverless functions.
  • Tenant VPC An isolated, private virtual network environment for tenants on the cloud. Tenants can define network features such as security groups, virtual private networks (VPN), IP address segments, and bandwidth in VPC. Tenants can use tenant VPC to conveniently manage and configure internal networks and make secure and fast network changes.
  • VPN virtual private networks
  • IP address segments IP address segments
  • bandwidth in VPC Tenants can use tenant VPC to conveniently manage and configure internal networks and make secure and fast network changes.
  • Trigger event The occurrence of a trigger event triggers the execution of the serverless function. Common trigger events include table data changes, log updates, message queue updates, etc.
  • Cloud resources including cloud servers, cloud containers, cloud databases, etc. set up in VPC.
  • computing instances in serverless VPCs need to access resources in tenant VPCs. For example, if they need to access data in a database in a tenant VPC, a gateway needs to be connected to forward the access request to the tenant VPC.
  • Computing instances in serverless VPCs also need to access public network resources. For example, if they need to access a weather forecast website to obtain weather forecast data, a network address translation NAT gateway needs to be allocated or a public IP address needs to be specified to access external resources.
  • both accessing tenant VPCs and accessing the public network require identifying whether the tenant to whom the serverless function belongs has the right to access.
  • the embodiments of the present application provide a system, method and device for serverless function configuration.
  • the cloud management platform assigns a unique identifier to the tenant, and sends the identifier to the connection gateway and network address translation NAT gateway that the tenant has access to, solving the problem of multi-tenant network isolation and elastic public IP allocation of serverless instances in a simple, efficient and consistent manner, improving the instance issuance speed and reducing network loss and operation and maintenance costs.
  • FIG. 1 is a schematic diagram of the architecture of a cloud system provided by an embodiment of the present invention.
  • the cloud system includes a cloud management platform 20 and multiple serverless function VPCs and tenant VPCs.
  • the cloud system includes multiple serverless function VPCs including serverless function VPC101 and serverless function VPC102, and multiple tenant VPCs including tenant VPC111 and tenant VPC112.
  • Tenants 50 and 60 can access the cloud management platform 20 through the client 40 via the Internet 30, and manage serverless function VPC101, 102 and/or tenant VPC111, 112 through the cloud management platform 20.
  • At least one computing instance including computing instance 1011 is set in the serverless function VPC101, and the computing instance 1011 is used to carry the serverless function 10111 of the tenant 50, and the computing instance 1011 is mounted with an elastic network card 10112.
  • at least one computing instance including computing instance 1021 is set in serverless function VPC102.
  • Computing instance 1021 is used to carry serverless function 10211 of tenant 60, and elastic network card 10212 is mounted on computing instance 1021.
  • Tenant instance 1111 of tenant 50 is set in tenant VPC111, cloud resources are running in tenant instance 1111, and connection gateway 1112 is set in tenant VPC111.
  • computing instance 1011 sends a message to tenant instance 1111.
  • the message is first sent to elastic network card 10112 of computing instance 1011, and then sent by elastic network card 10112 to connection gateway 1112 in tenant VPC111.
  • Connection gateway 1112 determines whether the message can enter tenant VPC111 according to whether it records the tenant identifier in the outer packet header of the message.
  • FIG. 2 is a flow chart of a serverless function configuration method provided in an embodiment of the present application.
  • the method implements controlling the access of the tenant's serverless function to the tenant's VPC through the tenant identifier, thereby implementing tenant network isolation.
  • the process includes but is not limited to the following steps:
  • the cloud management platform 20 creates a connection gateway 1112 for the tenant VPC111 for the tenant VPC111 to receive messages.
  • the connection gateway 1112 can be used to receive messages sent from the computing instance 1011 in the serverless function VPC101.
  • S202 Input serverless function and trigger event.
  • the tenant 50 uses the tenant client 40 to input a serverless function and a trigger event to the cloud management platform 20 via the Internet 30 , and when the trigger event occurs, the operation of the serverless function is triggered.
  • S203 Receive serverless functions and trigger events.
  • the cloud management platform 20 receives the serverless function and trigger event input by the tenant 50 , and configures the serverless function and trigger event on the computing instance 1011 .
  • the cloud management platform 20 sends the identifier of the tenant 50 to the connection gateway 1112 of the tenant VPC 111, so that the tenant VPC 111
  • the connection gateway 1112 records the identifier of the tenant 50 .
  • the tenant VPC 111 records the identifier of the tenant 50 sent by the cloud management platform 20 .
  • a trigger event set by the tenant 50 occurs, it is confirmed by the cloud management platform 20.
  • the cloud management platform 20 confirms in S206 that the trigger event set by the tenant 50 occurs, the cloud management platform 20 notifies the computing instance 1011 in the serverless function VPC101 to run the serverless function input by the tenant 50 in step S202.
  • the computing instance 1011 sends a message during the running of the serverless function, and the message passes through the elastic network card 10112 of the serverless function VPC101.
  • the elastic network card 10112 writes the identifier of the tenant 50 into the nested message header of the message sent by the computing instance 1011, so that the nested message header of the message carries the identifier of the tenant 50.
  • the elastic network card 10112 sends a message carrying the identifier of the tenant 50 to the connection gateway 1112 of the tenant VPC111.
  • connection gateway 1112 records the identifier of the tenant 50 in step S205 , and after receiving the message carrying the tenant identifier in step S210 , confirms that the tenant identifier is recorded in itself.
  • connection gateway 1112 After the connection gateway 1112 confirms that it has the identifier recorded in step S212, it allows the message carrying the tenant identifier to enter the tenant VPC 111.
  • connection gateway 1112 sends the message to the cloud resources in the tenant VPC 111.
  • FIG. 3 is a flow chart of another serverless function configuration method provided in an embodiment of the present application.
  • the method implements controlling the access of the tenant's serverless function to the tenant's VPC through the tenant identifier, thereby realizing multi-tenant network access control and isolation.
  • the process includes but is not limited to the following steps:
  • the cloud management platform 20 creates a connection gateway 1112 for the tenant VPC 111, which is used for the tenant VPC 1112 to receive messages.
  • the tenant 60 uses the tenant client 40 to input a serverless function and a trigger event to the cloud management platform 20 via the Internet 30 , and when the trigger event occurs, the operation of the serverless function is triggered.
  • S303 Receive serverless functions and trigger events.
  • the cloud management platform 20 receives the serverless function and trigger event input by the tenant 60 , and configures the serverless function and trigger event on the computing instance 1021 .
  • a trigger event set by the tenant 60 occurs, it is confirmed by the cloud management platform 20 .
  • the cloud management platform 20 confirms in S304 that the trigger event set by the tenant 60 occurs, the cloud management platform 20 notifies the computing instance 1021 in the serverless function VPC 102 to run the serverless function input by the tenant 60 in step S302.
  • the computing instance 1021 sends a message during the running of the serverless function, and the message passes through the elastic network card 10212 of the serverless function VPC102.
  • the elastic network card 10212 writes the identifier of the tenant 60 into the nested message header of the message sent by the computing instance 1021, so that the nested message header of the message carries the identifier of the tenant 60.
  • the elastic network card 10212 sends a message carrying the tenant identifier to the connection gateway 1112 of the tenant VPC111.
  • connection gateway 1112 does not record the tenant identifier, and the connection gateway 1112 confirms that it does not record the tenant identifier carried in the message header of the message.
  • the tenant 60 does not set its serverless function to access the tenant VPC111, so the connection gateway 1112 does not record the tenant identifier.
  • the tenant VPC111 does not open the access rights of the serverless function of the tenant 60, so the connection gateway 1112 does not record the tenant identifier of the tenant 60.
  • connection gateway 1112 After the connection gateway 1112 confirms in step S309 that it has not recorded the identifier, it prohibits the message carrying the tenant identifier from entering the tenant VPC 111 .
  • the cloud system includes a cloud management platform 20 and multiple serverless function VPCs and a public network.
  • the cloud system includes multiple serverless function VPCs including serverless function VPC121 and serverless function VPC122, and also includes a public network 13.
  • Tenants 50 and 60 can access the cloud management platform 20 through the client 40 via the Internet 30, and manage the serverless function VPC121 through the cloud management platform 20.
  • At least one computing instance including computing instance 1211 is set in the serverless function VPC121, and the computing instance 1211 is used to carry the serverless function 12111 of the tenant 50, and the computing instance 1211 is mounted with an elastic network card 12112.
  • At least one computing instance including computing instance 1221 is set in the serverless function VPC122, and the computing instance 1221 is used to carry the serverless function 12211 of the tenant 60, and the computing instance 1221 is mounted with an elastic network card 12212.
  • the computing instance 1211 where the serverless function 12111 is located needs to access public network resources, the computing instance 1211 sends a message to the public network 13. The message is first sent to the elastic network card 12112 of the computing instance 1211, and then sent by the elastic network card 12112 to the network address translation NAT gateway 123.
  • the network address translation NAT gateway 123 determines whether the message can enter the public network 13.
  • FIG. 5 is a flow chart of another serverless function configuration method provided in an embodiment of the present application.
  • the method realizes controlling the tenant's serverless function access to the public network through the tenant identifier, thereby realizing multi-tenant designated EIP access to the public network.
  • the process includes but is not limited to the following steps:
  • the cloud management platform 20 creates a network address translation NAT gateway 123 for the serverless function VPC121, which is used for the serverless function VPC121 to send messages to the public network 13.
  • the network address translation NAT gateway 123 can be used to send messages sent by the computing instance 1211 in the serverless function VPC121.
  • S502 Input serverless function and trigger event.
  • the tenant 50 uses the tenant client 40 to input the serverless function 12111 and the trigger event to the cloud management platform 20 through the Internet 30.
  • the trigger event occurs, the operation of the serverless function is triggered.
  • S503. Receive serverless functions and trigger events.
  • the cloud management platform 20 receives the serverless function 12111 and the trigger event input by the tenant 50 , and configures the serverless function 12111 and the trigger event on the computing instance 1211 .
  • the cloud management platform 20 sends the tenant identifier of the tenant 50 to the network address translation NAT gateway 123 of the serverless function VPC121, so that the network address translation NAT gateway 123 records the identifier of the tenant.
  • the network address translation NAT gateway 123 records the tenant identifier of the tenant 50 sent by the cloud management platform 20 .
  • a trigger event set by the tenant 50 occurs, it is confirmed by the cloud management platform 20.
  • the cloud management platform 20 confirms in S506 that the trigger event set by the tenant 50 occurs, the cloud management platform 20 notifies the computing instance 1211 in the serverless function VPC121 to run the serverless function 12111 input by the tenant 50 in step S502.
  • the computing instance 1211 sends a message while running the serverless function 12111, and the message passes through the elastic network card 12112 of the serverless function VPC121.
  • the elastic network card 12112 writes the identifier of the tenant 50 into the nested message header of the message sent by the computing instance 1211, so that the nested message header of the message carries the identifier of the tenant 50.
  • the elastic network card 12112 sends the message carrying the tenant identifier to the network address translation NAT gateway 123 of the serverless function VPC121.
  • the network address translation NAT gateway 123 records the tenant identifier of the tenant 50 in step S505 , and after receiving the message carrying the tenant identifier in step S510 , confirms that the tenant identifier is recorded in itself.
  • the network address translation NAT gateway 123 After the network address translation NAT gateway 123 confirms that it has the identifier recorded in step S511, it sets the source IP address of the message to the tenant's elastic public IP according to the correspondence between the tenant's identifier and its elastic public IP.
  • the network address translation NAT gateway 123 removes the outer nested message header of the message.
  • S514 sends a message.
  • the network address translation NAT gateway 123 sends the message to the public network 13.
  • FIG. 6 is a flow chart of another serverless function configuration method provided in an embodiment of the present application.
  • the method realizes controlling the tenant's serverless function access to the public network through the tenant identifier, thereby realizing multi-tenant designated EIP access to the public network.
  • the process includes but is not limited to the following steps:
  • the cloud management platform 20 creates a network address translation NAT gateway 123 for the serverless function VPC 122, which is used for the serverless function VPC 122 to send messages to the public network 13.
  • S602 Input serverless function and trigger event.
  • the tenant 60 uses the tenant client 40 to input the serverless function 12211 and the trigger event to the cloud management platform 20 through the Internet 30.
  • the trigger event occurs, the operation of the serverless function 12211 is triggered.
  • S603. Receive serverless functions and trigger events.
  • the cloud management platform 20 receives the serverless function 12211 and the trigger event input by the tenant 60 , and configures the serverless function 12211 and the trigger event on the computing instance 1221 .
  • a trigger event set by the tenant 60 occurs, it is confirmed by the cloud management platform 20 .
  • the cloud management platform when the cloud management platform confirms in S606 that the trigger event set by the tenant occurs, the cloud management platform notifies the computing instance in the serverless function VPC122 to run the serverless function 12211 input by the tenant 60 in step S602.
  • S606 Send a message.
  • the computing instance 1221 sends a message while running the serverless function 12211, and the message passes through the elastic network card 12212 of the serverless function VPC 122.
  • the elastic network card 12212 writes the identifier of the tenant 60 into the nested message header of the message sent by the computing instance 1221, so that the nested message header of the message carries the tenant identifier of the tenant 60.
  • the elastic network card 12212 sends the message carrying the tenant identifier to the network address translation NAT gateway 123 of the serverless function VPC122.
  • the network address translation NAT gateway 123 receives the message carrying the tenant identifier in step S608, it confirms that it does not have a record of the tenant identifier.
  • the tenant 60 has not purchased an elastic public IP for the serverless function 12211 or has not configured an elastic public IP, so the network address translation NAT gateway 123 has not recorded the tenant identifier of the tenant 60.
  • the network address translation NAT gateway 123 confirms in step S609 that it has not recorded the identifier, it prohibits the message of the serverless function 12211 of the tenant 60 from accessing the public network 13.
  • connection gateway creation module 201 a connection gateway creation module 201, a serverless function setting module 202, a sending module 203, a trigger module 204, and a connection gateway setting module 205.
  • the connection gateway creation module 201, the serverless function setting module 202, the sending module 203, the trigger module 204, and the connection gateway setting module 205 can all be implemented by software, or can be implemented by hardware.
  • the following takes the connection gateway creation module 201 as an example to introduce the implementation method of the connection gateway creation module 201.
  • the implementation method of the serverless function setting module 202, the sending module 203, the trigger module 204, and the connection gateway setting module 205 can refer to the implementation method of the connection gateway creation module 201.
  • the connection gateway creation module may include code running on a computing instance.
  • the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more.
  • the connection gateway creation module 201 may include code running on multiple hosts/virtual machines/containers. It should be noted that the multiple hosts/virtual machines/containers used to run the code can be distributed in the same region (region) or in different regions.
  • the multiple hosts/virtual machines/containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs, each AZ including one data center or multiple data centers with similar geographical locations. Among them, usually a region can include multiple AZs.
  • VPC virtual private cloud
  • multiple hosts/virtual machines/containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs.
  • VPC virtual private cloud
  • a VPC is set up in a region.
  • a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
  • connection gateway creation module 201 may include at least one computing device, such as a server, etc.
  • the connection gateway creation module 201 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
  • the PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.
  • the multiple computing devices included in the connection gateway creation module 201 can be distributed in the same region or in different regions.
  • the multiple computing devices included in the connection gateway creation module 201 can be distributed in the same AZ or in different AZs.
  • the multiple computing devices included in the connection gateway creation module 201 can be distributed in the same VPC or in multiple VPCs.
  • the multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
  • connection gateway creation module 201, the serverless function setting module 202, the sending module 203, the trigger module 204, and the connection gateway setting module 205 can be used to execute any step in the serverless function configuration method, and the steps that the connection gateway creation module, the serverless function setting module, the sending module, the trigger module, and the connection gateway setting module are responsible for implementing can be specified as needed.
  • the full functions of the cloud management platform can be realized by respectively implementing different steps in the serverless function configuration method through the connection gateway creation module, the serverless function setting module, the sending module, the trigger module, and the connection gateway setting module.
  • the present application also provides a computing device 600.
  • the computing device 600 includes: a bus 602, a processor 604, a memory 606, and a communication interface 608.
  • the processor 604, the memory 606, and the communication interface 608 communicate with each other through the bus 602.
  • the computing device 600 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 600.
  • the bus 602 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • the bus may be divided into an address bus, a data bus, a control bus, etc.
  • FIG. 7 is represented by only one line, but does not mean that there is only one bus or one type of bus.
  • the bus 602 may include a path for transmitting information between various components of the computing device 600 (e.g., the memory 106, the processor 104, the communication interface 108).
  • Processor 604 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • the memory 606 may include a volatile memory, such as a random access memory (RAM).
  • the processor 604 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • ROM read-only memory
  • HDD hard disk drive
  • SSD solid state drive
  • the memory 606 stores executable program codes, and the processor 104 executes the executable program codes to respectively implement the functions of the aforementioned connection gateway creation module, the serverless function setting module, the sending module, the triggering module, and the connection gateway setting module, thereby implementing the configuration method of the serverless function. That is, the memory 606 stores instructions for executing the configuration method of the serverless function.
  • the memory 606 stores executable codes
  • the processor 604 executes the executable codes to respectively implement the functions of the aforementioned serverless function virtual private cloud VPC, connection gateway, tenant VPC, and computing instance, thereby implementing the configuration method of the serverless function. That is, the memory 106 stores instructions for executing the configuration method of the serverless function.
  • the communication interface 608 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 600 and other devices or communication networks.
  • a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 600 and other devices or communication networks.
  • the embodiment of the present application also provides a computing device cluster.
  • the computing device cluster includes at least one computing device.
  • the computing device can be a server, such as a central server, an edge server, or a local server in a local data center.
  • the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
  • the computing device cluster includes at least one computing device 600.
  • the memory 606 in one or more computing devices 600 in the computing device cluster may store the same instructions for executing the configuration method of the serverless function.
  • the memory 606 of one or more computing devices 600 in the computing device cluster may also store partial instructions for executing the configuration method of the serverless function.
  • the combination of one or more computing devices 600 can jointly execute the instructions for executing the configuration method of the serverless function.
  • the memory 606 in different computing devices 600 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the cloud management platform. That is, the instructions stored in the memory 606 in different computing devices 600 can implement the functions of one or more modules of the connection gateway creation module, the serverless function setting module, the sending module, the triggering module, and the connection gateway setting module.
  • one or more computing devices in a computing device cluster may be connected via a network.
  • the network may be a wide area network or a local area network, etc.
  • FIG. 9 shows a possible implementation. As shown in FIG. 9 , two computing devices 600A and 600B are connected via a network. Specifically, the network is connected via a communication interface in each computing device.
  • the memory 606 in the computing device 600A stores instructions for executing the functions of the connection gateway creation module 201, the serverless function setting module 202, and the connection gateway setting module 205.
  • the memory 606 in the computing device 600B stores instructions for executing the functions of the sending module 203 and the triggering module 204.
  • connection method between the computing device clusters shown in Figure 9 can be considered that the configuration method of the server-less function provided in this application needs to provide server-less function computing services, so it is considered to entrust the functions implemented by the sending module and the trigger module to the computing device 600B for execution.
  • the functions of the computing device 600A shown in FIG9 may also be completed by multiple computing devices 600.
  • the functions of the computing device 600B may also be completed by multiple computing devices 600.
  • the embodiment of the present application also provides another computing device cluster.
  • the connection relationship between the computing devices in the computing device cluster can be similar to the connection mode of the computing device cluster described in Figures 7 and 8.
  • the difference is that the memory 606 in one or more computing devices 600 in the computing device cluster can store the same instructions for executing the configuration method of the serverless function.
  • the memory 606 of one or more computing devices 600 in the computing device cluster may also store partial instructions for executing the configuration method of the serverless function.
  • the combination of one or more computing devices 600 can jointly execute the instructions for executing the configuration method of the serverless function.
  • the memory 606 in different computing devices 600 in the computing device cluster can store different instructions for executing some functions of the cloud system. That is, the instructions stored in the memory 606 in different computing devices 600 can implement the functions of one or more devices in the serverless function virtual private cloud VPC, connection gateway, tenant VPC, and computing instance.
  • the present application also provides a cloud management platform, as shown in Figure 14, including: a network address translation NAT gateway creation module 206, a serverless function setting module 202, a sending module 203, a trigger module 204, and a connection gateway setting module 205.
  • the network address translation NAT gateway creation module 206, the serverless function setting module 202, the sending module 203, the trigger module 204, and the connection gateway setting module 205 can all be implemented by software, or can be implemented by hardware.
  • the implementation method of the network address translation NAT gateway creation module 206 is introduced below, taking the network address translation NAT gateway creation module 206 as an example.
  • the implementation method of the serverless function setting module 202, the sending module 203, the trigger module 204, and the connection gateway setting module 205 can refer to the implementation method of the network address translation NAT gateway creation module 206.
  • the connection gateway creation module may include code running on a computing instance.
  • the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more.
  • the network address translation NAT gateway creation module 206 may include code running on multiple hosts/virtual machines/containers. It should be noted that the multiple hosts/virtual machines/containers used to run the code can be distributed in the same region (region) or in different regions.
  • the multiple hosts/virtual machines/containers used to run the code can be distributed in the same availability zone (AZ) or in different AZs, each AZ including a data center or multiple data centers with similar geographical locations. Among them, usually a region can include multiple AZs.
  • VPC virtual private cloud
  • multiple hosts/virtual machines/containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs.
  • VPC virtual private cloud
  • a VPC is set up in a region.
  • a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.
  • the network address translation NAT gateway creation module 206 may include at least one computing device, such as a server.
  • the network address translation NAT gateway creation module 206 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD).
  • the PLD may be a complex programmable logical device (CPLD), a field programmable gate array (FPGA), or a FPGA.
  • CPLD complex programmable logical device
  • FPGA field programmable gate array
  • GAL generic array logic
  • the multiple computing devices included in the network address translation NAT gateway creation module 206 can be distributed in the same region or in different regions.
  • the multiple computing devices included in the network address translation NAT gateway creation module 206 can be distributed in the same AZ or in different AZs.
  • the multiple computing devices included in the network address translation NAT gateway creation module 206 can be distributed in the same VPC or in multiple VPCs.
  • the multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.
  • the network address translation NAT gateway creation module 206, the serverless function setting module 202, the sending module 203, the trigger module 204, and the connection gateway setting module 205 can be used to execute any step in the serverless function configuration method, and the steps that the connection gateway creation module, the serverless function setting module, the sending module, the trigger module, and the connection gateway setting module are responsible for implementing can be specified as needed.
  • the full functions of the cloud management platform can be realized by respectively implementing different steps in the serverless function configuration method through the connection gateway creation module, the serverless function setting module, the sending module, the trigger module, and the connection gateway setting module.
  • the present application also provides a computing device 700.
  • the computing device 700 includes: a bus 702, a processor 704, a memory 706, and a communication interface 708.
  • the processor 704, the memory 706, and the communication interface 708 communicate with each other through the bus 702.
  • the computing device 700 can be a server or a terminal device. It should be understood that the present application does not limit the number of processors and memories in the computing device 700.
  • the bus 702 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus, etc.
  • the bus may be divided into an address bus, a data bus, a control bus, etc.
  • FIG. 11 is represented by only one line, but does not mean that there is only one bus or one type of bus.
  • the bus 702 may include a path for transmitting information between various components of the computing device 700 (e.g., the memory 106, the processor 104, the communication interface 108).
  • Processor 704 may include any one or more of a central processing unit (CPU), a graphics processing unit (GPU), a microprocessor (MP), or a digital signal processor (DSP).
  • CPU central processing unit
  • GPU graphics processing unit
  • MP microprocessor
  • DSP digital signal processor
  • the memory 706 may include a volatile memory, such as a random access memory (RAM).
  • the processor 704 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).
  • ROM read-only memory
  • HDD hard disk drive
  • SSD solid state drive
  • the memory 706 stores executable program codes, and the processor 104 executes the executable program codes to respectively implement the functions of the aforementioned connection gateway creation module, the serverless function setting module, the sending module, the triggering module, and the connection gateway setting module, thereby implementing the configuration method of the serverless function. That is, the memory 706 stores instructions for executing the configuration method of the serverless function.
  • the memory 706 stores executable codes
  • the processor 704 executes the executable codes to respectively implement the functions of the aforementioned serverless function virtual private cloud VPC, connection gateway, tenant VPC, and computing instance, thereby implementing the configuration method of the serverless function. That is, the memory 106 stores instructions for executing the configuration method of the serverless function.
  • the communication interface 708 uses a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or communication networks.
  • a transceiver module such as, but not limited to, a network interface card or a transceiver to implement communication between the computing device 700 and other devices or communication networks.
  • the embodiment of the present application also provides a computing device cluster.
  • the computing device cluster includes at least one computing device.
  • the computing device can be a server, such as a central server, an edge server, or a local server in a local data center.
  • the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.
  • the computing device cluster includes at least one computing device 700.
  • the same instructions for executing the configuration method of the serverless function may be stored in the memory 706 of one or more computing devices 700 in the computing device cluster.
  • the memory 706 of one or more computing devices 700 in the computing device cluster may also store partial instructions for executing the configuration method of the serverless function.
  • the combination of one or more computing devices 700 can jointly execute the instructions for executing the configuration method of the serverless function.
  • the memory 706 in different computing devices 700 in the computing device cluster can store different instructions, which are respectively used to execute part of the functions of the cloud management platform. That is, the instructions stored in the memory 706 in different computing devices 700 can implement the functions of one or more modules of the connection gateway creation module, the serverless function setting module, the sending module, the triggering module, and the connection gateway setting module.
  • one or more computing devices in the computing device cluster can be connected via a network.
  • the network can be a wide area network or a local area network, etc.
  • Figure 13 shows a possible implementation. As shown in Figure 13, two computing devices 700A and 700B are connected via a network. Specifically, the network is connected via a communication interface in each computing device.
  • the memory 706 in the computing device 700A stores instructions for executing the functions of the network address translation NAT gateway creation module 206, the serverless function setting module 202, and the connection gateway setting module 205.
  • the memory 706 in the computing device 700B stores instructions for executing the functions of the sending module 203 and the triggering module 204.
  • connection method between the computing device clusters shown in Figure 13 can be considered to be that the configuration method of the server-less function provided in this application needs to provide server-less function computing services, so it is considered to hand over the functions implemented by the sending module and the trigger module to the computing device 700B for execution.
  • the functions of the computing device 700A shown in FIG13 may also be completed by multiple computing devices 700.
  • the functions of the computing device 700B may also be completed by multiple computing devices 700.
  • the embodiment of the present application also provides another computing device cluster.
  • the connection relationship between the computing devices in the computing device cluster can be similar to the connection mode of the computing device cluster described in Figures 11 and 12.
  • the difference is that the memory 706 in one or more computing devices 700 in the computing device cluster can store the same instructions for executing the configuration method of the serverless function.
  • the memory 706 of one or more computing devices 700 in the computing device cluster may also store partial instructions for executing the configuration method of the serverless function.
  • the combination of one or more computing devices 700 can jointly execute the instructions for executing the configuration method of the serverless function.
  • the memory 706 in different computing devices 700 in the computing device cluster can store different instructions for executing some functions of the cloud system. That is, the instructions stored in the memory 706 in different computing devices 700 can implement the functions of one or more devices in the serverless function virtual private cloud VPC, connection gateway, tenant VPC, and computing instance.
  • the embodiment of the present application also provides a computer program product including instructions.
  • the computer program product may be software or a program product including instructions that can be run on a computing device or stored in any available medium.
  • the computer program product is run on at least one computing device, the at least one computing device is caused to perform a configuration method for a serverless function.
  • the embodiment of the present application also provides a computer-readable storage medium.
  • the computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media.
  • the available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk).
  • the computer-readable storage medium includes instructions that instruct a computing device to execute a method for configuring a serverless function, or instructs a computing device to execute a method for configuring a serverless function.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供一种基于云计算技术的无服务器函数的配置系统、方法及装置。该系统包括:无服务器函数虚拟私有云VPC,设置有用于承载第一无服务器函数的第一计算实例,其中第一无服务器函数设置有用于访问第一租户VPC的第一代码;第一租户VPC;连接网关,连接无服务器函数VPC和租户VPC,其还用于接收第一报文,在确认自身记录有第一租户的标识的情况下允许第一报文进入第一租户VPC;第一计算实例,用于在运行第一无服务器函数的过程中向租户VPC发送第一报文,其中第一报文的外层嵌套报文包头携带有第一租户的标识。该系统、方法和装置通过分配租户标识,满足了无服务器计算服务的多租隔离、路由控制和EIP分配,实现了简单、低开销的无服务器函数配置方案。

Description

一种无服务器函数配置系统、方法及装置 技术领域
本发明涉及云计算技术领域,尤其涉及一种无服务器函数配置系统、方法、装置以及服务器、计算机可读存储介质、计算机程序产品。
背景技术
无服务器计算与网络架构相关联,其中,网络架构的用户依赖于作为服务提供并由网络提供商管理的网络服务器、网络基础设施和操作系统。通过创建、管理和部署能够按需扩展的应用以及使用网络提供商管理的网络资源,网络架构的用户可以充分利用无服务器计算。
在无服务器计算中,计算平台自动管理和创建底层计算资源,以承载和运行无服务器函数的函数代码。无服务器计算机平台的示例包括亚马逊云服务(Amazon Web Service,AWS)Lambda、Google Cloud Functions、Azure Functions等。无服务器计算面临的挑战之一是,在逻辑多租网络中,如何实现在多租户无服务器函数访问租户虚拟私有云(Virtual Private Cloud,VPC)中的云资源(例如,数据库资源、存储资源等)和访问公网时,确保租户安全隔离和资源高效发放。更具体地,无服务器函数配置的现有技术采用双层虚拟化的方式,性能损耗大,组网和运维复杂。
发明内容
为解决现有技术的问题,本申请提供一种无服务器函数配置系统、方法及相关装置,能够实现无服务器函数配置中的多租隔离和弹性公网IP分配,减小无服务器函数实例发放的性能损耗,降低多租无服务器网络组网与运维的复杂度。
第一方面,本申请提供一种基于云计算技术的云系统,该云系统设置在至少一个云数据中心中,云系统包括:无服务器函数虚拟私有云VPC,设置有用于承载第一租户的第一无服务器函数的第一计算实例,其中第一无服务器函数设置有用于访问第一租户VPC的第一代码,第一租户VPC,设置有第一租户的云资源,连接网关,用于连接无服务器函数VPC和第一租户VPC,并且记录有第一租户的标识,第一计算实例,用于在运行第一无服务器函数的过程中发送第一报文,其中第一报文的外层嵌套报文包头携带有第一租户的标识,该第一报文的目的IP地址是云资源在第一租户VPC的私网IP地址,该连接网关,还用于接收第一报文,在确认自身记录有第一租户的标识的情况下允许第一报文进入第一租户VPC。
在一些实施例中,云管理平台为租户分配对应的标识,且第一无服务器函数的第一租户指定连接第一租户VPC,连接网关记录有第一租户的标识,承载第一租户的第一无服务器函数的第一计算实例发出的报文的外层嵌套报文包头携带有第一租户的标识。当该无服务器函数想要访问第一租户VPC时,该第一计算实例向第一租户VPC发送第一报文,该报文在向第一租户VPC发送的过程中需要经由连接网关,该连接网关可以基于确认自身是否记录该报文的外层嵌套报文包头中携带的第一租户标识来决定允许或禁止该报文发送至第一租户VPC,若有记录,则允许该第一报文通过连接网关并发送至第一租户VPC。该连接网关可以是单租的,也可以是多租的,本申请对此不做限制。
通过上述方案,实现第一租户的无服务器函数访问第一租户VPC,从而实现租户网络隔离。
根据第一方面的一种可能的实现方式,该云系统中的第一计算实例,还用于挂载第一弹性网卡,其中第一弹性网卡用于将第一租户的标识写入第一报文的嵌套报文包头中,并在第一计算实例运行第一无服务器函数的过程中向连接网关发送设置有嵌套报文包头的第一报文。
在一些实施例中,第一计算实例启动时,云管理平台为第一计算实例创建并挂载弹性网卡,并为该弹性网卡挂载第一租户的标识,在第一计算实例发送的报文经过该弹性网卡时,该弹性网卡将第一租户的第一计算实例对应的第一租户的标识写入报文的嵌套报文包头中。
通过上述方案,使得该第一报文的嵌套报文包头携带有第一租户的标识,便于在报文发送至连接网关后,连接网关确认该标识并基于该标识决定允许或禁止该报文进入第一租户VPC。
根据第一方面的一种可能的实现方式,该云系统还包括:第二计算实例,用于承载第二租户的第二无服务器函数,其中第二无服务器函数设置有用于访问第一租户VPC的第二代码,第二计算实例,还用于在运行第二无服务器函数的过程中向连接网关发送第二报文,其中第二报文的外层嵌套报文包头携带有第二租户的标识,第二报文的目的IP地址是云资源在第一租户VPC的私网IP地址,则连接网关,还用于接收第二报文,在确认自身没有记录有第二租户的标识的情况下禁止第二报文进入第一租户VPC。
在一些实施例中,云管理平台为租户分配对应的标识,且第一无服务器函数的第二租户未指定连接第一租户VPC,连接网关未记录第二租户的标识,第二报文的外层嵌套报文包头携带有第二租户的标识,在第二租户的第二无服务器函数想要访问第一租户VPC时,承载第二无服务器函数的第二计算实例向第一租户VPC发送的第二报文需要经由连接网关,该连接网关可以基于确认自身是否记录该报文的外层嵌套报文包头中携带的第二租户标识来决定允许或禁止该报文发送至第一租户VPC,若没有记录,则禁止该第二报文通过连接网关并发送至第一租户VPC。
通过上述方案,实现第二租户的无服务器函数无法访问第一租户VPC,从而实现多租网络隔离。
根据第一方面的一种可能的实现方式,第二计算实例,用于承载第二租户的第二无服务器函数,其中第二无服务器函数设置有用于访问第一租户VPC的第二代码,则连接网关,还用于记录第二租户的标识,第二计算实例,还用于在运行第二无服务器函数的过程中向连接网关发送第二报文,其中第二报文的外层嵌套报文包头携带有第二租户的标识,第二报文的目的IP地址是云资源在第一租户VPC的私网IP地址,连接网关,还用于接收第二报文,在确认自身记录有第二租户的标识的情况下允许第二报文进入第一租户VPC。
在一些实施例中,第一无服务器函数的第二租户指定连接第一租户VPC,因此连接网关记录有第二租户的标识,第二报文的外层嵌套报文包头携带有第二租户的标识,在第二租户的第二无服务器函数想要访问第一租户VPC时,承载第二无服务器函数的第二计算实例向第一租户VPC发送的第二报文需要经由连接网关,该连接网关可以基于自身记录有该第二租户的标识,从而允许该报文发送至第一租户VPC。
通过上述方案,实现第二租户的无服务器函数访问第一租户VPC,从而实现多租访问控制。
根据第一方面的一种可能的实现方式,第二计算实例设置在上述无服务器函数VPC中,或设置在与无服务器函数VPC不同的另一无服务器函数VPC中。
在一些实施例中,第二计算实例与第一计算实例设置在同一个无服务器函数VPC中,在另一些实施例中,第二计算实例与第一计算实例设置在不同的无服务器函数VPC中,本申请对其不做限制。
通过上述方案,同一无服务器函数VPC中不同租户的计算实例或不同无服务器函数VPC中不同租户的计算实例均能在访问租户VPC时实现网络隔离或网络访问控制。
第二方面,本申请提供一种基于云计算技术的云系统,该云系统设置在至少一个云数据中心,该云系统包括:无服务器函数虚拟私有云VPC,设置有用于承载第三租户的第三无服务器函数的第三计算实例,其中第三无服务器函数设置有用于访问公网的网络节点的第三代码,网络地址转换NAT网关,用于记录第三租户的弹性公网IP和第三租户的标识的对应关系,第三计算实例,用于在运行第三无服务器函数的过程中向NAT网关发送第三报文,其中第三报文的外层嵌套报文包头携带有第三租户的标识,第三报文的目的IP地址是设置在公网的网络节点的公网IP地址,NAT网关,还用于接收第三报文,根据第三租户的标识和对应关系将第三报文的源IP地址设置为第三租户的弹性公网IP,并将去除外层嵌套报文包头的第三报文发送至公网。
在一些实施例中,云管理平台为租户分配对应的标识,且第三租户为其无服务器函数配置了用于访问公网的弹性公网IP,网络地址转换NAT记录有第三租户的标识,并且记录有第三租户的弹性公网IP和第三租户的标识的对应关系,第三租户的第三无服务器函数发出的报文的外层嵌套报文包头携带有第三租户的标识。当该无服务器函数想要访问公网时,该第三计算实例向公网发送第三报文,该报文在向公网发送的过程中需要经由网络地址转换NAT网关,该网络地址转换NAT网关可以基于确认自身是否记录该报文的外层嵌套报文包头中携带的第一租户标识来决定允许或禁止该报文发送至公网。若有记录,则NAT网关接收该报文,并根据第三租户的标识和对应关系设置第三报文的源IP地址为第三租户的弹性公网IP,并将报文发送至公网。
通过上述方案,实现了租户的无服务器函数访问公网,并实现租户指定EIP访问公网,在本方案提供的其他实施例中,该系统可以按照EIP进行公网资源访问控制。
根据第二方面的一种可能的实现方式,该云系统中的第三计算实例,还用于挂载第二弹性网卡,其中第二弹性网卡用于将第三租户的标识写入第三报文的嵌套报文包头中,并在第三计算实例运行第三无服务器函数的过程中向该网络地址转换NAT网关发送设置有该嵌套报文包头的第一报文。
在一些实施例中,第三计算实例启动时,云管理平台为第三计算实例创建并挂载弹性网卡,并为该弹性网卡挂载第三租户的标识,在第三计算实例发送的报文经过该弹性网卡时,该弹性网卡将第三租户的第三计算实例对应的第三租户的标识写入报文的嵌套报文包头中。
通过上述方案,使得该第三报文的嵌套报文包头携带有第三租户的标识,便于在报文发送至网络地址 转换NAT网关后,NAT网关确认该标识并基于该标识决定允许或禁止该报文进入公网。
根据第二方面的一种可能的实现方式,该云系统还包括:第四计算实例,用于承载第四租户的第四无服务器函数,其中第四无服务器函数设置有用于访问公网的网络节点的第四代码,则NAT网关,还用于记录第四租户的弹性公网IP和第四租户的标识的对应关系,第四计算实例,还用于在运行第三无服务器函数的过程中向NAT网关发送第四报文,其中第四报文的外层嵌套报文包头携带有第四租户的标识,第四报文的目的IP地址是设置在公网的网络节点的公网IP地址,NAT网关,还用于接收第四报文,根据第四租户的标识和对应关系将第四报文的源IP地址设置为第四租户的弹性公网IP,并将去除外层嵌套报文包头的第四报文发送至公网。
在一些实施例中,第四租户为其无服务器函数配置了用于访问公网的弹性公网IP,网络地址转换NAT网关记录有第四租户的标识,并记录有第四租户的弹性公网IP和第三租户的标识的对应关系,该无服务器函数想要访问公网时发送的报文携带有该租户的标识,NAT网关接收该报文,并根据第四租户的标识和对应关系设置第四报文的源IP地址为第四租户的弹性公网IP,并将报文发送至公网。
通过上述方案,实现了多租户的无服务器函数访问公网,并实现租户指定EIP访问公网,在本方案提供的其他实施例中,该系统可以按照EIP进行公网资源多租访问控制。
根据第二方面的一种可能的实现方式,该云系统还包括:第四计算实例,用于承载第四租户的第四无服务器函数,其中第四无服务器函数设置有用于访问公网的网络节点的第四代码,则第四计算实例,还用于在运行第四无服务器函数的过程中向NAT网关发送第四报文,其中第四报文的外层嵌套报文包头携带有第四租户的标识,第四报文的目的IP地址是设置在公网的网络节点的公网IP地址,NAT网关,还用于接收第四报文,在确认自身没有记录第四租户的标识的情况下禁止第四报文访问公网。
在一些实施例中,网络地址转换NAT网关未记录有第四租户的标识,而第四租户的第四无服务器函数在其想要访问公网的报文的外层嵌套报文包头中携带有其标识,NAT网关在接收该报文时,确认自身并未记录有该标识,则禁止该报文访问公网。
通过上述方案,实现在NAT网关未记录租户标识的情况下禁止该租户访问公网,在本申请提供的一种实施例中,当租户未购买或未为其计算实例配置EIP时,NAT网关不会记录有租户标识,由此实现对租户公网资源访问控制。
根据第二方面的一种可能的实现方式,其中,第四计算实例设置在该无服务器函数VPC中,或设置在与该无服务器函数VPC不同的另一无服务器函数VPC中。
在一些实施例中,第四计算实例与第三计算实例设置在同一个无服务器函数VPC中,在另一些实施例中,第四计算实例与第三计算实例设置在不同的无服务器函数VPC中,本申请对其不做限制。
通过上述方案,同一无服务器函数VPC中不同租户的计算实例或不同无服务器函数VPC中不同租户的计算实例均能在访问公网时实现网络访问控制及多租指定EIP访问公网。
第二方面,本申请提供一种无服务器函数的配置方法,该方法应用于云管理平台,云管理平台用于管理提供无服务器函数服务的基础设施,基础设施包括至少一个云数据中心,至少一个云数据中心设置有第一租户VPC和无服务器函数VPC,该方法包括:云管理平台创建分别与第一租户VPC和无服务器函数VPC连接的连接网关,云管理平台确认第一租户输入的第一无服务器函数和第一触发事件,其中第一无服务器函数设置有用于访问第一租户VPC的第一代码,第一租户VPC中设置有云资源,云管理平台发送第一租户的标识至连接网关,并设置该连接网关记录第一租户的标识,云管理平台在检测到第一触发事件发生的情况下,触发第一计算实例运行第一无服务器函数,并设置第一计算实例在运行第一无服务器函数的过程中发送第一报文,其中第一报文的外层嵌套报文包头携带有第一租户的标识,第一报文的目的IP地址是云资源在第一租户VPC的私网IP地址,云管理平台设置连接网关接收第一报文并在确认自身记录有第一租户的标识的情况下允许第一报文进入第一租户VPC。
第三方面或第三方面任意一种实现方式是第一方面或第一方面任意一种实现方式对应的方法实现,第一方面或第一方面任意一种实现方式中的描述适用于第三方面或第三方面任意一种实现方式,在此不再赘述。
第四方面或第四方面任意一种实现方式是第二方面或第二方面任意一种实现方式对应的方法实现,第二方面或第二方面任意一种实现方式中的描述适用于第四方面或第四方面任意一种实现方式,在此不再赘述。
第五方面或第五方面任意一种实现方式是第一方面或第一方面任意一种实现方式对应的装置实现,第一方面或第一方面任意一种实现方式中的描述适用于第五方面或第五方面任意一种实现方式,在此不再赘 述。
第六方面或第六方面任意一种实现方式是第二方面或第二方面任意一种实现方式对应的装置实现,第二方面或第二方面任意一种实现方式中的描述适用于第五方面或第五方面任意一种实现方式,在此不再赘述。
第七方面,本申请提供了一种计算设备集群,其中,包括至少一个计算设备,每个计算设备包括处理器和存储器;至少一个计算设备的处理器用于执行至少一个计算设备的存储器中存储的指令,以使得计算设备集群执行如第一方面的任意一种可能的方法。
第八方面,本申请提供了一种包含指令的计算机程序产品,其中,当指令被计算设备集群运行时,使得计算设备集群执行如第一方面的任意一种可能的方法。
第九方面,本身请提供了一种计算机可读存储介质,其中,包括计算机程序指令,当计算机程序指令由计算设备集群执行时,计算设备集群执行如第一方面的任意一种可能的方法。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种云系统的架构示意图;
图2为本申请实施例提供的一种无服务器函数配置方法的流程示意图;
图3为本申请实施例提供的另一种无服务器函数配置方法的流程示意图;
图4为本申请实施例提供的另一种云系统的架构示意图;
图5为本申请实施例提供的另一种无服务器函数配置方法的流程示意图;
图6为本申请实施例提供的另一种无服务器函数配置方法的流程示意图;
图7是本申请实施例提供的一种云管理平台的计算设备集群结构示意图;
图8是本申请实施例提供的另一种云管理平台的计算设备集群结构示意图;
图9是本申请实施例提供的另一种云管理平台的计算设备集群结构示意图;
图10是本申请实施例提供的一种云管理平台装置结构示意图;
图11是本申请实施例提供的另一种云管理平台的计算设备集群结构示意图;
图12是本申请实施例提供的另一种云管理平台的计算设备集群结构示意图;
图13是本申请实施例提供的另一种云管理平台的计算设备集群结构示意图;
图14是本申请实施例提供的另一种云管理平台装置结构示意图。
具体实施方式
下面结合附图对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
首先,结合附图对本申请中所涉及的部分用语和相关技术进行解释说明,以便于本领域技术人员理解。
无服务器服务(Serverless服务):采用无服务器计算(Serverless Computing)开发模式开发的服务。Serverless Computing开发模式是指将服务器从应用开发剥离,由云平台负责置备、维护和扩展服务器基础架构的开发模式,因此,通过Serverless Computing开发模式开发所得的Serverless服务通常不包括服务器端,服务器端的功能可以由云平台实现,租户可专注构建与运行应用,而无需管理服务器。
无服务器函数:无服务器函数是无服务器服务的功能之一,租户需要设置无服务器函数的代码及运行条件,无服务器函数仅在租户预先配置的事件触发时运行,通常租户只需为函数执行期间使用的资源或时长付费。
弹性网卡(Elastic Network Interface,ENI):弹性网卡即虚拟网卡,可以附加到云服务器实例上,且可在多个云服务器间迁移,实现灵活、高可用的网络方案配置。
弹性公网IP(Elastic IP,EIP):提供公网IP资源,可以与云服务器、裸金属服务器等云资源灵活绑定与解绑,提供访问公网和被公网访问的能力。
无服务器函数虚拟私有云(无服务器函数Virtual Private Cloud):设置有承载无服务器函数的计算实例的虚拟私有云。
租户VPC:租户在云上的隔离的、私密的虚拟网络环境,租户可以在VPC中定义安全组、虚拟专用网(Virtual Private Network,VPN)、IP地址段、带宽等网络特性,租户可以通过租户VPC方便地管理、配置内部网络,进行安全快捷的网络变更。
触发事件:触发事件的发生会触发无服务器函数执行,常见的触发事件包括表格数据变更、日志更新、消息队列更新等。
云资源:包括设置在VPC中的云服务器、云容器、云数据库等。
在无服务器函数运行过程中,无服务器VPC内的计算实例存在访问租户VPC内资源的需求,例如,需要访问租户VPC中数据库的数据,这时,需要连接网关将该访问请求转发至该租户VPC;无服务器VPC内的计算实例还存在访问公网资源的需求,例如,需要访问某天气预报网站以获取天气预报数据,这时,需要网络地址转换NAT网关分配或指定公网IP以访问外部资源。然而,访问租户VPC和访问公网都需要识别无服务器函数所属租户是否有权进行访问,若使用物理机在已有物理网络上建立Overlay虚拟逻辑网络,或若使用虚拟机并在其上建立Overlay虚拟逻辑网络成为双层虚拟化网络,都存在实例发送速度低、网络损耗大、运维复杂度高的问题。
基于此,本申请实施例提供了一种无服务器函数配置的系统、方法及装置。在该系统、方法及装置中,云管理平台为租户分配唯一的标识,并将标识下发到租户有权访问的连接网关与网络地址转换NAT网关中,以简单、高效、一致的方式解决了无服务器实例多租网络隔离与弹性公网IP分配问题,提升了实例发放速度,降低了网络损耗与运维成本。
为了使得本申请的技术方案更加清楚、易于理解,下面结合附图对本申请实施例的系统架构进行介绍。
以下请参见图1,图1是本发明实施例提供的一种云系统的架构示意图。该云系统包括云管理平台20和多个无服务器函数VPC、租户VPC,如图1所示,该云系统包括无服务器函数VPC101、无服务器函数VPC102在内的多个无服务器函数VPC,还包括租户VPC111、租户VPC112在内的多个租户VPC,租户50和租户60可以通过客户端40经由互联网30访问云管理平台20,并通过云管理平台20管理无服务器函数VPC101、102和/或租户VPC111、112。无服务器函数VPC101中设置有包括计算实例1011在内的至少一个计算实例,计算实例1011用于承载租户50的无服务器函数10111,计算实例1011挂载有弹性网卡10112。类似的,无服务器函数VPC102中设置有包括计算实例1021在内的至少一个计算实例,计算实例1021用于承载租户60的无服务器函数10211,计算实例1021挂载有弹性网卡10212。租户VPC111内设置有租户50的租户实例1111,租户实例1111中运行有云资源,租户VPC111中设置有连接网关1112。无服务器函数10111所在的计算实例1011需要访问租户VPC111内的云资源时,计算实例1011向租户实例1111发送报文,该报文先发送计算实例1011的弹性网卡10112,再由弹性网卡10112发送至租户VPC111内的连接网关1112,由连接网关1112根据自身是否记录有该报文外层报文包头中的租户标识来判断该报文是否能够进入租户VPC111。
以下请参见图2,图2为本申请实施例提供的一种无服务器函数配置方法的流程示意图,该方法实现了通过租户标识控制租户的无服务器函数访问租户的VPC,从而实现租户网络隔离,该流程包括但不限于以下步骤:
S201.创建连接网关。
具体地,云管理平台20为租户VPC111创建连接网关1112,用于租户VPC111接收报文,在本实施例中,该连接网关1112可以用于接收来自无服务器函数VPC101中的计算实例1011发送的报文。
S202.输入无服务器函数、触发事件。
具体地,租户50使用租户客户端40通过互联网30向云管理平台20输入无服务器函数、触发事件,该触发事件发生时会触发该无服务器函数的运行。
S203.接收无服务器函数、触发事件。
具体地,云管理平台20接收租户50输入的无服务器函数和触发事件,并将该无服务器函数和触发事件配置在计算实例1011上。
S204.发送租户标识。
具体地,云管理平台20向租户VPC111的连接网关1112发送该租户50的标识,从而使得租户VPC111 的连接网关1112记录有该租户50的标识。
S205.记录租户标识。
具体地,租户VPC111记录云管理平台20发送的该租户50的标识。
S206.确认触发事件发生。
具体地,当租户50设置的触发事件发生时,由云管理平台20进行确认。
S207.运行无服务器函数。
具体地,在S206中云管理平台20确认租户50设置的触发事件发生时,云管理平台20告知无服务器函数VPC101中的计算实例1011运行租户50在步骤S202中输入的无服务器函数。
S208.发送报文。
具体地,计算实例1011在运行无服务器函数的过程中发送报文,该报文经过无服务器函数VPC101的弹性网卡10112。
S209.将租户标识写入报文头。
具体地,弹性网卡10112将该租户50的标识写入计算实例1011发送报文的嵌套报文包头中,使得该报文的嵌套报文包头携带有该租户50的标识。
S210.发送报文。
具体地,弹性网卡10112将携带有该租户50标识的报文发送至租户VPC111的连接网关1112。
S211.确认记录有标识。
具体地,连接网关1112在步骤S205中记录有租户50的标识,在步骤S210接收到携带有租户标识的报文后,确认自身记录有租户标识。
S212.允许报文进入租户VPC
具体地,连接网关1112在步骤S212确认自身记录有该标识后,允许携带有该租户标识的报文进入租户VPC111。
S213.发送报文。
具体地,连接网关1112将该报文发送至租户VPC111内的云资源。
以下请参见图3,图3为本申请实施例提供的另一种无服务器函数配置方法的流程示意图,该方法实现了通过租户标识控制租户的无服务器函数访问租户的VPC,从而实现多租网络访问控制和隔离,该流程包括但不限于以下步骤:
S301.创建连接网关。
具体地,云管理平台20为租户VPC111创建连接网关1112,用于租户VPC1112接收报文。
S302.输入无服务器函数、触发事件。
具体地,租户60使用租户客户端40通过互联网30向云管理平台20输入无服务器函数、触发事件,该触发事件发生时会触发该无服务器函数的运行。
S303.接收无服务器函数、触发事件。
具体地,云管理平台20接收租户60输入的无服务器函数和触发事件,并将该无服务器函数和触发事件配置在计算实例1021上。
S304.确认触发事件发生。
具体地,当租户60设置的触发事件发生时,由云管理平台20进行确认。
S305.运行无服务器函数。
具体地,在S304中云管理平台20确认租户60设置的触发事件发生时,云管理平台20告知无服务器函数VPC102中的计算实例1021运行租户60在步骤S302中输入的无服务器函数。
S306.发送报文。
具体地,计算实例1021在运行无服务器函数的过程中发送报文,该报文经过无服务器函数VPC102的弹性网卡10212。
S307.将租户标识写入报文头。
具体地,弹性网卡10212将该租户60的标识写入计算实例1021发送报文的嵌套报文包头中,使得该报文的嵌套报文包头携带有该租户60的标识。
S308.发送报文。
具体地,弹性网卡10212将携带有该租户标识的报文发送至租户VPC111的连接网关1112。
S309.确认没有记录标识。
具体地,连接网关1112并未记录该租户标识,连接网关1112确认自身没有记录该报文的报文头中携带的租户标识。在本申请提供的一种实施例中,租户60未设置其无服务器函数可以访问租户VPC111,因此该连接网关1112未记录该租户标识,在本申请提供的另一种实施例中,租户VPC111未开放租户60的无服务器函数的访问权限,因此该连接网关1112未记录该租户60的租户标识。
S310.禁止报文进入租户VPC
具体地,连接网关1112在步骤S309确认自身没有记录该标识后,禁止携带有该租户标识的报文进入租户VPC111。
以下请参见图4,图4是本发明实施例提供的另一种云系统的架构示意图。该云系统包括云管理平台20和多个无服务器函数VPC、公网,如图4所示,该云系统包括无服务器函数VPC121、无服务器函数VPC122在内的多个无服务器函数VPC,还包括公网13,租户50和租户60可以通过客户端40经由互联网30访问云管理平台20,并通过云管理平台20管理无服务器函数VPC121。无服务器函数VPC121中设置有包括计算实例1211在内的至少一个计算实例,计算实例1211用于承载租户50的无服务器函数12111,计算实例1211挂载有弹性网卡12112。类似的,无服务器函数VPC122中设置有包括计算实例1221在内的至少一个计算实例,计算实例1221用于承载租户60的无服务器函数12211,计算实例1221挂载有弹性网卡12212。无服务器函数12111所在的计算实例1211需要访问公网资源时,计算实例1211向公网13发送报文,该报文先发送至计算实例1211的弹性网卡12112,再由弹性网卡12112发送至网络地址转换NAT网关123,由网络地址转换NAT网关123判断该报文是否能够进入公网13。
以下请参见图5,图5为本申请实施例提供的另一种无服务器函数配置方法的流程示意图,该方法实现了通过租户标识控制租户的无服务器函数访问公网,从而实现多租指定EIP访问公网,该流程包括但不限于以下步骤:
S501.创建网络地址转换NAT网关123。
具体地,云管理平台20为无服务器函数VPC121创建网络地址转换NAT网关123,用于无服务器函数VPC121向公网13发送报文,在本实施例中,该网络地址转换NAT网关123可以用于发送无服务器函数VPC121中的计算实例1211发送的报文。
S502.输入无服务器函数、触发事件。
具体地,租户50使用租户客户端40通过互联网30向云管理平台20输入无服务器函数12111、触发事件,该触发事件发生时会触发该无服务器函数的运行。
S503.接收无服务器函数、触发事件。
具体地,云管理平台20接收租户50输入的无服务器函数12111和触发事件,并将该无服务器函数12111和触发事件配置在计算实例1211上。
S504.发送租户标识。
具体地,云管理平台20向无服务器函数VPC121的网络地址转换NAT网关123发送该租户50的租户标识,从而使得该网络地址转换NAT网关123记录有该租户的标识。
S505.记录租户标识。
具体地,网络地址转换NAT网关123记录云管理平台20发送的该租户50的租户标识。
S506.确认触发事件发生。
具体地,当租户50设置的触发事件发生时,由云管理平台20进行确认。
S507.运行无服务器函数。
具体地,在S506中云管理平台20确认租户50设置的触发事件发生时,云管理平台20告知无服务器函数VPC121中的计算实例1211运行租户50在步骤S502中输入的无服务器函数12111。
S508.发送报文。
具体地,计算实例1211在运行无服务器函数12111的过程中发送报文,该报文经过无服务器函数VPC121的弹性网卡12112。
S509.将租户标识写入报文头。
具体地,弹性网卡12112将该租户50的标识写入计算实例1211发送报文的嵌套报文包头中,使得该报文的嵌套报文包头携带有该租户50的标识。
S510.发送报文。
具体地,弹性网卡12112将携带有该租户标识的报文发送至无服务器函数VPC121的网络地址转换NAT网关123。
S511.确认记录有标识并接收报文。
具体地,网络地址转换NAT网关123在步骤S505中记录有租户50的租户标识,在步骤S510接收到携带有租户标识的报文后,确认自身记录有租户标识。
S512.设置IP地址。
具体地,网络地址转换NAT网关123在步骤S511确认自身记录有该标识后,根据该租户的标识和其弹性公网IP的对应关系将该报文的源IP地址设置为该租户的弹性公网IP。
S513.去除报文头。
具体地,网络地址转换NAT网关123去除该报文的外层嵌套报文包头。
S514发送报文。
具体地,网络地址转换NAT网关123将该报文发送至公网13。
以下请参见图6,图6为本申请实施例提供的另一种无服务器函数配置方法的流程示意图,该方法实现了通过租户标识控制租户的无服务器函数访问公网,从而实现多租指定EIP访问公网,该流程包括但不限于以下步骤:
S601.创建网络地址转换NAT网关123。
具体地,云管理平台20为无服务器函数VPC122创建网络地址转换NAT网关123,用于无服务器函数VPC122向公网13发送报文。
S602.输入无服务器函数、触发事件。
具体地,租户60使用租户客户端40通过互联网30向云管理平台20输入无服务器函数12211、触发事件,该触发事件发生时会触发该无服务器函数12211的运行。
S603.接收无服务器函数、触发事件。
具体地,云管理平台20接收租户60输入的无服务器函数12211和触发事件,并将该无服务器函数12211和触发事件配置在计算实例1221上。
S604.确认触发事件发生。
具体地,当租户60设置的触发事件发生时,由云管理平台20进行确认。
S605.运行无服务器函数。
具体地,在S606中云管理平台确认租户设置的触发事件发生时,云管理平台告知无服务器函数VPC122中的计算实例运行租户60在步骤S602中输入的无服务器函数12211。
S606.发送报文。
具体地,计算实例1221在运行无服务器函数12211的过程中发送报文,该报文经过无服务器函数VPC122的弹性网卡12212。
S607.将租户标识写入报文头。
具体地,弹性网卡12212将该租户60的标识写入计算实例1221发送报文的嵌套报文包头中,使得该报文的嵌套报文包头携带有该租户60的租户标识。
S608.发送报文。
具体地,弹性网卡12212将携带有该租户标识的报文发送至无服务器函数VPC122的网络地址转换NAT网关123。
S609.确认没有记录标识。
具体地,网络地址转换NAT网关123在步骤S608接收到携带有租户标识的报文后,确认自身没有记录有租户标识,在本申请提供的一种实施例中,租户60未为无服务器函数12211购买弹性公网IP或未配置弹性公网IP,因此网络地址转换NAT网关123未记录该租户60的租户标识。
S610.禁止报文访问公网。
具体地,网络地址转换NAT网关123在步骤S609确认自身没有记录该标识后,禁止该租户60的无服务器函数12211的报文访问公网13。
本申请还提供一种云管理平台,如图10所示,包括:连接网关创建模块201、无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205。其中,连接网关创建模块201、无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以连接网关创建模块201为例,介绍连接网关创建模块201的实现方式。类似的,无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205的实现方式可以参考连接网关创建模块201的实现方式。
模块作为软件功能单元的一种举例,连接网关创建模块可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,连接网关创建模块201可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,连接网关创建模块201可以包括至少一个计算设备,如服务器等。或者,连接网关创建模块201也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
连接网关创建模块201包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。连接网关创建模块201包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,连接网关创建模块201包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,连接网关创建模块201、无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205可以用于执行无服务器函数的配置方法中的任意步骤,连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块负责实现的步骤可根据需要指定,通过连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块分别实现无服务器函数的配置方法中不同的步骤来实现云管理平台的全部功能。
本申请还提供一种计算设备600。如图7所示,计算设备600包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。计算设备600可以是服务器或终端设备。应理解,本申请不限定计算设备600中的处理器、存储器的个数。
总线602可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线602可包括在计算设备600各个部件(例如,存储器106、处理器104、通信接口108)之间传送信息的通路。
处理器604可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器606可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器604还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。
存储器606中存储有可执行的程序代码,处理器104执行该可执行的程序代码以分别实现前述连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块的功能,从而实现无服务器函数的配置方法。也即,存储器606上存有用于执行无服务器函数的配置方法的指令。
或者,存储器606中存储有可执行的代码,处理器604执行该可执行的代码以分别实现前述无服务器函数虚拟私有云VPC、连接网关、租户VPC、计算实例的功能,从而实现无服务器函数的配置方法。也即,存储器106上存有用于执行无服务器函数的配置方法的指令。
通信接口608使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备600与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图8所示,所述计算设备集群包括至少一个计算设备600。计算设备集群中的一个或多个计算设备600中的存储器606中可以存有相同的用于执行无服务器函数的配置方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备600的存储器606中也可以分别存有用于执行无服务器函数的配置方法的部分指令。换言之,一个或多个计算设备600的组合可以共同执行用于执行无服务器函数的配置方法的指令。
需要说明的是,计算设备集群中的不同的计算设备600中的存储器606可以存储不同的指令,分别用于执行云管理平台的部分功能。也即,不同的计算设备600中的存储器606存储的指令可以实现连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图9示出了一种可能的实现方式。如图9所示,两个计算设备600A和600B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备600A中的存储器606中存有执行连接网关创建模块201、无服务器函数设置模块202、连接网关设置模块205的功能的指令。同时,计算设备600B中的存储器606中存有执行发送模块203、触发模块204的功能的指令。
图9所示的计算设备集群之间的连接方式可以是考虑到本申请提供的无服务器函数的配置方法需要提供无服务器函数计算服务,因此考虑将发送模块、触发模块实现的功能交由计算设备600B执行。
应理解,图9中示出的计算设备600A的功能也可以由多个计算设备600完成。同样,计算设备600B的功能也可以由多个计算设备600完成。
本申请实施例还提供了另一种计算设备集群。该计算设备集群中各计算设备之间的连接关系可以类似的参考图7和图8所述计算设备集群的连接方式。不同的是,该计算设备集群中的一个或多个计算设备600中的存储器606中可以存有相同的用于执行无服务器函数的配置方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备600的存储器606中也可以分别存有用于执行无服务器函数的配置方法的部分指令。换言之,一个或多个计算设备600的组合可以共同执行用于执行无服务器函数的配置方法的指令。
需要说明的是,计算设备集群中的不同的计算设备600中的存储器606可以存储不同的指令,用于执行云系统的部分功能。也即,不同的计算设备600中的存储器606存储的指令可以实现无服务器函数虚拟私有云VPC、连接网关、租户VPC、计算实例中的一个或多个装置的功能。
本申请还提供一种云管理平台,如图14所示,包括:网络地址转换NAT网关创建模块206、无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205。其中,网络地址转换NAT网关创建模块206、无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205均可以通过软件实现,或者可以通过硬件实现。示例性的,接下来以网络地址转换NAT网关创建模块206为例,介绍网络地址转换NAT网关创建模块206的实现方式。类似的,无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205的实现方式可以参考网络地址转换NAT网关创建模块206的实现方式。
模块作为软件功能单元的一种举例,连接网关创建模块可以包括运行在计算实例上的代码。其中,计算实例可以包括物理主机(计算设备)、虚拟机、容器中的至少一种。进一步地,上述计算实例可以是一台或者多台。例如,网络地址转换NAT网关创建模块206可以包括运行在多个主机/虚拟机/容器上的代码。需要说明的是,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的区域(region)中,也可以分布在不同的region中。进一步地,用于运行该代码的多个主机/虚拟机/容器可以分布在相同的可用区(availability zone,AZ)中,也可以分布在不同的AZ中,每个AZ包括一个数据中心或多个地理位置相近的数据中心。其中,通常一个region可以包括多个AZ。
同样,用于运行该代码的多个主机/虚拟机/容器可以分布在同一个虚拟私有云(virtual private cloud,VPC)中,也可以分布在多个VPC中。其中,通常一个VPC设置在一个region内,同一region内两个VPC之间,以及不同region的VPC之间跨区通信需在每个VPC内设置通信网关,经通信网关实现VPC之间的互连。
模块作为硬件功能单元的一种举例,网络地址转换NAT网关创建模块206可以包括至少一个计算设备,如服务器等。或者,网络地址转换NAT网关创建模块206也可以是利用专用集成电路(application-specific integrated circuit,ASIC)实现、或可编程逻辑器件(programmable logic device,PLD)实现的设备等。其中,上述PLD可以是复杂程序逻辑器件(complex programmable logical device,CPLD)、现场可编程门阵 列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合实现。
网络地址转换NAT网关创建模块206包括的多个计算设备可以分布在相同的region中,也可以分布在不同的region中。网络地址转换NAT网关创建模块206包括的多个计算设备可以分布在相同的AZ中,也可以分布在不同的AZ中。同样,网络地址转换NAT网关创建模块206包括的多个计算设备可以分布在同一个VPC中,也可以分布在多个VPC中。其中,所述多个计算设备可以是服务器、ASIC、PLD、CPLD、FPGA和GAL等计算设备的任意组合。
需要说明的是,在其他实施例中,网络地址转换NAT网关创建模块206、无服务器函数设置模块202、发送模块203、触发模块204、连接网关设置模块205可以用于执行无服务器函数的配置方法中的任意步骤,连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块负责实现的步骤可根据需要指定,通过连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块分别实现无服务器函数的配置方法中不同的步骤来实现云管理平台的全部功能。
本申请还提供一种计算设备700。如图11所示,计算设备700包括:总线702、处理器704、存储器706和通信接口708。处理器704、存储器706和通信接口708之间通过总线702通信。计算设备700可以是服务器或终端设备。应理解,本申请不限定计算设备700中的处理器、存储器的个数。
总线702可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线702可包括在计算设备700各个部件(例如,存储器106、处理器104、通信接口108)之间传送信息的通路。
处理器704可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器706可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器704还可以包括非易失性存储器(non-volatile memory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)。
存储器706中存储有可执行的程序代码,处理器104执行该可执行的程序代码以分别实现前述连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块的功能,从而实现无服务器函数的配置方法。也即,存储器706上存有用于执行无服务器函数的配置方法的指令。
或者,存储器706中存储有可执行的代码,处理器704执行该可执行的代码以分别实现前述无服务器函数虚拟私有云VPC、连接网关、租户VPC、计算实例的功能,从而实现无服务器函数的配置方法。也即,存储器106上存有用于执行无服务器函数的配置方法的指令。
通信接口708使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备700与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算设备集群。该计算设备集群包括至少一台计算设备。该计算设备可以是服务器,例如是中心服务器、边缘服务器,或者是本地数据中心中的本地服务器。在一些实施例中,计算设备也可以是台式机、笔记本电脑或者智能手机等终端设备。
如图12所示,所述计算设备集群包括至少一个计算设备700。计算设备集群中的一个或多个计算设备700中的存储器706中可以存有相同的用于执行无服务器函数的配置方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备700的存储器706中也可以分别存有用于执行无服务器函数的配置方法的部分指令。换言之,一个或多个计算设备700的组合可以共同执行用于执行无服务器函数的配置方法的指令。
需要说明的是,计算设备集群中的不同的计算设备700中的存储器706可以存储不同的指令,分别用于执行云管理平台的部分功能。也即,不同的计算设备700中的存储器706存储的指令可以实现连接网关创建模块、无服务器函数设置模块、发送模块、触发模块、连接网关设置模块中的一个或多个模块的功能。
在一些可能的实现方式中,计算设备集群中的一个或多个计算设备可以通过网络连接。其中,所述网络可以是广域网或局域网等等。图13示出了一种可能的实现方式。如图13所示,两个计算设备700A和700B之间通过网络进行连接。具体地,通过各个计算设备中的通信接口与所述网络进行连接。在这一类可能的实现方式中,计算设备700A中的存储器706中存有执行网络地址转换NAT网关创建模块206、无服务器函数设置模块202、连接网关设置模块205的功能的指令。同时,计算设备700B中的存储器706中存有执行发送模块203、触发模块204的功能的指令。
图13所示的计算设备集群之间的连接方式可以是考虑到本申请提供的无服务器函数的配置方法需要提供无服务器函数计算服务,因此考虑将发送模块、触发模块实现的功能交由计算设备700B执行。
应理解,图13中示出的计算设备700A的功能也可以由多个计算设备700完成。同样,计算设备700B的功能也可以由多个计算设备700完成。
本申请实施例还提供了另一种计算设备集群。该计算设备集群中各计算设备之间的连接关系可以类似的参考图11和图12所述计算设备集群的连接方式。不同的是,该计算设备集群中的一个或多个计算设备700中的存储器706中可以存有相同的用于执行无服务器函数的配置方法的指令。
在一些可能的实现方式中,该计算设备集群中的一个或多个计算设备700的存储器706中也可以分别存有用于执行无服务器函数的配置方法的部分指令。换言之,一个或多个计算设备700的组合可以共同执行用于执行无服务器函数的配置方法的指令。
需要说明的是,计算设备集群中的不同的计算设备700中的存储器706可以存储不同的指令,用于执行云系统的部分功能。也即,不同的计算设备700中的存储器706存储的指令可以实现无服务器函数虚拟私有云VPC、连接网关、租户VPC、计算实例中的一个或多个装置的功能。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行无服务器函数的配置方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行无服务器函数的配置方法,或指示计算设备执行无服务器函数的配置方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的保护范围。

Claims (29)

  1. 一种基于云计算技术的云系统,其特征在于,所述云系统设置在至少一个云数据中心中,所述云系统包括:
    无服务器函数虚拟私有云VPC,设置有用于承载第一租户的第一无服务器函数的第一计算实例,其中所述第一无服务器函数设置有用于访问第一租户VPC的第一代码;
    所述第一租户VPC,设置有所述第一租户的云资源;
    连接网关,用于连接所述无服务器函数VPC和所述第一租户VPC,并且记录有所述第一租户的标识;
    所述第一计算实例,用于在运行所述第一无服务器函数的过程中发送第一报文,其中所述第一报文的外层嵌套报文包头携带有所述第一租户的标识,所述第一报文的目的IP地址是所述云资源在所述第一租户VPC的私网IP地址;
    所述连接网关,还用于接收所述第一报文,在确认自身记录有所述第一租户的标识的情况下允许所述第一报文进入所述第一租户VPC。
  2. 根据权利要求1所述的云系统,其特征在于,
    所述第一计算实例,还用于挂载第一弹性网卡,其中所述第一弹性网卡用于将所述第一租户的标识写入所述第一报文的嵌套报文包头中,并在所述第一计算实例运行所述第一无服务器函数的过程中向所述连接网关发送设置有所述嵌套报文包头的第一报文。
  3. 根据权利要求1或2所述的云系统,其特征在于,还包括:
    第二计算实例,用于承载第二租户的第二无服务器函数,其中所述第二无服务器函数设置有用于访问所述第一租户VPC的第二代码;
    所述第二计算实例,还用于在运行所述第二无服务器函数的过程中向所述连接网关发送第二报文,其中所述第二报文的外层嵌套报文包头携带有所述第二租户的标识,所述第二报文的目的IP地址是所述云资源在所述第一租户VPC的私网IP地址;则
    所述连接网关,还用于接收所述第二报文,在确认自身没有记录有所述第二租户的标识的情况下禁止所述第二报文进入所述第一租户VPC。
  4. 根据权利要求1或2所述的云系统,其特征在于,还包括:
    第二计算实例,用于承载第二租户的第二无服务器函数,其中所述第二无服务器函数设置有用于访问所述第一租户VPC的第二代码;则
    所述连接网关,还用于记录所述第二租户的标识;
    所述第二计算实例,还用于在运行所述第二无服务器函数的过程中向所述连接网关发送第二报文,其中所述第二报文的外层嵌套报文包头携带有所述第二租户的标识,所述第二报文的目的IP地址是所述云资源在所述第一租户VPC的私网IP地址;
    所述连接网关,还用于接收所述第二报文,在确认自身记录有所述第二租户的标识的情况下允许所述第二报文进入所述第一租户VPC。
  5. 根据权利要求3或4所述的云系统,其特征在于,所述第二计算实例设置在所述无服务器函数VPC中,或设置在与所述无服务器函数VPC不同的另一无服务器函数VPC中。
  6. 一种基于云计算技术的云系统,其特征在于,所述云系统设置在至少一个云数据中心,所述云系统包括:
    无服务器函数虚拟私有云VPC,设置有用于承载第三租户的第三无服务器函数的第三计算实例,其中所述第三无服务器函数设置有用于访问公网的网络节点的第三代码;
    网络地址转换NAT网关,用于记录所述第三租户的弹性公网IP和所述第三租户的标识的对应关系;
    所述第三计算实例,用于在运行所述第三无服务器函数的过程中向所述NAT网关发送第三报文,其中所述第三报文的外层嵌套报文包头携带有所述第三租户的标识,所述第三报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述NAT网关,还用于接收所述第三报文,根据所述第三租户的标识和所述对应关系将所述第三报文的源IP地址设置为所述第三租户的弹性公网IP,并将去除所述外层嵌套报文包头的第三报文发送至所述公网。
  7. 根据权利要求6所述的云系统,其特征在于,
    所述第三计算实例,还用于挂载第二弹性网卡,其中所述第二弹性网卡用于将所述第三租户的标识写 入所述第三报文的嵌套报文包头中,并在所述第三计算实例运行所述第三无服务器函数的过程中向所述网络地址转换NAT网关发送设置有所述嵌套报文包头的第一报文。
  8. 根据权利要求5或6所述的云系统,其特征在于,还包括:
    第四计算实例,用于承载第四租户的第四无服务器函数,其中所述第四无服务器函数设置有用于访问公网的网络节点的第四代码;则
    所述NAT网关,还用于记录所述第四租户的弹性公网IP和所述第四租户的标识的对应关系;
    所述第四计算实例,还用于在运行所述第三无服务器函数的过程中向所述NAT网关发送第四报文,其中所述第四报文的外层嵌套报文包头携带有所述第四租户的标识,所述第四报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述NAT网关,还用于接收所述第四报文,根据所述第四租户的标识和所述对应关系将所述第四报文的源IP地址设置为所述第四租户的弹性公网IP,并将去除所述外层嵌套报文包头的第四报文发送至所述公网。
  9. 根据权利要求5或6所述的云系统,其特征在于,还包括:
    第四计算实例,用于承载第四租户的第四无服务器函数,其中所述第四无服务器函数设置有用于访问公网的网络节点的第四代码;则
    所述第四计算实例,还用于在运行所述第四无服务器函数的过程中向所述NAT网关发送第四报文,其中所述第四报文的外层嵌套报文包头携带有所述第四租户的标识,所述第四报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述NAT网关,还用于接收所述第四报文,在确认自身没有记录所述第四租户的标识的情况下禁止所述第四报文访问所述公网。
  10. 根据权利要求8或9所述的云系统,其特征在于,所述第四计算实例设置在所述无服务器函数VPC中,或设置在与所述无服务器函数VPC不同的另一无服务器函数VPC中。
  11. 一种无服务器函数的配置方法,其特征在于,所述方法应用于云管理平台,所述云管理平台用于管理提供无服务器函数服务的基础设施,所述基础设施包括至少一个云数据中心,所述至少一个云数据中心设置有第一租户VPC和无服务器函数VPC,所述方法包括:
    所述云管理平台创建分别与所述第一租户VPC和所述无服务器函数VPC连接的连接网关;
    所述云管理平台确认第一租户输入的第一无服务器函数和第一触发事件,其中所述第一无服务器函数设置有用于访问第一租户VPC的第一代码,所述第一租户VPC中设置有云资源;
    所述云管理平台发送所述第一租户的标识至所述连接网关,并设置所述连接网关记录所述第一租户的标识;
    所述云管理平台在检测到所述第一触发事件发生的情况下,触发第一计算实例运行所述第一无服务器函数,并设置所述第一计算实例在运行所述第一无服务器函数的过程中发送第一报文,其中所述第一报文的外层嵌套报文包头携带有所述第一租户的标识,所述第一报文的目的IP地址是所述云资源在所述第一租户VPC的私网IP地址;
    所述云管理平台设置所述连接网关接收所述第一报文并在确认自身记录有所述第一租户的标识的情况下允许所述第一报文进入所述第一租户VPC。
  12. 根据权利要求11所述的方法,其特征在于,所述设置所述第一计算实例在运行所述第一无服务器函数的过程中向所述第一租户VPC发送第一报文具体包括:
    所述云管理平台设置所述第一计算实例挂载第一弹性网卡,其中所述第一弹性网卡用于将所述第一租户的标识写入所述第一报文的嵌套报文包头中,并在所述第一计算实例运行所述第一无服务器函数的过程中向所述连接网关发送设置有所述嵌套报文包头的第一报文。
  13. 根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
    所述云管理平台确认第二租户输入的第二无服务器函数和第二触发事件,其中所述第二无服务器函数设置有用于访问第一租户VPC的第二代码;
    所述云管理平台在检测到所述第二触发事件发生的情况下,触发第二计算实例运行所述第二无服务器函数,并设置所述第二计算实例在运行所述第二无服务器函数的过程中发送第二报文,其中所述第二报文的外层嵌套报文包头携带有所述第二租户的标识,所述第二报文的目的IP地址是所述云资源在所述第一租户VPC的私网地址;
    所述云管理平台设置所述连接网关接收所述第二报文并在确认自身没有记录有所述第二租户的标识 的情况下禁止所述第二报文进入所述第一租户VPC。
  14. 根据权利要求11或12所述的方法,其特征在于,所述方法还包括:
    所述云管理平台确认第二租户输入的第二无服务器函数和第二触发事件,其中所述第二无服务器函数设置有用于访问第一租户VPC的第二代码;
    所述云管理平台设置所述连接网关记录所述第二租户的标识;
    所述云管理平台在检测到所述第二触发事件发生的情况下,触发第二计算实例运行所述第二无服务器函数,并设置所述第二计算实例在运行所述第二无服务器函数的过程中发送第二报文,其中所述第二报文的外层嵌套报文包头携带有所述第二租户的标识,所述第二报文的目的IP地址是所述云资源在所述第一租户VPC的私网地址;
    所述云管理平台设置所述连接网关接收所述第二报文并在确认自身记录有所述第二租户的标识的情况下允许所述第二报文进入所述第一租户VPC。
  15. 一种无服务器函数的配置方法,其特征在于,所述方法应用于云管理平台,所述云管理平台用于管理提供无服务器函数服务的基础设施,所述基础设施包括至少一个云数据中心,所述至少一个云数据中心设置有无服务器函数VPC和网络地址转换NAT网关,所述方法包括:
    所述云管理平台创建网络地址转换NAT网关;
    所述云管理平台确认第三租户输入的第三无服务器函数和第三触发事件,其中所述第三无服务器函数设置有用于访问公网的网络节点的第三代码;
    所述云管理平台发送所述第三租户的标识至所述网络地址转换NAT网关,并设置所述网络地址转换NAT网关记录所述第三租户的标识;
    所述云管理平台在检测到所述第三触发事件发生的情况下,触发第三计算实例运行所述第三无服务器函数,并设置所述第三计算实例在运行所述第三无服务器函数的过程中发送第三报文,其中所述第三报文的外层嵌套报文包头携带有所述第三租户的标识,所述第三报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述云管理平台设置所述网络地址转换NAT网关用于接收所述第三报文,并根据所述第三租户的标识将所述第三报文的源IP地址设置为所述第三租户的弹性公网IP,并将去除所述外层嵌套报文包头的第三报文发送至所述公网。
  16. 根据权利要求15所述的方法,其特征在于,所述设置所述第三计算实例在运行所述第三无服务器函数的过程中发送第三报文,具体包括:
    所述云管理平台设置所述第三计算实例挂载第二弹性网卡,其中所述第二弹性网卡用于将所述第三租户的标识写入所述第三报文的嵌套报文包头中,并在所述第三计算实例在运行所述第三无服务器函数的过程中发送第三报文。
  17. 根据权利要求15或16所述的方法,其特征在于,所述方法包括:
    所述云管理平台确认第四租户输入的第四无服务器函数和第四触发事件,其中所述第四无服务器函数设置有用于访问公网的网络节点的第四代码;
    所述云管理平台发送所述第四租户的标识至所述网络地址转换NAT网关,并设置所述网络地址转换NAT网关记录所述第四租户的标识;
    所述云管理平台在检测到所述第四触发事件发生的情况下,触发第四计算实例运行所述第四无服务器函数,并设置所述第四计算实例在运行所述第四无服务器函数的过程中发送第四报文,其中所述第四报文的外层嵌套报文包头携带有所述第四租户的标识,所述第四报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述云管理平台设置所述网络地址转换NAT网关用于接收所述第四报文,并根据所述第四租户的标识将所述第四报文的源IP地址设置为所述第四租户的弹性公网IP,并将去除所述外层嵌套报文包头的第四报文发送至所述公网。
  18. 根据权利要求15或16所述的方法,其特征在于,所述方法包括:
    所述云管理平台确认第四租户输入的第四无服务器函数和第四触发事件,其中所述第四无服务器函数设置有用于访问公网的网络节点的第四代码;
    所述云管理平台在检测到所述第四触发事件发生的情况下,触发第四计算实例运行所述第四无服务器函数,并设置所述第四计算实例在运行所述第四无服务器函数的过程中发送第四报文,其中所述第四报文的外层嵌套报文包头携带有所述第四租户的标识,所述第四报文的目的IP地址是设置在所述公网的所述网 络节点的公网IP地址;
    所述云管理平台设置所述网络地址转换NAT网关用于接收所述第四报文并在确认自身没有记录所述第四租户的标识的情况下禁止第四报文访问所述公网。
  19. 一种云管理平台,其特征在于,所述云管理平台用于管理提供无服务器函数服务的基础设施,所述基础设施包括至少一个云数据中心,所述至少一个云数据中心设置有第一租户VPC和无服务器函数VPC,所述云管理平台包括:
    连接网关创建模块,用于创建分别与所述第一租户VPC和所述无服务器函数VPC连接的连接网关;
    无服务器函数设置模块,用于确认第一租户输入的第一无服务器函数和第一触发事件,其中所述第一无服务器函数设置有用于访问第一租户VPC的第一代码,所述第一租户VPC中设置有云资源;
    发送模块,用于发送所述第一租户的标识至所述连接网关,并设置所述连接网关记录所述第一租户的标识;
    触发模块,用于在检测到所述第一触发事件发生的情况下,触发第一计算实例运行所述第一无服务器函数,并设置所述第一计算实例在运行所述第一无服务器函数的过程中发送第一报文,其中所述第一报文的外层嵌套报文包头携带有所述第一租户的标识,所述第一报文的目的IP地址是所述云资源在所述第一租户VPC的私网IP地址;
    连接网关设置模块,用于设置所述连接网关接收所述第一报文并在确认自身记录有所述第一租户的标识的情况下允许所述第一报文进入所述第一租户VPC。
  20. 根据权利要求19所述的云管理平台,其特征在于,
    所述触发模块,具体用于设置所述第一计算实例挂载第一弹性网卡,其中所述第一弹性网卡用于将所述第一租户的标识写入所述第一报文的嵌套报文包头中,并在所述第一计算实例运行所述第一无服务器函数的过程中向所述连接网关发送设置有所述嵌套报文包头的第一报文。
  21. 根据权利要求19或20所述的云管理平台,其特征在于,
    所述触发模块,还用于确认第二租户输入的第二无服务器函数和第二触发事件,其中所述第二无服务器函数设置有用于访问第一租户VPC的第二代码;
    所述触发模块,还用于在检测到所述第二触发事件发生的情况下,触发第二计算实例运行所述第二无服务器函数,并设置所述第二计算实例在运行所述第二无服务器函数的过程中发送第二报文,其中所述第二报文的外层嵌套报文包头携带有所述第二租户的标识,所述第二报文的目的IP地址是所述云资源在所述第一租户VPC的私网地址;
    所述连接网关设置模块,还用于设置所述连接网关接收所述第二报文并在确认自身没有记录有所述第二租户的标识的情况下禁止所述第二报文进入所述第一租户VPC。
  22. 根据权利要求19或20所述的云管理平台,其特征在于,
    所述触发模块,还用于确认第二租户输入的第二无服务器函数和第二触发事件,其中所述第二无服务器函数设置有用于访问第一租户VPC的第二代码;
    所述发送模块,还用于发送所述第二租户的标识至所述连接网关并设置所述连接网关记录所述第二租户的标识;
    所述触发模块,还用于在检测到所述第二触发事件发生的情况下,触发第二计算实例运行所述第二无服务器函数,并设置所述第二计算实例在运行所述第二无服务器函数的过程中发送第二报文,其中所述第二报文的外层嵌套报文包头携带有所述第二租户的标识,所述第二报文的目的IP地址是所述云资源在所述第一租户VPC的私网地址;
    所述连接网关设置模块,还用于设置所述连接网关接收所述第二报文并在确认自身记录有所述第二租户的标识的情况下允许所述第二报文进入所述第一租户VPC。
  23. 一种云管理平台,其特征在于,所述云管理平台用于管理提供无服务器函数服务的基础设施,所述基础设施包括至少一个云数据中心,所述至少一个云数据中心设置有无服务器函数VPC和网络地址转换NAT网关,所述云管理平台包括:
    所述网络地址转换NAT网关创建模块,用于创建NAT网关;
    所述无服务器函数设置模块,用于确认第三租户输入的第三无服务器函数和第三触发事件,其中所述第三无服务器函数设置有用于访问公网的网络节点的第三代码;
    所述发送模块,用于发送所述第三租户的标识至所述网络地址转换NAT网关,并设置所述网络地址转换NAT网关记录所述第三租户的标识;
    所述触发模块,用于在检测到所述第三触发事件发生的情况下,触发第三计算实例运行所述第三无服务器函数,并设置所述第三计算实例在运行所述第三无服务器函数的过程中发送第三报文,其中所述第三报文的外层嵌套报文包头携带有所述第三租户的标识,所述第三报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述NAT网关设置模块,用于设置所述网络地址转换NAT网关用于接收所述第三报文,并根据所述第三租户的标识将所述第三报文的源IP地址设置为所述第三租户的弹性公网IP,并将去除所述外层嵌套报文包头的第三报文发送至所述公网。
  24. 根据权利要求23所述的云管理平台,其特征在于,
    所触发模块,具体用于设置所述第三计算实例挂载第二弹性网卡,其中所述第二弹性网卡用于将所述第三租户的标识写入所述第三报文的嵌套报文包头中,并在所述第三计算实例在运行所述第三无服务器函数的过程中发送第三报文。
  25. 根据权利要求23或24所述的云管理平台,其特征在于,
    所述无服务器函数设置模块,还用于确认第四租户输入的第四无服务器函数和第四触发事件,其中所述第四无服务器函数设置有用于访问公网的网络节点的第四代码;
    所述发送模块,还用于发送所述第四租户的标识至所述网络地址转换NAT网关,并设置所述网络地址转换NAT网关记录所述第四租户的标识;
    所述检测模块,还用于在检测到所述第四触发事件发生的情况下,触发第四计算实例运行所述第四无服务器函数,并设置所述第四计算实例在运行所述第四无服务器函数的过程中发送第四报文,其中所述第四报文的外层嵌套报文包头携带有所述第四租户的标识,所述第四报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述NAT网关设置模块,还用于设置所述网络地址转换NAT网关接收所述第四报文,并根据所述第四租户的标识将所述第四报文的源IP地址设置为所述第四租户的弹性公网IP,并将去除所述外层嵌套报文包头的第四报文发送至所述公网。
  26. 根据权利要求23或24所述的云管理平台,其特征在于,
    所述无服务器函数设置模块,还用于确认第四租户输入的第四无服务器函数和第四触发事件,其中所述第四无服务器函数设置有用于访问公网的网络节点的第四代码;
    所述触发模块,还用于在检测到所述第四触发事件发生的情况下,触发第四计算实例运行所述第四无服务器函数,并设置所述第四计算实例在运行所述第四无服务器函数的过程中发送第四报文,其中所述第四报文的外层嵌套报文包头携带有所述第四租户的标识,所述第四报文的目的IP地址是设置在所述公网的所述网络节点的公网IP地址;
    所述NAT网关设置模块,还用于设置所述NAT网关用于接收所述第四报文并在确认自身没有记录所述第四租户的标识的情况下禁止第四报文访问所述公网。
  27. 一种计算设备集群,其特征在于,包括至少一个计算设备,每个计算设备包括处理器和存储器;
    所述至少一个计算设备的处理器用于执行所述至少一个计算设备的存储器中存储的指令,以使得所述计算设备集群执行如权利要求11至14任一项所述的方法或权利要求15至18任一项所述的方法。
  28. 一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备集群运行时,使得所述计算设备集群执行如权利要求的11至14任一项所述的方法或权利要求15至18任一项所述的方法。
  29. 一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备集群执行时,所述计算设备集群执行如11至14任一项所述的方法或权利要求15至18任一项所述的方法。
PCT/CN2023/123464 2022-10-09 2023-10-09 一种无服务器函数配置系统、方法及装置 WO2024078427A1 (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202211226005 2022-10-09
CN202211226005.7 2022-10-09
CN202310021171.1 2023-01-06
CN202310021171.1A CN117896424A (zh) 2022-10-09 2023-01-06 一种无服务器函数配置系统、方法及装置

Publications (1)

Publication Number Publication Date
WO2024078427A1 true WO2024078427A1 (zh) 2024-04-18

Family

ID=90649469

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/123464 WO2024078427A1 (zh) 2022-10-09 2023-10-09 一种无服务器函数配置系统、方法及装置

Country Status (2)

Country Link
CN (1) CN117896424A (zh)
WO (1) WO2024078427A1 (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200120120A1 (en) * 2018-10-10 2020-04-16 Nuweba Labs Ltd. Techniques for network inspection for serverless functions
US10645020B1 (en) * 2017-01-30 2020-05-05 Amazon Technologies, Inc. Virtual networking for compute instances
CN111327720A (zh) * 2020-02-21 2020-06-23 北京百度网讯科技有限公司 一种网络地址转换方法、装置、网关设备及存储介质
US11070621B1 (en) * 2020-07-21 2021-07-20 Cisco Technology, Inc. Reuse of execution environments while guaranteeing isolation in serverless computing
CN113614697A (zh) * 2018-12-21 2021-11-05 华为技术有限公司 减少无服务器函数启动延迟的机制
CN114205229A (zh) * 2021-12-03 2022-03-18 紫光云(南京)数字技术有限公司 灵活控制弹性公网ip绑定弹性网卡时下发配置的判断方法
CN114679370A (zh) * 2021-05-20 2022-06-28 腾讯云计算(北京)有限责任公司 一种服务器托管方法、装置、系统及存储介质

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10645020B1 (en) * 2017-01-30 2020-05-05 Amazon Technologies, Inc. Virtual networking for compute instances
US20200120120A1 (en) * 2018-10-10 2020-04-16 Nuweba Labs Ltd. Techniques for network inspection for serverless functions
CN113614697A (zh) * 2018-12-21 2021-11-05 华为技术有限公司 减少无服务器函数启动延迟的机制
CN111327720A (zh) * 2020-02-21 2020-06-23 北京百度网讯科技有限公司 一种网络地址转换方法、装置、网关设备及存储介质
US11070621B1 (en) * 2020-07-21 2021-07-20 Cisco Technology, Inc. Reuse of execution environments while guaranteeing isolation in serverless computing
CN114679370A (zh) * 2021-05-20 2022-06-28 腾讯云计算(北京)有限责任公司 一种服务器托管方法、装置、系统及存储介质
CN114205229A (zh) * 2021-12-03 2022-03-18 紫光云(南京)数字技术有限公司 灵活控制弹性公网ip绑定弹性网卡时下发配置的判断方法

Also Published As

Publication number Publication date
CN117896424A (zh) 2024-04-16

Similar Documents

Publication Publication Date Title
US10700979B2 (en) Load balancing for a virtual networking system
US11088944B2 (en) Serverless packet processing service with isolated virtual network integration
WO2021135344A1 (zh) 虚拟私有云与云下数据中心通信、配置方法及相关装置
JP6771650B2 (ja) クラウドコンピューティングシステムにおいて仮想マシンが物理サーバにアクセスするための方法、装置、およびシステム
US10320674B2 (en) Independent network interfaces for virtual network environments
JP6670025B2 (ja) クラウド・ネットワーキングのためのマルチテナント認識型動的ホスト構成プロトコル(dhcp)機構
US10909592B2 (en) Partitioned private interconnects to provider networks
US9880870B1 (en) Live migration of virtual machines using packet duplication
JP5837683B2 (ja) ネットワークのセグメント化によるネイティブクラウドコンピューティング
US11099826B2 (en) Canary deployment using an application delivery controller
JP2016536714A (ja) データー・ストレージ入力/出力要求の制御
JP2020515987A (ja) 分離されたネットワークスタックにわたるインテリジェントなスレッド管理
JP2019525528A (ja) 攻撃に対する防御のためのネットワークトラフィックの処理
CN105657081A (zh) 提供dhcp服务的方法、装置及系统
US11563799B2 (en) Peripheral device enabling virtualized computing service extensions
US20180248952A1 (en) Protocol independent storage discovery and enablement
US10785056B1 (en) Sharing a subnet of a logically isolated network between client accounts of a provider network
US10291553B2 (en) Logical switch architecture for network virtualization
US9374308B2 (en) Openflow switch mode transition processing
US11296981B2 (en) Serverless packet processing service with configurable exception paths
WO2024078427A1 (zh) 一种无服务器函数配置系统、方法及装置
US20220141080A1 (en) Availability-enhancing gateways for network traffic in virtualized computing environments
CN114365087A (zh) 用于在客户端选择的服务器上配置计算实例的外围设备
WO2024103726A1 (zh) 基于云计算技术的云服务部署方法及云管理平台
JP7496870B2 (ja) 統合システム内のアプリケーション・フローとの通信

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23876629

Country of ref document: EP

Kind code of ref document: A1