Varnish Cloud

Microsoft Azure Marketplace

Deployment of our product from Varnish Software

Deploying from the Azure Marketplace


azure/001.png

Figure 1. Product page


  • Click on “Get it now”.
  • Select your preferred Linux distribution. Click on “Continue” to open the Azure Portal.

azure/001.png

Figure 2. Azure Portal


Deploy from the Azure Portal

Log into your account at Azure Portal. Go to “Virtual Machines” in the left menu. Click “Add” and search for “Varnish Software”. You will see a list of all our products.

  • Choose one of our products.
  • Click “Create”.
  • Basics:
    • Type in a name for your instance.
    • Enter a username for the instance. Note that do not use “varnish” as username, as it is used by the Varnish Software itself. You will fail to log in afterwards if you do so.
    • Enter a password.
    • Create a new resourcegroup or use an existing one.
    • Select your region.
    • Click “OK”
  • Choose a size.
    • Varnish Cache Plus (VCP) or Varnish Enterprise (VE) is memory intensive. We recommend choosing an instance size that suits your application. You can choose one of thees or select “View all” and use another size if you want to.
    • Click “OK”
  • Storage
    • This should be automatically filled out for you. However, feel free to modify it to your needs.
    • Click “OK”
  • Summary
    • Review your summary and click “OK”
  • Purchase
    • Familiarize yourself with the Terms of Use, check the check-box and click “Purchase”

That’s it. Your Varnish Software instance is up and running. Next, tune up your configuration and start enjoying the product benefits.

Configuring your Varnish Software instance

Connecting to your Varnish Software instance

For Windows SSH client, you may use Putty. For Linux and Mac users, you may use your favorite SSH client.

For more information on how to access your Linux instance on AWS, please see;

General information regarding Varnish Software configuration

The configuration files are located in different places based on what kind of VMs you are running, that is: VAC, VCS, Varnish Cache (VC), Varnish Cache Plus (VCP) or Varnish Enterprise (VE).

In this section, we cover the configuration basics. For more details and advanced configuration possibilities, please refer to the materials in the following links

Varnish Administration Console (VAC)

VAC should run out of the box without any additional effort.

  • MongoDB
    • /etc/mongodb.conf
  • Varnish Administration Console (VAC)
    • /opt/vac/etc/defaults
    • /opt/vac/etc/log4j.xml
    • /opt/vac/etc/roles.js
    • /opt/vac/etc/rrd_conf.xml

Varnish Cache (VC)

By default, the varnishd process should be running on TCP 6081. If you have a VAC instance running in your environment, you can configure varnish-agent to talk to VAC to see some graphs and be able to deploy Varnish Configuration Language (VCL) files to all registered Varnish Cache nodes via the VAC RESTful API.

Note: as of August 2017, “Varnish Cache 5.1” is not yet compatible with other products provided by Varnish Software. Development on compatibility is underway.

  • Default VCL configuration
    • /etc/varnish/default.vcl
  • Varnish Cache (VC)
    • Red Hat
      • /etc/varnish/varnish.params
    • Ubuntu
      • /etc/default/varnish
  • Varnish-agent
    • Red Hat
      • /etc/varnish/varnish-agent.params
    • Ubuntu
      • /etc/default/varnish-agent

Varnish Cache Plus (VCP) and Varnish Enterprise (VE)

VCP or VE is the enterprise version of Varnish Cache (VC). Apart from ease-of-use improvements and performance enhancements, VCP also provides additional functionality, such as Varnish Massive Storage Engine (MSE), Varnish High Availability (VHA) and SSL/TLS backend support. Customers can also enable frontend SSL/TLS by using Varnish Plus Addon SSL (Hitch), which is also included with the image.

  • Default VCL configuration
    • /etc/varnish/default.vcl
  • Varnish-agent
    • Red Hat
      • /etc/varnish/varnish.params
    • Ubuntu
      • /etc/default/varnish-agent
  • Varnish Plus Addon SSL
    • Red Hat
      • /etc/hitch/hitch.params
      • /etc/hitch/hitch.conf
    • Ubuntu
      • /etc/default/hitch
      • /etc/hitch/hitch.conf
  • Varnish Cache Plus (VCP)
    • Red Hat
      • /etc/varnish/varnish.params
    • Ubuntu
      • /etc/default/varnish
  • Varnish Plus HA
    • Red Hat
      • /etc/varnish/vha-agent.params
      • /etc/vha-agent/nodes.conf
    • Ubuntu
      • /etc/default/vha-agent
      • /etc/vha-agent/nodes.conf
  • Varnish Custom Statistics probe
    • Red Hat
      • /etc/varnish/vstatdprobe.params
    • Ubuntu
      • /etc/default/vstatdprobe

