NEW QUESTION 40
Scenario: 2 (Oracle Cloud-init and AutoScaling: Use cloud-init to Configure Apache on Instances in an Autoscaling Instance Pool) Scenario Description: (Hands-On Performance Exam Certification) You’re deploying an Apache-based web application on OCI that requires horizontal autoscaling.
To configure instances upon provisioning, write a cloud-init script for Oracle Linux 8 that installs and enables Apache (httpd), and opens the firewall for HTTP on TCP port 80. Create an instance configuration and include the cloud-init script in it. Use this instance configuration to create an instance pool and autoscaling configuration.
Pre-Configuration:
To fulfill this requirement, you are provided with the following:
Access to an OCI tenancy, an assigned compartment, and OCI credentials
A VCN Cloud-Init Challenge VCN with an Internet gateway and a public subnet. The security list for the subnet allows ingress via TCP ports 22 and 80 (SSH and HTTP). The route table forwards all egress to the Internet gateway.
Access to the OCI Console
Required IAM policies
An SSH key pair for the compute instance
Public Key https://objectstorage.us-ashburn-1.oraclecloud.com/n/tenancyname/b/PBT_Storage/o/PublicKey.
pub
Private Key https://objectstorage.us-ashburn-1.oraclecloud.com/n/tenancyname/b/PBT_Storage/o/PKey.key Note: Throughout your exam, ensure to use assigned Compartment , User Name , and Region.
Complete the following tasks in the provisioned OCI environment:
Task 1(a): Develop the cloud-init Script:
Task 1(b): Use cloud-init to Configure Apache on Instances in an Autoscaling Instance Pool:
See the solution below with Step by Step Explanation.
Explanation:
Task 1(a): Develop the cloud-init Script:
Create a compute instance pbt_cloud_init_vm_01 with the following properties:
Shape: VM.Standard.A1.Flex instance with 1 OCPU and 6 GB memory
Image: Oracle Linux 8
Placement: Use any of the availability domains
Network:
Place in the public subnet Cloud-Init Challenge SNT
Assign a public IPv4
Use the SSH public key
Add a cloud-init script and perform the following:
Use yum or dnf to install httpd.
Use systemctl to enable and start httpd
Open the firewall to http:
sudo firewall-offline-cmd –add-service=http
systemctl restart firewalld
Mark Complete
Task 1(b): Use cloud-init to Configure Apache on Instances in an Autoscaling Instance Pool:
You’re deploying an Apache-based web application on OCI that requires horizontal autoscaling.
To configure instances upon provisioning, write a cloud-init script for Oracle Linux 8 that installs and enables Apache (httpd), and opens the firewall for HTTP on TCP port 80. Create an instance configuration and include the cloud-init script in it. Use this instance configuration to create an instance pool and autoscaling configuration.
Task 2: Create an Autoscaling Instance Pool Including the cloud-init Script:
Create an instance configuration named pbt_cloud_init_config_01 with the following properties:
Shape: VM.Standard.A1.Flex instance with 1 OCPU and 6 GB memory
Image: Oracle Linux 8
Placement: Use any of the availability domains
Network:
Place in the public subnet Cloud-Init Challenge SNT
Assign a public IPv4
Use the SSH public key
Attach the cloud-init script created in Task 1
Create an instance pool named pbt_cloud_init_pool_01 with one instance by using the instance configuration pbt_cloud_init_config_01 Create and attach an autoscaling configuration named pbt_cloud_autoscaling_config_01 with the following settings:
Metric-based autoscaling
Cooldown: 300 second
Performance metric: CPU utilization
Scale-out rule:
Operator: Greater than (>)
Threshold: 75%
Number of instances to add: 1
Scale-in rule:
Operator: Less than (<)
Threshold: 25%
Number of instances to remove: 1
Scaling limits:
Minimum number of instances: 1
Maximum number of instances: 2
Initial number of instances: 1
Task 1: Develop the cloud-init script
In the main menu, go to Compute > Instances and click Create an Instance In the instance creation menu, enter the following details a. Name: Provide name given in the instructions b. Compartment: Use the assigned compartment c. Placement: Use any of the availability domains d. Image: Oracle Linux 8 e. Shape: VM.Standard.A1.Flex instance with 1 OCPU and 6 GB memory f. Network:
i. Place in the public subnet
ii. Assign a public IPv4
g. SSH keys: Upload or paste the provided SSH public key
h. Boot volume: Leave as default
i. Under advanced options, add the following cloud-init script:
#!/bin/shsudo dnf install httpd –assumeyes –quietsudo systemctl enable httpdsudo systemctl start httpdsudo firewall-offline-cmd –add-service=httpsystemctl restart firewalld j. Create the instance.
Task 2: Create an autoscaling instance pool including the cloud-init script
1. In the main menu, go to Compute > Instance Configurations. Click Create instance configuration.
a. In the instance configuration creation menu, enter the same details as before:
b. Name: Provide name given in the instruction/if not specified provide any name c. Compartment: Assigned compartment d. Placement: Use any of the availability domains e. Image: Oracle Linux 8 f. Shape: VM.Standard.A1.Flex instance with 1 OCPU and 6 GB memory g. Network:
i. Place in the public subnet
ii. Assign a public IPv4
h. SSH keys: Upload or paste the provided SSH public key
i. Boot volume: Leave as default
j. Under advanced options, add the following cloud-init script:
#!/bin/shsudo dnf install httpd –assumeyes –quietsudo systemctl enable httpdsudo systemctl start httpdsudo firewall-offline-cmd –add-service=httpsystemctl restart firewalld k. Create the instance configuration.
Task 2: In the main menu, go to Compute > Instance Pools. Click Create instance pool.
Enter the following details:
a. Name: Provide name given in the instruction/if not specified provide any name b. Compartment: Assigned compartment c. Instance configuration: Created in last step d. Number of instances: 1 e. Select any availability domain f. Leave fault domain unselected g. Primary VNIC: Provided VCN in the instructions h. Subnet: Public subnet i. Do not attach a load balancer j. Create the instance pool Task 3: In the main menu, go to Compute > Autoscaling Configurations. Click Create autoscaling configuration and enter the following details:
a. Name: Provide name given in the instruction/if not specified provide any name b. Compartment: Assigned compartment c. Instance Pool: Created in last step d. Select Metric-based autoscaling e. Autoscaling policy name: Does not matter f. Cooldown: 300 seconds g. Performance metric: CPU utilization h. Scale-out rule:
i. Operator: Greater than (>)
ii. Threshold: 75%
iii. Number of instances to add: 1
i. Scale-in rule:
i. Operator: Less than (<)
ii. Threshold: 25%
iii. Number of instances to remove: 1
j. Scaling limits:
i. Minimum number of instances: 1
ii. Maximum number of instances: 2
iii. Initial number of instances: 1
k. Create the autoscaling configuration.