From 7adf192db679732b695643bd058f4fed253dff15 Mon Sep 17 00:00:00 2001 From: Matias Savela Date: Fri, 24 Sep 2021 13:13:58 +0300 Subject: [PATCH 1/3] Metaflow UI Admin docs and deployment via Cloudformation. --- .gitbook/assets/service_architecture.png | Bin 76080 -> 100176 bytes .../aws-cloudformation-deployment.md | 41 ++++++++++++++++++ .../aws-cloudformation-deployment.md | 41 ++++++++++++++++++ .../aws-cloudformation-deployment.md | 41 ++++++++++++++++++ overview/service-architecture.md | 18 +++++++- 5 files changed, 139 insertions(+), 2 deletions(-) diff --git a/.gitbook/assets/service_architecture.png b/.gitbook/assets/service_architecture.png index 4facf7e3f1c498b58e1bddd4b12caa58db225485..3260972efe5b3b03d756ebf04f26fba6c3949987 100644 GIT binary patch literal 100176 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 literal 76080 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

n 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 AN&o-= diff --git a/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md b/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md index 98a428e9..71812b95 100644 --- a/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md +++ b/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md @@ -17,6 +17,13 @@ The major components of the template are: * **AWS Identity and Access Management** - Dedicated roles obeying "principle of least privilege" access to resources such as AWS Batch and Amazon Sagemaker Notebook instances. * **AWS Lambda** _-_ An AWS Lambda function that automates any migrations needed for the Metadata service. +Additional optional components of the template are: + +* **AWS Cloudfront** - Content Delivery Network for Metaflow User Interface static assets. +* **Application Load Balancer** - Application Load Balancer for Metaflow User Interface. + +User Interface can be enabled via CloudFormation template Parameter. This step is covered under **Steps for AWS CloudFormation Deployment - Optional Metaflow User Interface** -section below. + ## Steps for AWS CloudFormation Deployment 1. Navigate to _Services_ and select _CloudFormation_ under the _Management and Governance_ heading \(or search for it in the search bar\) in your AWS console. @@ -45,3 +52,37 @@ Did you choose to enable _APIBasicAuth_ and/or _CustomRole_ and are wondering ho Once you have followed all these steps, you can [configure your metaflow installation](./#configuring-metaflow) using the outputs from the CloudFormation stack. +### Optional Metaflow User Interface (`EnableUI` -parameter) + +Did you choose to enable Metaflow User Interface and are wondering how it works? Below are some details on what needs to be done in order to deploy Metaflow User Interface. + +User Interface is provided as a CloudFormation Nested Stack, which means that the UI components are separated to its own template and are deployed to separate CloudFormation Stack. All Nested Stack operations should be initiated from the root stack. + +While working with Nested Stacks, templates need to be packaged before deployment. For this AWS Command Line Interface can be used. Packaging step is only required when deploying Metaflow User Interface Nested Stack. + +Prerequisites for User Interface enabled Nested Stack deployment: + +* **[Netflix/metaflow-tools repository](https://github.com/Netflix/metaflow-tools)** - Locally available for packaging templates. +* **AWS Command Line Interface** - Installed and configured. +* **S3 bucket to upload CloudFormation templates to** - Nested Stacks require templates referred by absolute S3 paths. + +Packaging step is required in order to deploy templates with Nested Stacks: + +```bash +$ aws cloudformation package \ + --s3-bucket custom-s3-bucket \ + --template-file metaflow-cfn-template.yml \ + --output-template-file metaflow-cfn-template.yml.package +``` + +Above package command does the following: + +1. Nested Stack template is uploaded to S3 bucket + 1. Defined by `--s3-bucket` parameter (this bucket should already exist and needs to be created manually) +2. Root template is transformed so that all local paths are converted to absolute S3 paths + 1. Input file is defined by `--template-file` parameter +3. Transformed and packaged root template is placed in local file system defined by `--output-template-file` parameter + +Once this package step is completed, you can follow the **Steps for AWS CloudFormation Deployment** -section. Please note: instead of using the non-packaged template, you should use the packaged template `metaflow-cfn-template.yml.package` you just created. + +Read more about Cloudformation and working with nested stacks [here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html). \ No newline at end of file diff --git a/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md b/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md index 98a428e9..71812b95 100644 --- a/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md +++ b/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md @@ -17,6 +17,13 @@ The major components of the template are: * **AWS Identity and Access Management** - Dedicated roles obeying "principle of least privilege" access to resources such as AWS Batch and Amazon Sagemaker Notebook instances. * **AWS Lambda** _-_ An AWS Lambda function that automates any migrations needed for the Metadata service. +Additional optional components of the template are: + +* **AWS Cloudfront** - Content Delivery Network for Metaflow User Interface static assets. +* **Application Load Balancer** - Application Load Balancer for Metaflow User Interface. + +User Interface can be enabled via CloudFormation template Parameter. This step is covered under **Steps for AWS CloudFormation Deployment - Optional Metaflow User Interface** -section below. + ## Steps for AWS CloudFormation Deployment 1. Navigate to _Services_ and select _CloudFormation_ under the _Management and Governance_ heading \(or search for it in the search bar\) in your AWS console. @@ -45,3 +52,37 @@ Did you choose to enable _APIBasicAuth_ and/or _CustomRole_ and are wondering ho Once you have followed all these steps, you can [configure your metaflow installation](./#configuring-metaflow) using the outputs from the CloudFormation stack. +### Optional Metaflow User Interface (`EnableUI` -parameter) + +Did you choose to enable Metaflow User Interface and are wondering how it works? Below are some details on what needs to be done in order to deploy Metaflow User Interface. + +User Interface is provided as a CloudFormation Nested Stack, which means that the UI components are separated to its own template and are deployed to separate CloudFormation Stack. All Nested Stack operations should be initiated from the root stack. + +While working with Nested Stacks, templates need to be packaged before deployment. For this AWS Command Line Interface can be used. Packaging step is only required when deploying Metaflow User Interface Nested Stack. + +Prerequisites for User Interface enabled Nested Stack deployment: + +* **[Netflix/metaflow-tools repository](https://github.com/Netflix/metaflow-tools)** - Locally available for packaging templates. +* **AWS Command Line Interface** - Installed and configured. +* **S3 bucket to upload CloudFormation templates to** - Nested Stacks require templates referred by absolute S3 paths. + +Packaging step is required in order to deploy templates with Nested Stacks: + +```bash +$ aws cloudformation package \ + --s3-bucket custom-s3-bucket \ + --template-file metaflow-cfn-template.yml \ + --output-template-file metaflow-cfn-template.yml.package +``` + +Above package command does the following: + +1. Nested Stack template is uploaded to S3 bucket + 1. Defined by `--s3-bucket` parameter (this bucket should already exist and needs to be created manually) +2. Root template is transformed so that all local paths are converted to absolute S3 paths + 1. Input file is defined by `--template-file` parameter +3. Transformed and packaged root template is placed in local file system defined by `--output-template-file` parameter + +Once this package step is completed, you can follow the **Steps for AWS CloudFormation Deployment** -section. Please note: instead of using the non-packaged template, you should use the packaged template `metaflow-cfn-template.yml.package` you just created. + +Read more about Cloudformation and working with nested stacks [here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html). \ No newline at end of file diff --git a/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md b/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md index 98a428e9..71812b95 100644 --- a/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md +++ b/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md @@ -17,6 +17,13 @@ The major components of the template are: * **AWS Identity and Access Management** - Dedicated roles obeying "principle of least privilege" access to resources such as AWS Batch and Amazon Sagemaker Notebook instances. * **AWS Lambda** _-_ An AWS Lambda function that automates any migrations needed for the Metadata service. +Additional optional components of the template are: + +* **AWS Cloudfront** - Content Delivery Network for Metaflow User Interface static assets. +* **Application Load Balancer** - Application Load Balancer for Metaflow User Interface. + +User Interface can be enabled via CloudFormation template Parameter. This step is covered under **Steps for AWS CloudFormation Deployment - Optional Metaflow User Interface** -section below. + ## Steps for AWS CloudFormation Deployment 1. Navigate to _Services_ and select _CloudFormation_ under the _Management and Governance_ heading \(or search for it in the search bar\) in your AWS console. @@ -45,3 +52,37 @@ Did you choose to enable _APIBasicAuth_ and/or _CustomRole_ and are wondering ho Once you have followed all these steps, you can [configure your metaflow installation](./#configuring-metaflow) using the outputs from the CloudFormation stack. +### Optional Metaflow User Interface (`EnableUI` -parameter) + +Did you choose to enable Metaflow User Interface and are wondering how it works? Below are some details on what needs to be done in order to deploy Metaflow User Interface. + +User Interface is provided as a CloudFormation Nested Stack, which means that the UI components are separated to its own template and are deployed to separate CloudFormation Stack. All Nested Stack operations should be initiated from the root stack. + +While working with Nested Stacks, templates need to be packaged before deployment. For this AWS Command Line Interface can be used. Packaging step is only required when deploying Metaflow User Interface Nested Stack. + +Prerequisites for User Interface enabled Nested Stack deployment: + +* **[Netflix/metaflow-tools repository](https://github.com/Netflix/metaflow-tools)** - Locally available for packaging templates. +* **AWS Command Line Interface** - Installed and configured. +* **S3 bucket to upload CloudFormation templates to** - Nested Stacks require templates referred by absolute S3 paths. + +Packaging step is required in order to deploy templates with Nested Stacks: + +```bash +$ aws cloudformation package \ + --s3-bucket custom-s3-bucket \ + --template-file metaflow-cfn-template.yml \ + --output-template-file metaflow-cfn-template.yml.package +``` + +Above package command does the following: + +1. Nested Stack template is uploaded to S3 bucket + 1. Defined by `--s3-bucket` parameter (this bucket should already exist and needs to be created manually) +2. Root template is transformed so that all local paths are converted to absolute S3 paths + 1. Input file is defined by `--template-file` parameter +3. Transformed and packaged root template is placed in local file system defined by `--output-template-file` parameter + +Once this package step is completed, you can follow the **Steps for AWS CloudFormation Deployment** -section. Please note: instead of using the non-packaged template, you should use the packaged template `metaflow-cfn-template.yml.package` you just created. + +Read more about Cloudformation and working with nested stacks [here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html). \ No newline at end of file diff --git a/overview/service-architecture.md b/overview/service-architecture.md index e52e80ed..6012e4b6 100644 --- a/overview/service-architecture.md +++ b/overview/service-architecture.md @@ -6,7 +6,7 @@ To benefit from the centralized [experiment tracking and sharing via Client API] ## Shared Mode Architecture -The diagram below shows an overview of services used by Metaflow in the shared mode. The services outlined in yellow are required: Development Environment, Datastore, and Metaflow Service and its database. The services outlined with dashed lines are optional. +The diagram below shows an overview of services used by Metaflow in the shared mode. The services outlined in yellow are required: Development Environment, Datastore, and Metaflow Service and its database. The services outlined with dashed lines are optional: Compute Cluster, Production Scheduler and User Interface. ![](../.gitbook/assets/service_architecture.png) @@ -69,7 +69,13 @@ In the administrator’s point of view, an object store like S3 is effectively m ## Optional Services -The following two services are optional. They provide a way to scale out Metaflow executions and deploy Metaflow workflows in a highly available production scheduler. If your organization doesn’t require elastic scalability and occasional downtime for scheduled workflow executions is acceptable, you may ignore these services. +The following services are optional. They provide a way to scale out Metaflow executions and deploy Metaflow workflows in a highly available production scheduler. User Interface provides a way to monitor workloads efficiently in real-time within the user's own browser environment. + +You may ignore these optional services if: + +* Your organization doesn’t require elastic scalability +* Occasional downtime for scheduled workflow executions is acceptable +* User Interface is not relevant to your your organization ### Compute Cluster @@ -94,6 +100,14 @@ The user can deploy their Metaflow workflow to Production Scheduler with a singl Currently, Metaflow supports [AWS Step Functions as the Production Scheduler](https://docs.metaflow.org/going-to-production-with-metaflow/scheduling-metaflow-flows). For more background about production schedulers, see [the release blog post for Step Functions integration](https://medium.com/@NetflixTechBlog/unbundling-data-science-workflows-with-metaflow-and-aws-step-functions-d454780c6280). +### **User Interface** + +Metaflow provides an optional UI which enables the user to monitor workflows efficiently in real-time within the user’s own browser environment. + +The UI service doesn’t have any built-in support for authentication. We assume that the service is typically deployed inside a (virtual) private network that provides a secure operating environment. + +Optionally, the administrator may choose to replicate the main database to make sure that any load or interference caused by the UI service will not affect the Metadata service operation. + ## Security Considerations Metaflow relies on the security mechanisms and policies provided by the deployment environment, for instance, VPCs, Security Groups and IAM on AWS. These mechanisms allow you to define as fine-grained security policies as required by your organization. From ee6c99552ac3654a28adbbfc17c061b928743152 Mon Sep 17 00:00:00 2001 From: Matias Savela Date: Mon, 27 Sep 2021 14:52:50 +0300 Subject: [PATCH 2/3] Metaflow UI Logical Replication Guide added under 'Operations Guide' --- README.md | 5 +-- SUMMARY.md | 2 +- .../metaflow-ui-logical-replication-guide.md | 41 +++++++++++++++++++ overview/service-architecture.md | 2 +- 4 files changed, 45 insertions(+), 5 deletions(-) create mode 100644 metaflow-on-aws/operations-guide/metaflow-ui-logical-replication-guide.md diff --git a/README.md b/README.md index a51f5eaa..c68e0ec4 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,5 @@ description: How to deploy and operate Metaflow * [AWS CloudFormation Deployment](metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md) * [Manual Deployment](metaflow-on-aws/deployment-guide/manual-deployment.md) * [Operations Guide](metaflow-on-aws/operations-guide/) - - - + * [Metaflow Service Migration Guide](metaflow-on-aws/operations-guide/metaflow-service-migration-guide.md) + * [Metaflow UI Logical Replication Guide](metaflow-on-aws/operations-guide/metaflow-ui-logical-replication-guide.md) \ No newline at end of file diff --git a/SUMMARY.md b/SUMMARY.md index c58769f2..84985164 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -16,4 +16,4 @@ * [Manual Deployment](metaflow-on-aws/deployment-guide/manual-deployment.md) * [Operations Guide](metaflow-on-aws/operations-guide/README.md) * [Metaflow Service Migration Guide](metaflow-on-aws/operations-guide/metaflow-service-migration-guide.md) - + * [Metaflow UI Logical Replication Guide](metaflow-on-aws/operations-guide/metaflow-ui-logical-replication-guide.md) diff --git a/metaflow-on-aws/operations-guide/metaflow-ui-logical-replication-guide.md b/metaflow-on-aws/operations-guide/metaflow-ui-logical-replication-guide.md new file mode 100644 index 00000000..727db776 --- /dev/null +++ b/metaflow-on-aws/operations-guide/metaflow-ui-logical-replication-guide.md @@ -0,0 +1,41 @@ +# Metaflow UI Logical Replication Guide + +Administrators may consider logical replication for UI service so that existing infrastructure has minimal impact in terms of load and interference originated from UI service. Read replica is not an option for UI service, since the service is responsible for creating table triggers to the database. + +Logical replication of a table typically starts with taking a snapshot of the data on the publisher database and copying that to the subscriber. Once that is done, the changes on the publisher are sent to the subscriber as they occur in real-time. The subscriber applies the data in the same order as the publisher so that transactional consistency is guaranteed for publications within a single subscription. + +Below you will find high level instructions on how to create publication and subscription between two database instances. + +Please note that PostgreSQL 10.0 or above is required for logical replication. + +## Create publication + +**Prerequisites** +* Database [WAL level](https://www.postgresql.org/docs/10/runtime-config-wal.html) should be set to `logical` + +```sql +CREATE PUBLICATION metaflow_ui_publication + FOR TABLE flows_v3, runs_v3, steps_v3, tasks_v3, artifact_v3, metadata_v3; +``` + +Read more about [creating a publication.](https://www.postgresql.org/docs/10/sql-createpublication.html) + +## Create subscription + +**Prerequisites** +* Subscriber database should have migrations up-to-date + * All tables should exist and schema should be identical to publication +* Subscriber should be able to connect publisher database + +```sql +CREATE SUBSCRIPTION metaflow_ui_subscription + CONNECTION 'host=publication.database.host port=5432 user=postgres password=postgres dbname=postgres' + PUBLICATION metaflow_ui_publication + WITH (enabled = true, copy_data = true); +``` + +Where +* **enabled = true** - Starts replication process immediately +* **copy_data = true** - Copy all existing data from the publication + +Read more about [creating a subscription.](https://www.postgresql.org/docs/10/sql-createsubscription.html) diff --git a/overview/service-architecture.md b/overview/service-architecture.md index 6012e4b6..5a1680a3 100644 --- a/overview/service-architecture.md +++ b/overview/service-architecture.md @@ -106,7 +106,7 @@ Metaflow provides an optional UI which enables the user to monitor workflows eff The UI service doesn’t have any built-in support for authentication. We assume that the service is typically deployed inside a (virtual) private network that provides a secure operating environment. -Optionally, the administrator may choose to replicate the main database to make sure that any load or interference caused by the UI service will not affect the Metadata service operation. +Optionally, the administrator may choose to replicate the main database to make sure that any load or interference caused by the UI service will not affect the Metadata service operation. Read more about [logical replication](../metaflow-on-aws/operations-guide/metaflow-ui-logical-replication-guide.md). ## Security Considerations From 5be93e5152c86ab2eab971b74df85ec52947942b Mon Sep 17 00:00:00 2001 From: Matias Savela Date: Tue, 26 Oct 2021 21:37:06 +0300 Subject: [PATCH 3/3] Removed all references to Cloudformation nested stacks. --- .../aws-cloudformation-deployment.md | 34 ++++--------------- .../aws-cloudformation-deployment.md | 34 ++++--------------- .../aws-cloudformation-deployment.md | 34 ++++--------------- 3 files changed, 21 insertions(+), 81 deletions(-) diff --git a/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md b/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md index 71812b95..82fa89ee 100644 --- a/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md +++ b/aws-deployment-guide/deployment-guide/aws-cloudformation-deployment.md @@ -56,33 +56,13 @@ Once you have followed all these steps, you can [configure your metaflow install Did you choose to enable Metaflow User Interface and are wondering how it works? Below are some details on what needs to be done in order to deploy Metaflow User Interface. -User Interface is provided as a CloudFormation Nested Stack, which means that the UI components are separated to its own template and are deployed to separate CloudFormation Stack. All Nested Stack operations should be initiated from the root stack. +Please note: This section can be ignored if `EnableUI` -parameter is disabled (this is the default value). -While working with Nested Stacks, templates need to be packaged before deployment. For this AWS Command Line Interface can be used. Packaging step is only required when deploying Metaflow User Interface Nested Stack. +User Interface is provided as part of the `metaflow-cfn-template.yml` template and doesn't require any additional +configuration besides enabling the `EnableUI` -parameter. You can follow the [AWS CloudFormation Deployment](https://admin-docs.metaflow.org/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment#steps-for-aws-cloudformation-deployment) instructions. -Prerequisites for User Interface enabled Nested Stack deployment: +Once deployed the Cloudformation Stack will provide two outputs: +- `UIServiceUrl` - Application Load Balancer endpoint +- `UIServiceCloudfrontUrl` - Cloudfront distribution (using ALB) endpoint with HTTPS enabled (preferred) -* **[Netflix/metaflow-tools repository](https://github.com/Netflix/metaflow-tools)** - Locally available for packaging templates. -* **AWS Command Line Interface** - Installed and configured. -* **S3 bucket to upload CloudFormation templates to** - Nested Stacks require templates referred by absolute S3 paths. - -Packaging step is required in order to deploy templates with Nested Stacks: - -```bash -$ aws cloudformation package \ - --s3-bucket custom-s3-bucket \ - --template-file metaflow-cfn-template.yml \ - --output-template-file metaflow-cfn-template.yml.package -``` - -Above package command does the following: - -1. Nested Stack template is uploaded to S3 bucket - 1. Defined by `--s3-bucket` parameter (this bucket should already exist and needs to be created manually) -2. Root template is transformed so that all local paths are converted to absolute S3 paths - 1. Input file is defined by `--template-file` parameter -3. Transformed and packaged root template is placed in local file system defined by `--output-template-file` parameter - -Once this package step is completed, you can follow the **Steps for AWS CloudFormation Deployment** -section. Please note: instead of using the non-packaged template, you should use the packaged template `metaflow-cfn-template.yml.package` you just created. - -Read more about Cloudformation and working with nested stacks [here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html). \ No newline at end of file +Please note: Metaflow User Interface doesn't provide any authentication by default. \ No newline at end of file diff --git a/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md b/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md index 71812b95..82fa89ee 100644 --- a/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md +++ b/metaflow-on-aws-1/deployment-guide/aws-cloudformation-deployment.md @@ -56,33 +56,13 @@ Once you have followed all these steps, you can [configure your metaflow install Did you choose to enable Metaflow User Interface and are wondering how it works? Below are some details on what needs to be done in order to deploy Metaflow User Interface. -User Interface is provided as a CloudFormation Nested Stack, which means that the UI components are separated to its own template and are deployed to separate CloudFormation Stack. All Nested Stack operations should be initiated from the root stack. +Please note: This section can be ignored if `EnableUI` -parameter is disabled (this is the default value). -While working with Nested Stacks, templates need to be packaged before deployment. For this AWS Command Line Interface can be used. Packaging step is only required when deploying Metaflow User Interface Nested Stack. +User Interface is provided as part of the `metaflow-cfn-template.yml` template and doesn't require any additional +configuration besides enabling the `EnableUI` -parameter. You can follow the [AWS CloudFormation Deployment](https://admin-docs.metaflow.org/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment#steps-for-aws-cloudformation-deployment) instructions. -Prerequisites for User Interface enabled Nested Stack deployment: +Once deployed the Cloudformation Stack will provide two outputs: +- `UIServiceUrl` - Application Load Balancer endpoint +- `UIServiceCloudfrontUrl` - Cloudfront distribution (using ALB) endpoint with HTTPS enabled (preferred) -* **[Netflix/metaflow-tools repository](https://github.com/Netflix/metaflow-tools)** - Locally available for packaging templates. -* **AWS Command Line Interface** - Installed and configured. -* **S3 bucket to upload CloudFormation templates to** - Nested Stacks require templates referred by absolute S3 paths. - -Packaging step is required in order to deploy templates with Nested Stacks: - -```bash -$ aws cloudformation package \ - --s3-bucket custom-s3-bucket \ - --template-file metaflow-cfn-template.yml \ - --output-template-file metaflow-cfn-template.yml.package -``` - -Above package command does the following: - -1. Nested Stack template is uploaded to S3 bucket - 1. Defined by `--s3-bucket` parameter (this bucket should already exist and needs to be created manually) -2. Root template is transformed so that all local paths are converted to absolute S3 paths - 1. Input file is defined by `--template-file` parameter -3. Transformed and packaged root template is placed in local file system defined by `--output-template-file` parameter - -Once this package step is completed, you can follow the **Steps for AWS CloudFormation Deployment** -section. Please note: instead of using the non-packaged template, you should use the packaged template `metaflow-cfn-template.yml.package` you just created. - -Read more about Cloudformation and working with nested stacks [here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html). \ No newline at end of file +Please note: Metaflow User Interface doesn't provide any authentication by default. \ No newline at end of file diff --git a/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md b/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md index 71812b95..82fa89ee 100644 --- a/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md +++ b/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment.md @@ -56,33 +56,13 @@ Once you have followed all these steps, you can [configure your metaflow install Did you choose to enable Metaflow User Interface and are wondering how it works? Below are some details on what needs to be done in order to deploy Metaflow User Interface. -User Interface is provided as a CloudFormation Nested Stack, which means that the UI components are separated to its own template and are deployed to separate CloudFormation Stack. All Nested Stack operations should be initiated from the root stack. +Please note: This section can be ignored if `EnableUI` -parameter is disabled (this is the default value). -While working with Nested Stacks, templates need to be packaged before deployment. For this AWS Command Line Interface can be used. Packaging step is only required when deploying Metaflow User Interface Nested Stack. +User Interface is provided as part of the `metaflow-cfn-template.yml` template and doesn't require any additional +configuration besides enabling the `EnableUI` -parameter. You can follow the [AWS CloudFormation Deployment](https://admin-docs.metaflow.org/metaflow-on-aws/deployment-guide/aws-cloudformation-deployment#steps-for-aws-cloudformation-deployment) instructions. -Prerequisites for User Interface enabled Nested Stack deployment: +Once deployed the Cloudformation Stack will provide two outputs: +- `UIServiceUrl` - Application Load Balancer endpoint +- `UIServiceCloudfrontUrl` - Cloudfront distribution (using ALB) endpoint with HTTPS enabled (preferred) -* **[Netflix/metaflow-tools repository](https://github.com/Netflix/metaflow-tools)** - Locally available for packaging templates. -* **AWS Command Line Interface** - Installed and configured. -* **S3 bucket to upload CloudFormation templates to** - Nested Stacks require templates referred by absolute S3 paths. - -Packaging step is required in order to deploy templates with Nested Stacks: - -```bash -$ aws cloudformation package \ - --s3-bucket custom-s3-bucket \ - --template-file metaflow-cfn-template.yml \ - --output-template-file metaflow-cfn-template.yml.package -``` - -Above package command does the following: - -1. Nested Stack template is uploaded to S3 bucket - 1. Defined by `--s3-bucket` parameter (this bucket should already exist and needs to be created manually) -2. Root template is transformed so that all local paths are converted to absolute S3 paths - 1. Input file is defined by `--template-file` parameter -3. Transformed and packaged root template is placed in local file system defined by `--output-template-file` parameter - -Once this package step is completed, you can follow the **Steps for AWS CloudFormation Deployment** -section. Please note: instead of using the non-packaged template, you should use the packaged template `metaflow-cfn-template.yml.package` you just created. - -Read more about Cloudformation and working with nested stacks [here](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html). \ No newline at end of file +Please note: Metaflow User Interface doesn't provide any authentication by default. \ No newline at end of file