In this tutorial, you use an Oracle Cloud Infrastructure Free Tier account to set up
an Ubuntu compute instance. Then, you set up a Helidon MicroProfile (MP) server for your
host.
Key tasks include how to:
Set up a compartment for your development work.
Install your Ubuntu Linux instance and connect it to your Virtual Cloud Network
(VCN).
Set up an Oracle Cloud Infrastructure virtual cloud network and related
network services required for your host to connect to the internet.
Set up ssh encryption keys to access your Ubuntu Linux
Server.
Configure ingress rules for your VCN.
Install JDK and Maven.
Set up Helidon with MicroProfile (MP) server.
Create a Hello World Java application.
Test your application.
Here is a simplified diagram of the setup for your Linux Instance.
To get started installing an instance with the Create a VM instance workflow,
follow these steps:
Important
The steps provided are for a Free Tier account. If you are using
a paid account, the steps might differ from those shown here.
Click the Oracle Cloud icon to go to the main landing
page.
Scroll down to Launch Resources.
Select Create a VM instance workflow.
The Create compute instance page is displayed. The
page sections include
Name and
Compartment
Placement
Security
Image and shape
Networking
Add SSH keys
Boot volume
Choose the Name and Compartment.
Initial Options
Name:<name-for-the-instance>
Create in compartment:<your-compartment-name>
Enter a value for the name or use the system supplied default. For
compartment, select the compartment you created.
Review the Placement settings.
Take the default values. An availability domain is assigned to you.
The data might look similar to the following:
Availability domain
Availability domain: AD-1
Capacity type: On-demand capacity
Fault domain: Let Oracle choose the best fault
domain
Note
For Free Tier, use the Always Free Eligible option for availability
domain.
Review the Security settings.
Take the default settings.
The data might look similar to the following:
Security
Shielded instance: Disabled
Confidential computing: Disabled
Review the Image and shape settings. Change the
operating system image.
Click Edit.
Click Change Image.
Click Ubuntu.
Select Canonical Ubuntu 22.04 or a later version.
Click Select Image.
Note
The following is sample data for an AMD virtual machine. The actual values
might differ.
Image and shape
Image: Canonical Ubuntu 22.04
Image build:<current-build-date>
Shape: VM.Standard.E2.1.Micro
OCPU: 1
Memory (GB): 1
Network bandwidth (Gbps): 0.48
Note
For Free Tier, use Always Free Eligible shape
options.
Continue to the next section.
Review the Networking settings. Make the following
changes to the default.
Click Edit.
Primary Network: Select Create new
virtual cloud network.
New virtual cloud network name: Take the
generated VCN name or provide a name.
Create in compartment:
<your-compartment-name>.
Subnet: Select Create new public
subnet.
New subnet name: Take the generated subnet name
or provide a name.
Create in compartment:
<your-compartment-name>.
CIDR block: Take the default value (for example,
10.0.0.0/24).
Public IPv4 address, take the default value of
Assign a public IPv4 address.
Continue to the next section.
Review the Add SSH keys settings. Take the default
values provided by the workflow.
Select the Generate a key pair for me
option.
Click Save Private Key and Save Public
Key to save the private and public SSH keys for this
compute instance.
If you want to use your own SSH keys, select one of the options to provide
your public key.
Note
Put your private and public key files in a safe location. You can't
retrieve keys again after the compute instance has been created.
Review the Boot volume settings.
Uncheck the Specify a customer boot volume size setting.
Check the Use in-transit encryption setting.
Uncheck the Encrypt this volume with a key that you manage setting.
Click Create to create the instance. Provisioning the system might take
several minutes.
You have successfully created an Ubuntu Linux instance.
3. Enable Internet Access 🔗
The Create a VM Instance wizard automatically creates a VCN for your VM. You
add an ingress rule to your subnet to allow internet connections on port 8080.
Follow these steps to select your VCN's public subnet and add the ingress rule.
Open the navigation menu and click Networking, and then click Virtual Cloud Networks.
Select the VCN you created with your compute instance.
With your new VCN displayed, click <your-subnet-name> subnet link.
The public subnet information is displayed with the Security Lists at the
bottom of the page. A link to the Default Security
List for your VCN is displayed.
Click the Default Security List link.
The default Ingress Rules for your VCN are displayed.
Click Add Ingress Rules.
An Add Ingress Rules dialog is displayed.
Fill in the ingress rule with the following information.
Fill in the ingress rule as follows:
Stateless: Checked
Source Type: CIDR
Source CIDR: 0.0.0.0/0
IP Protocol: TCP
Source port range: (leave-blank)
Destination Port Range: 8080
Description: Allow HTTP connections
Click Add Ingress Rule. Now HTTP connections are allowed. Your
VCN is configured for Apache server.
Click Add Ingress Rules.
Now HTTP connections are allowed. Your VCN is configured for Apache
server.
You have successfully created an ingress rule that makes your instance available from the
internet.
4. Run an Application on Helidon Server 🔗
Next, set up Helidon on your Ubuntu Linux instance.
To configure the Ubuntu firewall, follow these steps:
Open the navigation menu and click Compute. Under Compute, click Instances.
Click the link to the instance you created in the previous step.
From the
Instance Details page look under the Primary VNIC
section. Copy the public IP address the system created for you. You use this
IP address to connect to your instance.
Open a Terminal or Command Prompt window.
Change into the directory where you stored the ssh encryption
keys you created in part 2.
Connect to your instance with this SSH command.
Copy
ssh -i <your-private-key-file> ubuntu@<x.x.x.x>
Since you identified your public key when you created the instance, this
command logs you into your instance. You can now issue
sudo commands to install and start your server.
Update firewall settings.
The Ubuntu firewall is disabled by default.
However, you must update your iptables
configuration to allow HTTP traffic. Run the following commands:
iptables.
Copy
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 8080 -j ACCEPT
sudo netfilter-persistent save
The commands add a rule to allow HTTP traffic through port 8080 and saves the
changes to the iptables configuration files.
Run the following Maven Archetype which creates a Maven project template
to start with. This project uses the Helidon MP Quickstart example from
the Helidon website. Run the following commands:
curl -H 'Accept: application/json' -X GET http://localhost:8080/metrics
Congratulations! You have successfully created a Hello World application using the
Helidon MicroProfile service, on your Oracle Cloud Infrastructure instance.