Method for multi-az load balancing and electronic device using same
The multi-availability zone load balancing system addresses the challenge of maintaining high availability across different AZs by using floating IPs and auxiliary interfaces to ensure continuous service access through seamless failover between load balancers.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- NETLOX CO LTD
- Filing Date
- 2024-11-27
- Publication Date
- 2026-06-04
AI Technical Summary
Conventional load balancers in cloud-native environments face challenges in maintaining high availability when located in different Availability Zones (AZs) due to the need for separate subnets, leading to potential service interruptions and loss of availability if one AZ fails.
A multi-availability zone load balancing system that utilizes floating IP patterns and auxiliary network interfaces to route traffic across AZs, allowing seamless failover between master and auxiliary load balancers, ensuring continuous service availability without requiring changes in network settings.
Minimizes service interruptions by enabling high availability across multiple AZs, allowing uninterrupted service access even when one AZ fails, by maintaining session continuity and using virtual IPs to route traffic to alternative AZs.
Smart Images

Figure KR2024019056_04062026_PF_FP_ABST
Abstract
Description
Multi-availability zone load control method and electronic device using the same
[0001] Various embodiments of the present invention relate to a multi-available area load control method and an electronic device using the same.
[0002] In the Fourth Industrial Revolution, which is a hot topic today, various types of data can be hyper-connected through various devices. In this environment, the market for innovative convergence new products and service solutions that reflect user needs may expand, and to support this, it may be necessary to build a network infrastructure capable of processing various types of data without loss.
[0003] An Availability Zone (AZ) can refer to physically separated data center locations in a cloud-native environment. Cloud service providers, such as AWS (Amazon Web Services), can operate multiple AZs within a single region. These AZs are physically and geographically separated, and typically, their network subnets can also be operated separately.
[0004] Conventional load balancers must share Virtual IPs (VIPs) to maintain Access Points (APs) in order to configure High Availability (HA), but in this case, the separation of Availability Zones (AZs) can become a problem. If load balancers intended for high availability are located in different AZs, they may be required to use different subnets due to constraints inherent to the AZs. In other words, since the master load balancer and the secondary load balancer are physically located in different AZs, it may be an environment where they cannot use the same Virtual IP. Therefore, when configuring high availability in a cloud-native environment, a constraint may arise that all load balancers must exist within the same AZ. Consequently, if a failure occurs in the AZ itself, the high availability of the existing load balancer may lose its significance.
[0005] According to various embodiments, a multi-availability zone load balancing system in a cloud-native environment comprises: a cloud platform; a first electronic device; a second electronic device; and a pod, wherein the cloud platform designates the first electronic device as a master load balancer; and the cloud platform designates the second electronic device as an auxiliary load balancer, wherein the first electronic device is located in a first availability zone and the second electronic device is located in a second availability zone, and the first availability zone and the second availability zone may be different from each other.
[0006] According to various embodiments of the present invention, an electronic device can configure high availability between load balancers in a cloud-native Multi-AZ environment. The electronic device can improve upon the limitations of conventional load balancers by utilizing floating IP patterns and auxiliary network interfaces. When the electronic device configures high availability across multiple AZs, service interruptions can be minimized by routing traffic to other AZs even if one AZ fails. Even in such cases, users can continue to use the service without experiencing network failures or needing to change settings separately.
[0007] FIG. 1 is a block diagram of an electronic device in a network environment according to various embodiments of the present invention.
[0008] FIG. 2 is a block diagram of a program according to various embodiments of the present invention.
[0009] FIG. 3 is a diagram schematically illustrating a high availability configuration between load balancers in a cloud-native Multi-AZ environment according to various embodiments of the present invention.
[0010] FIG. 4 is a diagram illustrating a method for handling traffic between different load balancers during failover according to various embodiments of the present invention.
[0011] FIG. 1 is a block diagram of an electronic device (101) in a network environment (100) according to various embodiments. Referring to FIG. 1, in the network environment (100), the electronic device (101) may communicate with an electronic device (102) through a first network (198) (e.g., a short-range wireless communication network) or with an electronic device (104) or a server (108) through a second network (199) (e.g., a long-range wireless communication network). According to one embodiment, the electronic device (101) may communicate with the electronic device (104) through a server (108). According to one embodiment, the electronic device (101) may include a processor (120), memory (130), input device (150), sound output device (155), display device (160), audio module (170), sensor module (176), interface (177), haptic module (179), camera module (180), power management module (188), battery (189), communication module (190), subscriber identification module (196), or antenna module (197). In some embodiments, at least one of these components (e.g., display device (160) or camera module (180)) may be omitted from the electronic device (101), or one or more other components may be added. In some embodiments, some of these components may be implemented as a single integrated circuit. For example, a sensor module (176) (e.g., fingerprint sensor, iris sensor, or light sensor) can be implemented embedded in a display device (160) (e.g., display).
[0012] The processor (120) can control at least one other component (e.g., a hardware or software component) of the electronic device (101) connected to the processor (120) by executing software (e.g., a program (140)), for example, and can perform various data processing or operations. According to one embodiment, as at least part of the data processing or operations, the processor (120) can load commands or data received from other components (e.g., a sensor module (176) or a communication module (190)) into volatile memory (132), process the commands or data stored in volatile memory (132), and store the resulting data in non-volatile memory (134). According to one embodiment, the processor (120) may include a main processor (121) (e.g., a central processing unit or an application processor) and an auxiliary processor (123) (e.g., a graphics processing unit, an image signal processor, a sensor hub processor, or a communication processor) that can operate independently or together with the main processor (121). Additionally or generally, the auxiliary processor (123) may be configured to use less power than the main processor (121) or to be specialized for a designated function. The auxiliary processor (123) may be implemented separately from the main processor (121) or as part thereof.
[0013] The auxiliary processor (123) can control at least some of the functions or states associated with at least one component of the electronic device (101) (e.g., display device (160), sensor module (176), or communication module (190)) on behalf of the main processor (121) while the main processor (121) is in an inactive (e.g., sleep) state, or together with the main processor (121) while the main processor (121) is in an active (e.g., application execution) state. According to one embodiment, the auxiliary processor (123) (e.g., image signal processor or communication processor) may be implemented as part of another functionally related component (e.g., camera module (180) or communication module (190)).
[0014] The memory (130) can store various data used by at least one component of the electronic device (101) (e.g., processor (120) or sensor module (176)). The data may include, for example, input data or output data for software (e.g., program (140)) and related commands. The memory (130) may include volatile memory (132) or non-volatile memory (134).
[0015] The program (140) may be stored as software in memory (130) and may include, for example, an operating system (142), middleware (144), or an application (146).
[0016] The input device (150) can receive commands or data to be used for a component of the electronic device (101) (e.g., processor (120)) from outside the electronic device (101) (e.g., user). The input device (150) may include, for example, a microphone, a mouse, or a keyboard.
[0017] The sound output device (155) can output a sound signal to the outside of the electronic device (101). The sound output device (155) may include, for example, a speaker or a receiver. The speaker may be used for general purposes such as multimedia playback or recording playback, and the receiver may be used to receive incoming calls. According to one embodiment, the receiver may be implemented separately from the speaker or as part thereof.
[0018] The display device (160) can visually provide information to an external (e.g., user) of the electronic device (101). The display device (160) may include, for example, a display, a holographic device, or a projector and a control circuit for controlling said device. According to one embodiment, the display device (160) may include a touch circuitry configured to detect a touch, or a sensor circuitry configured to measure the intensity of the force generated by said touch (e.g., a pressure sensor).
[0019] The audio module (170) can convert sound into an electrical signal or, conversely, convert an electrical signal into sound. According to one embodiment, the audio module (170) can acquire sound through an input device (150) or output sound through an audio output device (155) or an external electronic device (e.g., electronic device (102)) (e.g., speaker or headphones) that is directly or wirelessly connected to the electronic device (101).
[0020] The sensor module (176) can detect the operating state of the electronic device (101) (e.g., power or temperature) or the external environmental state (e.g., user state) and generate an electrical signal or data value corresponding to the detected state. According to one embodiment, the sensor module (176) may include, for example, a gesture sensor, a gyroscope sensor, a barometric pressure sensor, a magnetic sensor, an accelerometer sensor, a grip sensor, a proximity sensor, a color sensor, an IR (infrared) sensor, a biosensor, a temperature sensor, a humidity sensor, or an illuminance sensor.
[0021] The interface (177) may support one or more specified protocols that can be used for the electronic device (101) to be connected directly or wirelessly to an external electronic device (e.g., electronic device (102)). According to one embodiment, the interface (177) may include, for example, a high definition multimedia interface (HDMI), a universal serial bus (USB) interface, an SD card interface, or an audio interface.
[0022] The connection terminal (178) may include a connector through which the electronic device (101) can be physically connected to an external electronic device (e.g., electronic device (102)). According to one embodiment, the connection terminal (178) may include, for example, an HDMI connector, a USB connector, an SD card connector, or an audio connector (e.g., a headphone connector).
[0023] The haptic module (179) can convert an electrical signal into a mechanical stimulus (e.g., vibration or movement) or an electrical stimulus that the user can perceive through tactile or kinesthetic senses. According to one embodiment, the haptic module (179) may include, for example, a motor, a piezoelectric element, or an electric stimulation device.
[0024] The camera module (180) can capture still images and video. According to one embodiment, the camera module (180) may include one or more lenses, image sensors, image signal processors, or flashes.
[0025] The power management module (188) can manage power supplied to the electronic device (101). According to one embodiment, the power management module (388) can be implemented, for example, as at least part of a power management integrated circuit (PMIC).
[0026] The battery (189) can supply power to at least one component of the electronic device (101). According to one embodiment, the battery (189) may include, for example, a non-rechargeable primary battery, a rechargeable secondary battery, or a fuel cell.
[0027] The communication module (190) can support the establishment of a direct (e.g., wired) communication channel or a wireless communication channel between an electronic device (101) and an external electronic device (e.g., electronic device (102), electronic device (104), or server (108)), and the performance of communication through the established communication channel. The communication module (190) may include one or more communication processors that operate independently of the processor (120) (e.g., application processor) and support direct (e.g., wired) communication or wireless communication. According to one embodiment, the communication module (190) may include a wireless communication module (192) (e.g., cellular communication module, short-range wireless communication module, or GNSS (global navigation satellite system) communication module) or a wired communication module (194) (e.g., LAN (local area network) communication module, or power line communication module). The corresponding communication module among these communication modules can communicate with an external electronic device through a first network (198) (e.g., a short-range communication network such as Bluetooth, Wi-Fi Direct, or IrDA (infrared data association)) or a second network (199) (e.g., a cellular network, the Internet, or a long-range communication network such as a computer network (e.g., LAN or WAN). These various types of communication modules may be integrated into a single component (e.g., a single chip) or implemented as multiple separate components (e.g., multiple chips). The wireless communication module (192) can identify and authenticate the electronic device (101) within a communication network such as the first network (198) or the second network (199) using subscriber information (e.g., International Mobile Subscriber Identifier (IMSI)) stored in the subscriber identification module (196).
[0028] The antenna module (197) can transmit a signal or power to or from the outside (e.g., an external electronic device). According to one embodiment, the antenna module (197) may include one or more antennas, from which at least one antenna suitable for a communication method used in a communication network such as a first network 198 or a second network 199 may be selected, for example, by the communication module (190). The signal or power may be transmitted or received between the communication module (190) and the external electronic device through the selected at least one antenna.
[0029] At least some of the above components can be connected to each other via a communication method between peripheral devices (e.g., bus, GPIO (general purpose input and output), SPI (serial peripheral interface), or MIPI (mobile industry processor interface)) and exchange signals (e.g., commands or data) with each other.
[0030] According to one embodiment, commands or data may be transmitted or received between the electronic device (101) and an external electronic device (104) through a server (108) connected to a second network (199). Each of the electronic devices (102, 104) may be the same or different type of device as the electronic device (101). According to one embodiment, all or part of the operations performed on the electronic device (101) may be performed on one or more of the external electronic devices (102, 104, or 108). For example, if the electronic device (101) needs to perform a function or service automatically or in response to a request from a user or another device, the electronic device (101) may request one or more external electronic devices to perform at least part of the function or service instead of performing the function or service itself or additionally. One or more external electronic devices that receive the above request may execute at least part of the requested function or service, or additional function or service related to the request, and transmit the result of the execution to the electronic device (101). The electronic device (101) may provide the result as is or additionally processed as at least part of the response to the request. For this purpose, for example, cloud computing, distributed computing, or client-server computing technology may be used.
[0031] FIG. 2 is a block diagram (200) of a program (140) according to various embodiments. According to one embodiment, the program (140) may include an operating system (142), middleware (144), or an application (146) executable on the operating system (142) for controlling one or more resources of an electronic device (101). The operating system (142) is, for example, Android TM , iOS TM , Windows TM , Symbian TM, Tizen TM , or Bada TM It may include. At least some of the programs (140) may be preloaded into the electronic device (101) at manufacturing time, for example, or downloaded or updated from an external electronic device (e.g., electronic device (102 or 104), or server (108)) in the user's usage environment.
[0032] The operating system (142) can control (e.g., allocate or reclaim) system resources (e.g., processes, memory, or power) of the electronic device (101). The operating system (142) may additionally or substantially include one or more driver programs for driving other hardware devices of the electronic device (101), e.g., an input device (150), an audio output device (155), a display device (160), an audio module (170), a sensor module (176), an interface (177), a haptic module (179), a camera module (180), a power management module (188), a battery (189), a communication module (190), a subscriber identification module (196), or an antenna module (197).
[0033] Middleware (144) may provide various functions to the application (146) so that the application (146) can use the functions or information provided by one or more resources of the electronic device (101). Middleware (144) may include, for example, an application manager (201), a window manager (203), a multimedia manager (205), a resource manager (207), a power manager (209), a database manager (211), a package manager (213), a connectivity manager (215), a notification manager (217), a location manager (219), a graphics manager (221), a security manager (223), a call manager (225), or a voice recognition manager (227). The application manager (201) may, for example, manage the lifecycle of the application (146). The window manager (203) may, for example, manage GUI resources used on the screen. The multimedia manager (205) can, for example, identify the format required for the playback of media files and perform encoding or decoding of the media files using a codec that matches the format. The resource manager (207) can, for example, manage the source code or memory space of the application (146). The power manager (209) can, for example, manage the capacity, temperature, or power of the battery and, using the relevant information, determine or provide power information required for the operation of the electronic device (101). According to one embodiment, the power manager (209) can be linked with the BIOS (basic input / output system).
[0034] The database manager (211) can, for example, create, search, or modify a database to be used in the application (146). The package manager (213) can, for example, manage the installation or update of an application distributed in the form of a package file. The connectivity manager (215) can, for example, manage a wireless or wired connection between the electronic device (101) and an external electronic device. The notification manager (217) can, for example, provide a function to notify the user of an event that has occurred (e.g., a call, a message, or an alarm). The location manager (219) can, for example, manage location information of the electronic device (101). The graphics manager (221) can, for example, manage graphic effects to be provided to the user or a user interface related thereto. The security manager (223) can, for example, provide system security or user authentication. The telephony manager (225) can, for example, manage voice or video call functions of the electronic device (101). The voice recognition manager (227) may, for example, transmit the user's voice data to the server (108) and receive a command corresponding to a function to be performed on the electronic device (101) based on the voice data, or text data converted based on the voice data. According to one embodiment, the middleware (244) may dynamically delete some existing components or add new components. According to one embodiment, at least a portion of the middleware (144) may be included as part of the operating system (142) or implemented as software separate from the operating system (142).
[0035] The application (146) may include, for example, a home (251), a dialer (253), an SMS / MMS (255), an IM (instant message) (257), a browser (259), a camera (261), an alarm (263), a contact (265), a voice recognition (267), an email (269), a calendar (271), a media player (273), an album (275), a watch (277), a health (279) (e.g., measuring exercise volume or blood sugar, etc.), or an environmental information (281) (e.g., atmospheric pressure, humidity, or temperature information). According to one embodiment, the application (146) may further include an information exchange application (not shown) capable of supporting information exchange between the electronic device (101) and an external electronic device. The information exchange application may include, for example, a notification relay application for transmitting information (e.g., a call, a message, or an alarm) designated to an external electronic device, or a device management application for managing the external electronic device. The notification relay application may, for example, transmit notification information corresponding to an event (e.g., receiving mail) generated in another application of the electronic device (101) (e.g., an email application (269)) to the external electronic device, or receive notification information from the external electronic device and provide it to the user of the electronic device (101). The device management application may, for example, control the power (e.g., turn-on or turn-off) or function (e.g., brightness, resolution, or focus of the display device (160) or camera module (180)) of the external electronic device or some component thereof that communicates with the electronic device (101). A device management application can additionally or substantially support the installation, deletion, or updating of applications running on external electronic devices.
[0036] The electronic device according to the various embodiments disclosed in this document may be of various forms. The electronic device may include, for example, a portable communication device (e.g., a smartphone), a computer device, a portable multimedia device, a portable medical device, a camera, a wearable device, or a consumer electronics device. The electronic device according to the embodiments of this document is not limited to the devices described above.
[0037] The various embodiments of this document and the terms used therein are not intended to limit the technical features described in this document to specific embodiments, and should be understood to include various modifications, equivalents, or substitutions of such embodiments. In connection with the description of the drawings, similar reference numerals may be used for similar or related components. The singular form of a noun corresponding to an item may include one or more of said items unless the relevant context clearly indicates otherwise. In this document, phrases such as "A or B," "at least one of A and B," "at least one of A or B," "A, B or C," "at least one of A, B and C," and "at least one of A, B, or C" may each include any possible combination of items listed together in the corresponding phrase. Terms such as "first," "second," or "first" or "second" may be used simply to distinguish a component from another corresponding component and do not limit the components in any other aspect (e.g., importance or order). Where any (e.g., 1st) component is referred to as “coupled” or “connected” to another (e.g., 2nd) component, with or without the terms “functionally” or “communicationly,” it means that said any component may be connected to said other component directly (e.g., via a wire), wirelessly, or through a third component.
[0038] As used in this document, the term "module" may include a unit implemented in hardware, software, or firmware, and may be used interchangeably with terms such as logic, logic block, component, or circuit. A module may be a component formed integrally, or a minimum unit of said component or a part thereof that performs one or more functions. For example, according to one embodiment, a module may be implemented in the form of an application-specific integrated circuit (ASIC).
[0039] Various embodiments of the present document may be implemented as software (e.g., program (140)) comprising one or more instructions stored in a storage medium (e.g., internal memory (136) or external memory (138)) readable by a machine (e.g., electronic device (101)). For example, a processor (e.g., processor (120)) of the machine (e.g., electronic device (101)) may call at least one of the one or more instructions stored in the storage medium and execute it. This enables the machine to be operated to perform at least one function according to the at least one called instruction. The one or more instructions may include code generated by a compiler or code that can be executed by an interpreter. The storage medium readable by the machine may be provided in the form of a non-transitory storage medium. Here, 'non-temporary' merely means that the storage medium is a tangible device and does not contain a signal (e.g., electromagnetic waves), and this term does not distinguish between cases where data is stored semi-permanently and cases where it is stored temporarily.
[0040] According to one embodiment, the method according to the various embodiments disclosed herein may be provided by being included in a computer program product. The computer program product may be traded between a seller and a buyer as a product. The computer program product may be distributed in the form of a device-readable storage medium (e.g., compact disc read-only memory (CD-ROM)), or distributed online (e.g., download or upload) through an application store (e.g., Play Store™) or directly between two user devices (e.g., smartphones). In the case of online distribution, at least a portion of the computer program product may be temporarily stored or temporarily created on a device-readable storage medium, such as the memory of a manufacturer's server, an application store's server, or a relay server.
[0041] According to various embodiments, each component (e.g., module or program) of the components described above may include a singular or multiple entities. According to various embodiments, one or more of the components or operations among the aforementioned components may be omitted, or one or more other components or operations may be added. Generally or additionally, multiple components (e.g., module or program) may be integrated into a single component. In this case, the integrated component may perform one or more functions of each of the components of the multiple components in the same or similar manner as those performed by the corresponding component among the multiple components prior to the integration. According to various embodiments, operations performed by the module, program, or other components may be executed sequentially, in parallel, iteratively, or heuristically, or one or more of the operations may be executed in a different order, omitted, or one or more other operations may be added.
[0042] FIG. 3 is a diagram schematically illustrating a high availability configuration between load balancers in a cloud-native Multi-AZ environment according to various embodiments of the present invention.
[0043] According to various embodiments, with reference to FIG. 300, the electronic device may include a first electronic device (311) and a second electronic device (321). The electronic device may exchange traffic with a cloud-native network (330) and control external users to access a service or application.
[0044] According to various embodiments, the cloud-native network (330) may provide services by distinguishing between the first AZ (310) and the second AZ (320). The first electronic device (311) may be located in the first AZ (310), and the second electronic device (321) may be located in the second AZ (320). When configuring high availability through the first electronic device (311) and the second electronic device (312), a virtual IP (elastic IP or floating IP, e.g., 124.124.124.250) may be utilized. The virtual IP serves as an access point through which external users can access the service or application, and the first electronic device (311) can handle traffic accessing the virtual IP. That is, the first electronic device (311) can perform the role of a master load balancer. If the first electronic device (311) fails, the second electronic device (321) can take over the role of the first electronic device (311). That is, the second electronic device (321) can perform the role of an auxiliary load balancer. In this case, external users can access the service or application (316, 317, 326, 327) through the same virtual IP (e.g., 124.124.124.250).
[0045] According to various embodiments, electronic devices may be run as instances in a cloud-native environment. For example, a first electronic device (311) and a second electronic device (321) may be deployed as instances in different AZs. Accordingly, the first electronic device (311) and the second electronic device (321) may each use different subnets. For example, the first electronic device (311) may use a first subnet (313, e.g., eth0 / 192.168.218.87), and the second electronic device (321) may use a second subnet (323, e.g., eth0 / 192.168.228.79).
[0046] According to various embodiments, the first electronic device (311) may become a master load balancer and be assigned an auxiliary network interface (312, e.g., loxi-eni). For example, the auxiliary network interface (312) may use a third subnet and be assigned a private IP (e.g., 124.124.124.6). That is, the first electronic device (311) may have a master interface and two auxiliary network interfaces (312, 313) connected to a cloud-native network (e.g., EKS Cluster).
[0047] According to various embodiments, the third subnet may be a subnet that is not used in any AZ. The first electronic device (311) may create the third subnet using APIs of the cloud-native environment when it is selected as the master load balancer.
[0048] According to various embodiments, an auxiliary network interface (312, e.g., 124.124.124.6) may be connected to an externally accessible virtual IP (e.g., 124.124.124.250). For example, the first electronic device (311) may connect an externally accessible public IP (public IP, virtual IP) with a private IP.
[0049] According to various embodiments, when the master load balancer is changed, that is, when the second electronic device (321) rather than the first electronic device (311) acts as the master load balancer, the public IP may be connected to the private IP (322, e.g., 124.124.124.7) of the second electronic device (321). Although the user accesses the service using the same public IP, the actual connected instance may differ from the first electronic device (311) to the second electronic device (321).
[0050] According to various embodiments, high availability can be utilized in a cloud-native environment by deploying and connecting a first electronic device (311) and a second electronic device (321) in different AZs. That is, sessions can be maintained in the event of a failover. Session information regarding traffic processed by the first electronic device (311, master load balancer) can be shared with the second electronic device (321, auxiliary load balancer). The virtual IP used by the first electronic device (311) can be used by the second electronic device (321) as is in the event of a failover. Through this, the second electronic device (321) can continue to process user traffic with the same session.
[0051] According to various embodiments, when configuring high availability of a load balancer through an electronic device, the load balancer instance may allocate a secondary network band (VPC CIDR) required for high availability to the VPC during the init process. The load balancer instance that becomes the master (e.g., the first electronic device (311)) may create a secondary subnet included in the secondary network band in the AZ (310) where it is located.
[0052] According to various embodiments, a master load balancer instance can be connected to a virtual IP. The load balancer instance that has become the master (e.g., the first electronic device (311)) may be additionally allocated a new secondary network interface (312). The secondary network interface (312) may be allocated an IP (e.g., 124.124.124.6) from the previously created secondary subnet. The IP assigned to the secondary network interface may be connected to a virtual IP that is accessible from the outside. All traffic transmitted from the outside with the virtual IP as the destination may be delivered to the master load balancer. The master load balancer may load balance traffic to endpoints (316, 317) assigned to each AZ. The secondary load balancer may receive and share session-specific information managed by the master load balancer as is.
[0053] According to various embodiments, when a situation requiring high availability arises, a new master load balancer instance (e.g., second electronic device (321)) can be associated with a virtual IP. For example, if a failure occurs in the first AZ (310) where the master load balancer (e.g., first electronic device (311)) is located, the secondary load balancer (e.g., second electronic device (321)) can be changed to the master load balancer. The new master load balancer can delete the subnet of the existing first electronic device (311) and then recreate a new subnet in the second AZ (320) where it is located. Subsequently, the second electronic device (321) is assigned a secondary network interface (322) and an IP (e.g., 124.124.124.7) and can be associated with a virtual IP (e.g., 124.124.124.250).
[0054] According to various embodiments, an electronic device can be combined with Kubernetes to install the kube-loxilb component and ensure connectivity between the electronic device and the Kubernetes node. The electronic device can provide permissions to use APIs provided by cloud native.
[0055] According to various embodiments, a cloud-native environment and a platform providing the same may provide APIs including functions for creating / deleting network ranges (CIDR) used in a VPC, functions for creating / deleting new subnets, functions for assigning new network interfaces to instances, functions for assigning private IPs to network interfaces of instances, and functions for connecting the private IP of an instance or interface with a public IP that allows external access. An electronic device may be configured to have permission to call such APIs.
[0056] In conclusion, electronic devices can provide access points in a cloud-native environment by utilizing high availability configurations and virtual IP patterns between load balancers located in different Availability Zones (AZs). That is, high availability can be configured even between load balancers in different AZs to perform failover, etc.
[0057] FIG. 4 is a diagram illustrating a method for handling traffic between different load balancers during failover according to various embodiments of the present invention.
[0058] According to various embodiments, in 411 operation, the multi-availability zone load balancing system can handle traffic accessing the service through the first electronic device (311) before failover occurs. The first electronic device (311) acts as a master load balancer, assigns a first network interface and a first private IP, and can connect an externally accessible Public IP to the first private IP of the first network interface. Here, a new subnet that did not exist in the first AZ (310) can be created to assign a private IP to the network interface.
[0059] According to various embodiments, in operation 413, the multi-availability zone load balancing system may change the master load balancer from the first electronic device (311) to the second electronic device (321) after a failover occurs. When the second electronic device (321) is changed to the master load balancer, the subnet for the secondary interface of the first electronic device (311) may be deleted, and a subnet using the same network IP range may be recreated in the second AZ (320) where the second electronic device (321) is located. The second electronic device (321) may be assigned a new secondary interface, a second network interface, and a second private IP. At this time, the second private IP may not be the same as the first private IP assigned to the first electronic device (311), but may be connected to the same public IP in a cloud-native system.
[0060] According to various embodiments, in operation 415, the multi-availability zone load balancing system can handle traffic flow accessing the service through the second electronic device (321) after the master load balancer is changed. Thus, even if the master load balancer is located in a different AZ, the same virtual IP can be maintained to provide the service to external users.
[0061] According to various embodiments, a multi-availability zone load balancing system in a cloud-native environment comprises: a cloud platform; a first electronic device; a second electronic device; and a pod, wherein the cloud platform designates the first electronic device as a master load balancer; and the cloud platform designates the second electronic device as an auxiliary load balancer, wherein the first electronic device is located in a first availability zone and the second electronic device is located in a second availability zone, and the first availability zone and the second availability zone may be different from each other.
[0062] The operation of designating the first electronic device as a master load balancer may include: the operation of creating a first subnet in the first available area; the operation of installing a first network interface in the first electronic device; and the operation of assigning a first private IP to the first network interface.
[0063] Through the cloud platform, the operation of processing traffic by connecting the first private IP and the public IP of the first electronic device may be included.
[0064] The first electronic device may include a load balancing operation for traffic with the pod assigned to the first available area.
[0065] If a network failure occurs in the first available area, the operation may include designating the second electronic device as a new master load balancer.
[0066] The operation of designating the second electronic device as a new master load balancer may include the operation of deleting the first subnet of the first available area; and the operation of creating the second subnet of the second available area.
[0067] The operation may include installing a second network interface on the second electronic device; and assigning a second private IP to the second network interface.
[0068] Through the cloud platform, the operation of processing traffic by connecting the second private IP and the public IP of the second electronic device may be included.
[0069] In the event that the above network failure occurs, the public IP connected to the second private IP may be the same as the public IP connected to the first private IP.
[0070] The second electronic device may be configured to continue processing traffic information regarding the pod processed by the first electronic device.
Claims
1. In a multi-availability zone load balancing system in a cloud-native environment, Cloud platform; First electronic device; Second electronic device; and Includes pods, The operation of the cloud platform designating the first electronic device as a master load balancer; and The above cloud platform includes an operation of designating the second electronic device as an auxiliary load balancer, and The first electronic device is located in a first available area, and The second electronic device is located in a second available area, and A multi-availability area load control system in which the first available area and the second available area are different available areas.
2. In Paragraph 1, The operation of designating the above-mentioned first electronic device as a master load balancer is, The operation of creating a first subnet in the first available area; The operation of installing a first network interface on the first electronic device; and A multi-availability zone load balancing system including the operation of assigning a first private IP to the first network interface.
3. In Paragraph 2, A multi-availability zone load balancing system comprising the operation of processing traffic by connecting the first private IP and the public IP of the first electronic device through the cloud platform.
4. In Paragraph 3, The first electronic device is a multi-availability zone load balancing system that includes the operation of load balancing traffic with the pod assigned to the first availability zone.
5. In Paragraph 4, If a network failure occurs in the above-mentioned first available area, A multi-availability zone load control system including the operation of designating the second electronic device as a new master load balancer.
6. In Paragraph 5, The operation of designating the above-mentioned second electronic device as a new master load balancer is, An operation to delete the first subnet of the first available area; and A multi-availability zone load balancing system including the operation of creating a second subnet of the second availability zone.
7. In Paragraph 6, The operation of installing a second network interface on the second electronic device; and A multi-availability zone load balancing system including the operation of assigning a second private IP to the second network interface.
8. In Paragraph 7, A multi-availability zone load balancing system comprising the operation of processing traffic by connecting the second private IP and the public IP of the second electronic device through the cloud platform.
9. In Paragraph 8, In the event that the above network failure occurs, the public IP connected to the second private IP is the same as the public IP connected to the first private IP in a multi-availability zone load balancing system.
10. In Paragraph 9, The second electronic device is a multi-availability zone load balancing system configured to continue processing traffic information regarding the pod processed by the first electronic device.