Varnish Custom Statistics (VCS)

VCS should be running out of the box without any additional effort.

  • Varnish Custom Statistics (VCS)
    • Red Hat
      • /etc/varnish/vstatd.params
    • Ubuntu
      • /etc/default/vstatd

Testing your instance

Varnish Administration Console (VAC)

Point your browser to your instance hostname/ip address (You can find this in the Azure Portal) (http://52.51.180.13 for this example.) and you will be able to access VAC login page. The default username is vac and the default password can be found at /root/vac_init_password. You need to SSH to the instance to retrieve the password.


aws/201709-017.png

Figure 3. Varnish Administration Console (VAC) login page


After clicking the “Sign In” button, you should see a dashboard looks like the following figure 4.


aws/201709-018.png

Figure 4. Varnish Administration Console (VAC) Dashboard


Varnish Custom Statistics (VCS)

o verify that VCS is running, point your browser to the hostname/ip address to the TCP 6555 (http://52.51.180.13:6555 from an example above). you can see the VCS dashboard without any issues or problems such as the one in figure 5, without any authentication.


aws/201709-019.png

Figure 5. Varnish Custom Statistics (VCS) Dashboard


Varnish Cache (VC), Varnish Cache Plus (VCP) and Varnish Enterprise (VE)

In VC/VCP/VE instances, there should be two varnishd processes running out of the box, if you SSH to the instances to verify the process table. However, you can simply verify the process status by running curl from your terminal to [hostname/ip address]:port.

terminal$ curl 52.208.187.80:6081
<!DOCTYPE html>
<html>
  <head>
    <title>503 Backend fetch failed</title>
  </head>
  <body>
    <h1>Error 503 Backend fetch failed</h1>
    <p>Backend fetch failed</p>
    <h3>Guru Meditation:</h3>
    <p>XID: 6</p>
<hr>
    <p>Varnish cache server</p>
  </body>
</html>

terminal$ curl -I 52.208.187.80:6081
HTTP/1.1 503 Backend fetch failed
Date: Thu, 17 Nov 2016 12:53:23 GMT
Server: Varnish
Content-Type: text/html; charset=utf-8
Retry-After: 5
X-Varnish: 32773
Age: 0
Via: 1.1 varnish-v4
Connection: keep-alive

Congratulations! Your varnishd is now running nicely. You should not be worried about the 503 Backend fetch failed message at all. This is an expected behavior. In order to hit a cache or a web page with 200 OK, you need to assign a running web server backend to a default VCL configuration, located at /etc/varnish/default.vcl.

If you see a connection refuse error, that means that the process is not running for some reason. You can fix this by running a restart command. Then curl to check again.

terminal$ ssh 52.208.187.80 "sudo service varnish restart"
* Stopping HTTP accelerator varnish
No /usr/sbin/varnishd found running; none killed.
   ...fail!
 * Starting HTTP accelerator varnish
   ...done.

terminal$ ssh 52.208.187.80 "netstat -nlt"
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN
tcp        0      0 0.0.0.0:6081            0.0.0.0:*               LISTEN
tcp        0      0 127.0.0.1:6082          0.0.0.0:*               LISTEN
tcp6       0      0 :::22                   :::*                    LISTEN
tcp6       0      0 :::6081                 :::*                    LISTEN

Next:

  1. Configure a location of web server backend, you have to SSH to the instance and edit /etc/varnish/default.vcl, adding a backend and define your VCL caching rules.

    terminal$ sudo vi /etc/varnish/default.vcl
    
  2. Restart varnishd service to active the current configuration.

    terminal$ sudo service varnish restart
    
  3. Update your site’s DNS record to be a hostname/ip address of the running Varnish Cache (VC), Varnish Cache Plus (VCP) or Varnish Enterprise (VE) instances. After making changes in the DNS record (allowing for DNS ttl expiry), traffic will start coming to this instance.

For more advanced features and usage for VCP, please refer to the following documentation:

Please contact Varnish Software The Cloud Team, if your instance is not running as expected. We are eager to help you to fix you your issue/problem as early as possible.

Customers who purchase VAC, VCP, VCS or VE VM images on the Microsoft Azure are eligible for Varnish Cloud support and software updates provided by the Varnish Software, Inc. engineering team. To contact support, please submit the Varnish Cloud Support Activation form.

What’s next?

Please visit the Post Configuration for more information you can do with Varnish Cloud products. For example:

  • How to configure varnish-agent to comunicate with VAC
  • How to configure vstatdprobe to forward data to VCS for analysis
  • etc.