From a0502ad2b6dafe87f77991782c930a7b6ea9d277 Mon Sep 17 00:00:00 2001 From: "Shaaban,Karim" Date: Fri, 3 May 2024 11:22:10 +0000 Subject: [PATCH] propose-vpc_best-practice-911 Reviewed-by: Akriotis, Kyriakos Co-authored-by: Shaaban,Karim Co-committed-by: Shaaban,Karim --- .../images/en-us_image_0000001124559429.png | Bin 0 -> 34159 bytes .../images/en-us_image_0000001124559441.png | Bin 0 -> 99110 bytes .../_static/images/en-us_image_0141273034.png | Bin 0 -> 306 bytes .../_static/images/en-us_image_0287297889.png | Bin 0 -> 43210 bytes .../source/best_practice/index.rst | 16 ++ ...uce_the_number_of_security_group_rules.rst | 96 +++++++++++ .../vpc_and_subnet_planning_suggestions.rst | 154 ++++++++++++++++++ doc/best-practice/source/index.rst | 4 + 8 files changed, 270 insertions(+) create mode 100644 doc/best-practice/source/_static/images/en-us_image_0000001124559429.png create mode 100644 doc/best-practice/source/_static/images/en-us_image_0000001124559441.png create mode 100644 doc/best-practice/source/_static/images/en-us_image_0141273034.png create mode 100644 doc/best-practice/source/_static/images/en-us_image_0287297889.png create mode 100644 doc/best-practice/source/best_practice/index.rst create mode 100644 doc/best-practice/source/best_practice/using_ip_address_groups_to_reduce_the_number_of_security_group_rules.rst create mode 100644 doc/best-practice/source/best_practice/vpc_and_subnet_planning_suggestions.rst diff --git a/doc/best-practice/source/_static/images/en-us_image_0000001124559429.png b/doc/best-practice/source/_static/images/en-us_image_0000001124559429.png new file mode 100644 index 0000000000000000000000000000000000000000..5dbacedcb97f4d2f1126dec92c744aeb75cde3c9 GIT binary patch literal 34159 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 literal 0 HcmV?d00001 diff --git a/doc/best-practice/source/_static/images/en-us_image_0000001124559441.png b/doc/best-practice/source/_static/images/en-us_image_0000001124559441.png new file mode 100644 index 0000000000000000000000000000000000000000..615bd9d3bdd13ae5289d30d6f5aae6060fab547c GIT binary patch literal 99110 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 KT-G@yGywp87+U`T literal 0 HcmV?d00001 diff --git a/doc/best-practice/source/_static/images/en-us_image_0287297889.png b/doc/best-practice/source/_static/images/en-us_image_0287297889.png new file mode 100644 index 0000000000000000000000000000000000000000..4be1389ec7a46af37e4701cd72f2afce9a7cb054 GIT binary patch literal 43210 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 literal 0 HcmV?d00001 diff --git a/doc/best-practice/source/best_practice/index.rst b/doc/best-practice/source/best_practice/index.rst new file mode 100644 index 0000000..65fdef6 --- /dev/null +++ b/doc/best-practice/source/best_practice/index.rst @@ -0,0 +1,16 @@ +:original_name: bestpractice_0001.html + +.. _bestpractice_0001: + +Best Practice +============= + +- :ref:`VPC and Subnet Planning Suggestions ` +- :ref:`Using IP Address Groups to Reduce the Number of Security Group Rules ` + +.. toctree:: + :maxdepth: 1 + :hidden: + + vpc_and_subnet_planning_suggestions + using_ip_address_groups_to_reduce_the_number_of_security_group_rules diff --git a/doc/best-practice/source/best_practice/using_ip_address_groups_to_reduce_the_number_of_security_group_rules.rst b/doc/best-practice/source/best_practice/using_ip_address_groups_to_reduce_the_number_of_security_group_rules.rst new file mode 100644 index 0000000..a638ce7 --- /dev/null +++ b/doc/best-practice/source/best_practice/using_ip_address_groups_to_reduce_the_number_of_security_group_rules.rst @@ -0,0 +1,96 @@ +:original_name: bestpractice_0013.html + +.. _bestpractice_0013: + +Using IP Address Groups to Reduce the Number of Security Group Rules +==================================================================== + +Scenarios +--------- + +Finance and securities enterprises have high security requirements when planning cloud networks. Access to servers is often controlled based on IP addresses. To simplify security group rule configuration and provide refined security control, you can use IP address groups in case of the following scenarios: + +- A security group has more than 40 rules. +- The direction, type, protocol, and port of security group rules are the same except the address. + +Constraints +----------- + +- An IP address group can contain a maximum of 20 IP addresses or IP address ranges. + +Prerequisites +------------- + +You have created one or more security groups for access control. + +Typical Case +------------ + +For example, you plan to configure the following rules for security group A. + +========= ==== ======== ========== ========================= +Direction Type Protocol Port Range Source/Destination +========= ==== ======== ========== ========================= +Inbound IPv4 TCP 22122 Source: 11.19.255.64/30 +Inbound IPv4 TCP 22122 Source: 113.31.128.252/30 +Inbound IPv4 TCP 22122 Source: 113.31.138.0/25 +Inbound IPv4 TCP 22122 Source: 183.232.25.208/28 +========= ==== ======== ========== ========================= + +The four inbound rules have the same port, type, and protocol but different source IP addresses. In this case, you can use an IP address group to reconfigure the security group rules. + +Procedure +--------- + +**Create an IP address group.** + +#. Log in to the management console. +#. Click |image1| in the upper left corner and Under **Network**, click **Elastic Load Balancing**. +#. In the navigation pane on the left, choose **IP Address Groups**. +#. Click **Create IP Address Group**. +#. Set the parameters. + + - **Name**: **ipGroup-A** + + - **IP Address**: + + 11.19.255.64/30 + 113.31.128.252/30 + 113.31.138.0/25 + 183.232.25.208/28 + + + .. figure:: /_static/images/en-us_image_0000001124559441.png + :alt: **Figure 1** Creating an IP address group + + **Figure 1** Creating an IP address group + +#. Click **OK**. + +**Configure a security group rule.** + +8. Click |image1| in the upper left corner and Under **Network**, click **Virtual Private Cloud**. +9. In the navigation pane on the left, choose **Access Control** > **Security Groups**. +10. Locate security group A and click **Manage Rule** in the **Operation** column. +11. Under **Inbound Rules**, click **Add Rule**. +12. Set the parameters. + + - **Protocol & Port**: **TCP** and **22122** + + - **Type**: **IPv4** + + - **Source**: **ipGroup-A** + + + .. figure:: /_static/images/en-us_image_0000001124559429.png + :alt: **Figure 2** Configuring a security group rule + + **Figure 2** Configuring a security group rule + +13. Click **OK**. + +**Delete old security group rules.** + +14. Delete four old security group rules after the configured security group rule takes effect. + +.. |image1| image:: /_static/images/en-us_image_0141273034.png diff --git a/doc/best-practice/source/best_practice/vpc_and_subnet_planning_suggestions.rst b/doc/best-practice/source/best_practice/vpc_and_subnet_planning_suggestions.rst new file mode 100644 index 0000000..dd7dc0e --- /dev/null +++ b/doc/best-practice/source/best_practice/vpc_and_subnet_planning_suggestions.rst @@ -0,0 +1,154 @@ +:original_name: bestpractice_0002.html + +.. _bestpractice_0002: + +VPC and Subnet Planning Suggestions +=================================== + +Before creating your VPCs, determine how many VPCs, the number of subnets, and what IP address ranges or connectivity options you will need. + +- :ref:`How Do I Determine How Many VPCs I Need? ` +- :ref:`How Do I Plan Subnets? ` +- :ref:`How Do I Plan Routing Policies? ` +- :ref:`How Do I Connect to an On-Premises Data Center? ` +- :ref:`How Do I Access the Internet? ` + +.. _bestpractice_0002__en-us_topic_0167202536_en-us_topic_0119408804_section089562719454: + +How Do I Determine How Many VPCs I Need? +---------------------------------------- + +VPCs are region-specific. By default, networks in VPCs in different regions or even in the same region are not connected. + +- One VPC + + If your services do not require network isolation, a single VPC should be enough. + +- Multiple VPCs + +If you have multiple service systems in a region and each service system requires an isolated network, you can create a separate VPC for each service system. + +If you require network connectivity between separate VPCs in the same account or in different accounts, you can use VPC peering connections or Cloud Connect. + +- If two VPCs are in the same region, use a `VPC peering connection `__. + + +.. note:: + + By default, you can create a maximum of five VPCs in each region. If this cannot meet your service requirements, request a quota increase. For details, see `How Do I Apply for a Higher Quota? `__ + +The following table lists the private CIDR blocks that you can specify when creating a VPC. Consider the following when selecting a VPC CIDR block: + +- Number of IP addresses: Reserve sufficient IP addresses in case of business growth. +- IP address range: Avoid IP address conflicts if you need to connect a VPC to an on-premises data center or connect two VPCs. + +:ref:`Table 1 ` lists the supported VPC CIDR blocks. + +.. _bestpractice_0002__en-us_topic_0167202536_en-us_topic_0119408804_en-us_topic_0118499040_table3240172772213: + +.. table:: **Table 1** VPC CIDR blocks + + +-------------------+-----------------------------+--------------------------------+ + | VPC CIDR Block | IP Address Range | Maximum Number of IP Addresses | + +===================+=============================+================================+ + | 10.0.0.0/8-24 | 10.0.0.0-10.255.255.255 | 2^24-2=16777214 | + +-------------------+-----------------------------+--------------------------------+ + | 172.16.0.0/12-24 | 172.16.0.0-172.31.255.255 | 2^20-2=1048574 | + +-------------------+-----------------------------+--------------------------------+ + | 192.168.0.0/16-24 | 192.168.0.0-192.168.255.255 | 2^16-2=65534 | + +-------------------+-----------------------------+--------------------------------+ + +.. _bestpractice_0002__en-us_topic_0167202536_en-us_topic_0119408804_section15166143804819: + +How Do I Plan Subnets? +---------------------- + +A subnet is a unique CIDR block with a range of IP addresses in a VPC. All resources in a VPC must be deployed on subnets. + +- By default, all instances in different subnets of the same VPC can communicate with each other and the subnets can be located in different AZs. For example, VPC-A has subnet A01 in AZ A and subnet A02 in AZ B. Subnet A01 and subnet B01 can communicate with each other by default. + +- After a subnet is created, its CIDR block cannot be modified. Subnets in the same VPC cannot overlap. + + When you create a VPC, a default subnet will be created together. If you need more subnets, see `Creating a Subnet for the VPC `__. + + A subnet mask can be between the netmask of its VPC CIDR block and /28 netmask. If a VPC CIDR block is 10.0.0.0/16, its subnet mask can between 16 to 28. + + For example, if the CIDR block of VPC-A is 10.0.0.0/16, you can specify 10.0.0.0/24 for subnet A01, 10.0.1.0/24 for subnet A02, and 10.0.3.0/24 for subnet A03. + + .. note:: + + By default, you can create a maximum of 100 subnets in each region. If this cannot meet your service requirements, request a quota increase by referring to `How Do I Apply for a Higher Quota? `__ + +When planning subnets, consider the following: + +- You create different subnets for different modules in a VPC. For example, in VPC-A, you can create subnet A01 for web services, subnet A02 for management services, and subnet A03 for data services. You can leverage network ACLs to control access to each subnet. +- If your VPC needs to communicate with an on-premises data center through VPN or Direct Connect, ensure that the VPC subnet and the CIDR block used for communication in the data center do not overlap. + +.. _bestpractice_0002__en-us_topic_0167202536_en-us_topic_0119408804_section169901852144820: + +How Do I Plan Routing Policies? +------------------------------- + +When you create a VPC, the system automatically generates a default route table for the VPC. If you create a subnet in the VPC, the subnet automatically associates with the default route table. A route table contains a set of routes that are used to determine where network traffic from your subnets in a VPC is directed. The default route table ensures that subnets in a VPC can communicate with each other. + +If you do not want to use the default route table, you can now create a custom route table and associate it with the subnets. The custom route table associated with a subnet affects only the outbound traffic. The default route table controls the inbound traffic. + +You can add routes to default and custom route tables and configure the destination, next hop type, and next hop in the routes to determine where network traffic is directed. Routes are classified into system routes and custom routes. + +- System routes: Routes that are automatically added by the system and cannot be modified or deleted. System routes allow instances in a VPC to communicate with each other. + +- Custom routes: Routes that can be modified and deleted. The destination of a custom route cannot overlap with that of a system route. + + You cannot add two routes with the same destination to a VPC route table even if their next hop types are different, because the destination determines the route priority. According to the longest match routing rule, the destination with a higher matching degree is preferentially selected for packet forwarding. + +.. _bestpractice_0002__en-us_topic_0167202536_en-us_topic_0119408804_section187551349164918: + +How Do I Connect to an On-Premises Data Center? +----------------------------------------------- + +If you require interconnection between a VPC and an on-premises data center, ensure that the VPC does not have an overlapping IP address range with the on-premises data center to be connected. + +As shown in :ref:`Figure 1 `, you have VPC 1 in region A and VPC 2 and VPC 3 in region B. To connect to an on-premises data center, they can use a VPN, as VPC 1 does in Region A; or a Direct Connect connection, as VPC 2 does in Region B. VPC 2 connects to the data center through a Direct Connect connection, but to connect to another VPC in that region, like VPC 3, a VPC peering connection must be established. + +.. _bestpractice_0002__en-us_topic_0167202536_en-us_topic_0119408804_fig16817171713408: + +.. figure:: /_static/images/en-us_image_0287297889.png + :alt: **Figure 1** Connections to on-premises data centers + + **Figure 1** Connections to on-premises data centers + +When planning CIDR blocks for VPC 1, VPC 2, and VPC 3: + +- The CIDR block of VPC 1 cannot overlap with the CIDR block of the on-premises data center in Region A. +- The CIDR block of VPC 2 cannot overlap with the CIDR block of the on-premises data center in Region B. +- The CIDR blocks of VPC 2 and VPC 3 cannot overlap. + +.. _bestpractice_0002__en-us_topic_0167202536_en-us_topic_0119408804_section7650164019505: + +How Do I Access the Internet? +----------------------------- + +**Use EIPs to enable a small number of ECSs to access the Internet.** + +When only a few ECSs need to access the Internet, you can bind the EIPs to the ECSs. This will provide them with Internet access. You can also dynamically unbind the EIPs from the ECSs and bind them to NAT gateways and load balancers instead, which will also provide Internet access. The process is not complicated. + +For more information about EIP, see `EIP Overview `__. + +**Use a NAT gateway to enable a large number of ECSs to access the Internet.** + +When a large number of ECSs need to access the Internet, the public cloud provides NAT gateways for your ECSs. With NAT gateways, you do not need to assign an EIP to each ECS. NAT gateways reduce costs as you do not need so many EIPs. NAT gateways offer both source network address translation (SNAT) and destination network address translation (DNAT). SNAT allows multiple ECSs in the same VPC to share one or more EIPs to access the Internet. SNAT prevents the EIPs of ECSs from being exposed to the Internet. DNAT can implement port-level data forwarding. It maps EIP ports to ECS ports so that the ECSs in a VPC can share the same EIP and bandwidth to provide Internet-accessible services. + +For more information, see `NAT Gateway User Guide `__. + +**Use ELB to access the Internet If there are a large number of concurrent requests.** + +In high-concurrency scenarios, such as e-commerce, you can use load balancers provided by the ELB service to evenly distribute incoming traffic across multiple ECSs, allowing a large number of users to concurrently access your business system or application. ELB is deployed in the cluster mode. It provides fault tolerance for your applications by automatically balancing traffic across multiple AZs. You can also take advantage of deep integration with Auto Scaling (AS), which enables automatic scaling based on service traffic and ensures service stability and reliability. + +For more information, see `Elastic Load Balance User Guide `__. + +Helpful Links +------------- + +- `Application Scenarios `__ +- `Private Network Access `__ +- `Public Network Access `__ diff --git a/doc/best-practice/source/index.rst b/doc/best-practice/source/index.rst index 6d77415..cf04a7f 100644 --- a/doc/best-practice/source/index.rst +++ b/doc/best-practice/source/index.rst @@ -2,3 +2,7 @@ Virtual Private Cloud - Best Practice ===================================== +.. toctree:: + :maxdepth: 1 + + best_practice/index