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 https:
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.