Introduction

An AWS Nitro Enclave (https://aws.amazon.com/ec2/nitro/nitro-enclaves) provides a way to run code in a secure enclave, with no external access to the enclave’s memory and CPU. The secure enclave can produce cryptographic evidence that a particular piece of code is running, and it defends that code from sophisticated cyberattacks.

While an AWS Nitro Enclave provides a highly secure and isolated environment, it also comes with restrictions. For example, instead of a network interface with connection to the Internet, there is only a single socket between an AWS Nitro Enclave and another virtual machine instance. Developers must design a protocol to pass data in and out of the enclave and update their applications to use it for network traffic and persistent filesystem access. This can require significant engineering effort or even be impossible for closed-source applications.

Anjuna augments the architecture provided by AWS Nitro Enclaves and expands the number of applications that can be run in AWS Nitro Enclaves. The Anjuna Nitro Runtime enables running an application inside an AWS Nitro Enclave without changes to the application. It provides seamless access to network communication, encryption, and key management. Anjuna’s “lift-and-shift” approach eliminates the need to work with ever-changing applications and SDKs. No changes to applications, recompilation, or operations are required.

With and Without

About this Document

This guide is structured as follows:

Document Conventions

This section describes typographical and other conventions used in this guide.

Text colored like this is a link to another document, either in this guide or elsewhere on the web.

Text in monospace type represents text that appears in a terminal or in the filesystem of a host. We use it to refer to the names of commands and of files used by the Anjuna Nitro Runtime and in examples.

A block of text in monospace type represents an interaction with a host’s shell in the terminal, or the text of a file.

This block of text is an example of monospace type used to illustrate the contents of a file.

Some code blocks are shortened to emphasize only the relevant configuration. A line with <snip>…​ indicates that some lines have been removed from the full configuration.

The following text illustrates the appearance of a command in a terminal shell. You can copy the text by hovering over it and clicking on the clipboard icon to the right.

$ ls -al

Text in <angle brackets> in examples stands for text to be replaced.

For example, in this text:

/home/<username>/.bashrc

replace <username> with an actual username.