The EDB Postgres™ Ark from EnterpriseDB®(EDB™) is a Database-as-a-Service (DBaaS) framework for hybrid cloud deployments of Postgres to private and public clouds. In a previous blog, I wrote about the advantages of developer self-service with the EDB Postgres Ark. The EDB Postgres Ark 2.1 is now available. In addition to supporting deployments on OpenStack®, EDB Postgres Ark 2.1 also supports deployments on Amazon Web Services™ (AWS).
To introduce benefits and capabilities of the EDB Postgres Ark, my colleague, Jason Davis, and I presented a webinar on January 26, 2017, titled DBaaS with EDB Postgres on AWS. During the webinar we showed how the EDB Postgres Ark’s management console helps to easily and quickly provision and manage databases, while from an operations standpoint, templates and statistics enable DBAs and IT management to control the EDB Postgres Ark deployments.
Following the webinar, we received a question: How does the EDB Postgres Ark access AWS services, and which services are used?
The answer: To enable the EDB Postgres Ark to provision and manage infrastructure and databases, a user of the EDB Postgres Ark has to be associated with an Infrastructure-as-a-Service (IaaS) user. In the case of AWS, it is associated with an AWS Identity and Access Management (IAM) user within an existing AWS account.
The integration of the EDB Postgres Ark with AWS allows the user of the EDB Postgres Ark to utilize resources within the boundaries of its associated IAM user and its roles through the EDB Postgres Ark. The credentials of the AWS user are kept securely in the EDB Postgres Ark configuration and are not shared with the end user.
To enable the EDB Postgres Ark, an IAM user must have permission to use the following services:
- Elastic Compute Cloud (EC2)
- Elastic Block Storage (EBS)
- Virtual Private Cloud (VPC)
- Simple Storage Service (S3)
EC2 is used to provision a virtual machine to host the database master and each of its replicas while the installation of the EDB Postgres™ Platform and its data files will leverage EBS. Elastic features of the EDB Postgres Ark enable constant communication with EC2 and EBS to add new replicas or disk space as the demands of the system change.
VPC will provide networking, and each virtual machine will be assigned one private and one public IP address. The private IP address will be used for node-to-node communications (i.e. streaming replication), and the public IP address will be used for external connections (e.g., for any external user to ssh or connect via a management tool of their choice, such as pgAdmin or EDB Postgres™ Enterprise Manager). VPC also can be used to support dedicated instances by setting tenancy to dedicated.
In addition to these services, the EDB Postgres Ark uses object-based S3 buckets to store backup files. This is also where Write-Ahead Logs (WAL) are archived, if the instance is configured for Point-In-Time-Recovery (PITR). S3 allows fast access to the backups in case a restore becomes necessary.
The EDB Postgres Ark allows enterprises to leverage their existing AWS cloud when deploying EDB Postgres though EDB’s Database-as-a-Service solution. EDB Postgres Ark also leaves open the option to deploy into other clouds through the EDB Postgres Ark’s management interface, and remain flexible in terms of which cloud vendor with which to work.
Sandra Wiecki, Director I Product Management, EnterpriseDB