How do I renew let’s encrypt on Ubuntu 16.04

Assume everything is setup correctly, there is nothing to do. You can test by doing a dry-run as follows:

sudo certbot renew --dry-run  

Here is a sample output from doing a dry-run.

~$ sudo certbot renew --dry-run
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/my-domain.com.conf  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run  
Plugins selected: Authenticator nginx, Installer nginx  
Renewing an existing certificate  
Performing the following challenges:  
tls-sni-01 challenge for my-domain.com  
http-01 challenge for portal.my-domain.com  
tls-sni-01 challenge for www.my-domain.com  
Waiting for verification...  
Cleaning up challenges

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is  
/etc/letsencrypt/live/my-domain.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Processing /etc/letsencrypt/renewal/portal.my-domain.com.conf  
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Cert not due for renewal, but simulating renewal for dry run  
Plugins selected: Authenticator nginx, Installer nginx  
Renewing an existing certificate  
Performing the following challenges:  
http-01 challenge for portal.my-domain.com  
Waiting for verification...  
Cleaning up challenges

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
new certificate deployed with reload of nginx server; fullchain is  
/etc/letsencrypt/live/portal.my-domain.com/fullchain.pem
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates below have not been saved.)

Congratulations, all renewals succeeded. The following certs have been renewed:  
  /etc/letsencrypt/live/my-domain.com/fullchain.pem (success)
  /etc/letsencrypt/live/portal.my-domain.com/fullchain.pem (success)
** DRY RUN: simulating 'certbot renew' close to cert expiry
**          (The test certificates above have not been saved.)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -