Upload Data to a Push Zone

There are a couple of ways to upload data to a KeyCDN push zone. This guide walks through how to upload data both via FTP(S) and rsync to our CDN storage cloud.

Note: Push Zones are limited to 250’000 inodes (files and directories) and don’t allow files larger than 5GB.

How to upload Files with FTP/FTPS

  1. If you just created a new push zone, you need to wait a few minutes until your zone is ready.
  2. Connect to the FTP server:
    • Hostname: ftp.keycdn.com
    • Port: 21
    • Username: “Same username as for the dashboard”
    • Password: “Same password as for the dashboard”
  3. Each zone has its own folder with the same name. Copy the data to the according folder.
  4. Newly uploaded content is instantly available from the CDN.

We recommend to use FTPS (explicit FTP over TLS) to avoid plaintext transfer of your credentials over the network.

FTPS Settings for KeyCDN Upload

Verify the connection is using TLS:

FTPS Connection using TLS

Need help uploading content to the FTP server? All you need is an FTP client. We recommend FileZilla.

The fingerprint for ftp.keycdn.com corresponds to:

SHA256: c5:ef:8c:cb:7c:15:20:d4:b0:12:c7:d5:21:75:7f:e8:cf:9f:d9:fb:4c:4d:61:20:96:2c:b2:37:dc:65:ba:c3

If you’re using an FTP program and want to transfer your files over FTPS, you’ll need to ensure they’re being transferred over TLS v1.2. Transmit users may need to enable this by going to Preferences > Advanced > Advanced Server Settings > and checking the “Use TLS v1.2 encryption” box.

How to upload Files with rsync over SSH

If you are interested in lsyncd read this article as well: lsyncd over SSH

  1. Upload ssh public key through the KeyCDN dashboard (Account-Settings > Authentication). It takes a few minutes until the key is distributed on the responsible servers.
  2. Make sure that you added your private key on your system before running rsync (command: ssh-add /path/to/your/private.key).
  3. Upload / synchronise your zone using the following command:
rsync -rtvz --chmod=D2755,F644 <path_to_your_local_folder>/ <KeyCDN username (from dashboard)>@rsync.keycdn.com:<zone name>/

Example (sync data):

rsync -rtvz --chmod=D2755,F644 local_folder/ testuser@rsync.keycdn.com:foobar/

Note that we limit the rsync flags you can use. Some older versions behave differently in regards to what flags they use for common operations so make sure you are using at least 3.0.0.

In addition to the above you might find the following flags useful:

  • --delete   (delete extraneous files from destination directories – we also allow the other --delete flags)
  • --delete-excluded   (also delete excluded files from destination directories – to be used with the --exclude options)
  • -n   (perform a trial run with no changes made)

 

If you want to list the files of your zone use a command like this:

rsync --list-only <KeyCDN username (from dashboard)>@rsync.keycdn.com:<zone name>/

Example (list directory):

rsync --list-only testuser@rsync.keycdn.com:foobar/

 
For verification purposes, the SSH fingerprint for rsync.keycdn.com corresponds to:

SHA256:Z/h7sNSBHNJpD7WwLLAeWAXD+ZaxBGLM+RwPHTMKk1k

How Data Gets Deployed via a Push Zone

Now that your data is uploaded to the push zone storage cluster, there are a few things to consider when it comes to deploying this data.

  • New content is uploaded instantly to the storage cluster.
  • If a change is made to an existing file, it takes approximately 15 minutes for that file to be updated (also seen as revalidated in the logs).
  • It is not possible to purge the push content manually.
  • Although your content has been uploaded to  the storage cluster, data is only deployed to an edge server location if it has been requested.

2 Comments

  1. Christian Rishøj

    Greetings,
    We’re looking to host approximately 6.5 million product images for an e-commerce website. Ideally we’d like to use a push zone and get rid of our local copy. However, the KeyCDN push zones have a limit of 250k inodes.
    Do you have an alternative product which might be suitable for us?

    1. Cody Arsenault

      That is not currently possible with a push zone. I would recommend using a pull zone in that case to alleviate load from your origin server while accelerating your image assets.

Leave A Comment?