Background
Cloud Virtual Machine (CVM), launched by Tencent Cloud, has seen rapid and widespread adoption. When a CVM is used, the IP address of the server can be quickly located through Domain Name System (DNS) to allow easy access by users. The complexity introduced by cloud computing architectures also poses new challenges to stability. However, the importance of DNS in the Internet world has long been ignored. Issues such as malicious DNS pollution, hijacking, and lack of high availability and scalability make DNS a popular target for attacks. Therefore, to ensure business continuity and security for users, CVM DNS chaos experiments have emerged.
Experiment Execution
Step 1: Preparing an Experiment
Prepare a CVM instance to be experimented.
Step 2: Orchestrating the Experiment
2. Click Create Experiment, enter the basic information about the experiment, and click Next.
3. Choose Compute > CVM from the Experiment Instance drop-down list, click Add via Search, and add an instance resource. Alternatively, click Add via Architecture Diagram, click a CVM resource on the architecture diagram, select the required instance, and add it.
4. After the instance is added, click Add Action. Under the Network Resources category, select DNS Unavailable.
5. Configure fault action parameters. The domain name allowlist parameter is supported, indicating the list of domain names that remain resolvable even while the DNS fault is active. Separate multiple domain names with semicolons (;). Then, click OK.
6. After completing the parameter configuration, set Execution Mode and Guardrail Policy, and add metrics for Observability Metrics in the Global Configuration section. After the configuration is complete, click Submit to complete the experiment creation.
Step 3: Executing the Experiment
1. Verify the DNS resolution before a fault. Use the nslookup command to test domain name resolution.
2. Go to the experiment details panel, and click Execute in the fault action group or Start Experiment in the lower part of the panel to inject a fault.
3. After successful fault injection, use nslookup to observe the CVM DNS resolution.
4. Click Execute in the corresponding recovery action to recover DNS.
5. After successful recovery, observe the CVM DNS resolution again. You can see that DNS has returned to normal.