1. Configure Single Tenant¶
Important
If you chose false for CreateDnsEntries while creating the root stack, please create DNS entries manually or by means of your own Cloudformation stack before setting up single tenant. See Install Root Stack for details.
1.1. Single Tenant¶
The Single Tenant stack initializes the InfinStor MLflow instance into a single tenant instance.
- In your AWS Console, go to CloudFormation and choose create stack
- Use Amazon S3 URL for template source. Specify the build number that matches the build that was provided to you in the URL below. The URL is:
https://s3.amazonaws.com/infinstorcft/a.b.cc/single-tenant-no-compute.yaml
While specifying stack details, choose the following:
- stack name - single-tenant in the example below
1.1.1. General Options¶
-
MlflowArtifactsBucketParameter: Specify the default location where MLflow artifacts will be stored. Usually a s3 location. The destination for artifacts can be overridden at the time of experiment creation
-
Should the stack created by this CFT support the concept of Projects: The concept of Projects is a way to classify experiments and models into projects
-
EnableAuthorization: Should the MLflow implementation support authorization for experiments and models
1.1.2. Admin User Options¶
-
CreateRootUserInCognito: This CFT can optionally create a user named root in the Cognito's local database. This user is the administrator for this instance of the InfinStor service. See Standalone Cognito User Pool below.
-
RootUserEmail: If CreateRootUserInCongito is true, then this parameter should contain the email address of the root user.
-
UseThisUserAsAdmin: As an alternative to creating a root user in Cognito, InfinStor can treat the specified user as admin. See Cognito User Pool with Federation below.
1.1.2.1. Standalone Cognito User Pool:¶
If the user management architecture is Standalone Cognito User Pool then CreateRootUserInCognito must be true, and RootUserEmail must be specified. See above for details
1.1.2.2. Cognito User Pool with Federation:¶
If the user management architecture is Congito User Pool with Federation, it is possible to designate a specific user in the corporate directory as the admin for InfinStor MLflow and not create a root user in Cognito. See above for details
1.1.3. Permissions Boundary Options¶
If your enterprise requires a permissions boundary to be applied to every IAM role created, you may specify that permissions boundary in this step. Choose false and enter the BoundaryPolicyARN
1.1.4. Other parameters¶
- UsePresignedUrlForInfinSnap: This is part of InfinStor Access Control. If you set this option, then access to InfinSnap enabled buckets will be managed using experiment authorization and users do not need separate AWS access keys
- UsePresignedUrlForMLflow This is part of InfinStor Access Control. If you set this option, then access to MLflow artifact buckets will be managed using experiment authorization and users do not need separate AWS access keys
- enableDDBPointInTimeRecov If you set this option, any dynamodb table created by InfinStor will have point in time recovery enabled
-
enableDefaultBucketAuth This is part of InfinStor Access Control. If you set this option, then access to default MLflow artifact bucket will be managed using experiment authorization and users do not need separate AWS access keys
-
enableDefaultBucketVersioning If you set this option, object versioning will be turned on for the default artifacts bucket that InfinStor MLflow creates
Be sure to tick the 'IAM Resources with Custom Names' checkbox while clicking through the Stack Options page.
1.2. Download Single SPA MLFlow UI Microfrontend¶
To access and locally install the Microfrontend (MFE) for MLFlow UI, based on Single SPA, follow the steps below
- download
https://<mlflowui subdomain>.<infinstor platform domain>/mlflowui-ss/static-files/mlflowui-ss.tar.gz
- for example:
https://mlflowui.infinstor.com/mlflowui-ss/static-files/mlflowui-ss.tar.gz
- for example:
- download
https://<mlflowui subdomain>.<infinstor platform domain>/mlflowui-ss/static-files/serviceconfig.js
- for example:
https://mlflowui.infinstor.com/mlflowui-ss/static-files/serviceconfig.js
- for example:
mkdir <document root of target web server>/static-files
- under the
document root
of the target webserver, where the single spa build will be installed, create a directorystatic-files
- under the
cd <document root of target web server>/static-files
- cd to the
static-files
directory created above
- cd to the
tar xvzf <path to downloaded mlflowui-ss.tar.gz>
- extract the tar file contents inside
<document root of target web server>/static-files
directory
- extract the tar file contents inside
cp <path to downloaded serviceconfig.js> .
- copy
serviceconfig.js
to<document root of target web server>/static-files
directory
- copy
- integrate MLFlow UI MFE with your Single SPA root application using
bundle.js
located in<document root of target web server>/static-files
directory.