Skip to content

EDI Offerings

EDI subscription managers can use the EDI Catalog to subscribe to individual EDI Offerings. The Offerings will belong to the "organization" - meaning that any user with the relevant role assigned will be able to view the fullfillment status for that Offering subscription or the related billing details.

EDI Catalog

The EDI Catalog allows users to subscribe to the following EDI Offerings:

  • Dedicated Data Platform Instance - SaaS Fulfillment Account: Single instance of the OSDU® Data Platform and supporting infrastructure serving a single customer-designated owner. With dedicated tenancy, each owner has their own instance of the platform.

  • Dedicated Data Platform Instance - PaaS Fulfillment Account: Single instance of the OSDU® Data Platform and supporting infrastructure serving a single customer-designated owner, in a PaaS fulfillment model to a a customer-provided fulfillment account. All infrastructure and services are deployed to the dedicated fulfillment account owned and provided by the customer.

  • Tenant on Multi-Tenant SaaS Data Platform Host: Single instance of the OSDU® Data Platform and supporting infrastructure serving multiple tenant subscribers, potentially spanning different customers. Each subscriber receives their own slice of the platform in the form of a data partition that is dedicated to them. Each subscriber's data is isolated to their data partition and remains invisible to other tenants.

EDI Catalog

Region

Only applies to Dedicated-Tenant. In the Region field of the Product Fulfillment Information section, select the AWS region where you would like Energy Data Insights to be installed. Currently supported regions are

  • us-east-1 – US East (Virginia)
  • us-east-2 – US East (Ohio)
  • us-west-2 – US West (Oregon)
  • eu-west-1 – Europe (Ireland)
  • eu-west-3 – Europe (Paris)
  • sa-east-1 – South America (São Paulo)
  • ap-southeast-1 – Asia Pacific (Singapore)
  • ap-southeast-2 – Asia Pacific (Sydney)

When Multi-Tenant is selected, Region selection will not be available. All Multi-Tenant subscriptions are currently fulfilled to a data platform hosted in the us-east-1 AWS region.

Fulfillment Account Service Quotas

Only applies to Express for EDI PaaS Dedicated Tenant subscriptions in Customer-provided Fulfillment Accounts. AWS Service quotas are managed by Express for EDI for SaaS subscription requests (to Fulfillment Accounts provided by Express for EDI).

For fulfillment of your subscription to succeed, the AWS account that you have specified as your Fulfillment Account must have sufficient Applied Service Quota values available. The minimum Service Quota levels noted here are required, but not necessarily sufficient given that your account may be subject to additional guardrail constraints that are enforced by AWS. Applied Service Quotas are managed by AWS on a case-by-case basis. Resolution of requests for Service Quota increases may take several days.

To check your Applied Service Quotas:

  1. Log in to your AWS EDI Fulfillment account using the AWS Management Console.

  2. Navigate to Lambda Concurrent executions quota and select your intended AWS Region for installation.

  3. Note the Applied quota value. It must be a minimum of 120. If it is not at least the minimum value, you will need to Request quota increase

  4. Navigate to EC2 Running On-Demand Standard instances and select your intended AWS Region for installation.

  5. Note the Applied quota value. It must be a minimum of 96. If it is not at least the minimum value, you will need to Request quota increase

Subdomain

Applies to Dedicated-Tenant and Customer-Tenant. Your installation of Express for Energy Data Insights will be accessible at a unique subdomain with the fully qualified domain name <subdomain>.edi.awsenergy.47lining.com. Please provide the name of the subdomain that you would like to use. Your subdomain must include only letters a-z and A-Z, numbers 0-9, and hyphen -, and must not exceed 63 characters. Your subdomain will be publicly visible and resolvable through the global DNS system.

When Multi-Tenant is selected,Subdomain field will not show up in the Product Fulfillment Information section. Your Tenant will reside on a data platform host and subdomain selected by 47Lining.

Product Fulfillment Information

OSDU Data Platform Version

Each subscriber can choose from the list of currently supported OSDU® Forum milestone release versions. A Data Platform instance corresponding to selected version will be fulfilled.

Fulfillment Role and External ID

Only applies to PaaS Dedicated Tenant subscription requests (to Customer-provided Fulfillment Accounts). Fulfillment roles are managed by Express for EDI for SaaS subscription requests (to Fulfillment Accounts provided by Express for EDI).

For fulfillment of your subscription to succeed, you will need to create a fulfillment role in the AWS Account specified as your Fulfillment Account. The fulfillment role is an AWS IAM role that you permit EDI Subscription Fulfillment to assume. It provides EDI Subscription Fulfillment with access required to fulfill your subscription into your EDI Fullfillment AWS account.

  1. To create this role, navigate to IAM in the AWS Management Console in your fultillment AWS account.
  2. You will need to create a custom policy and attach it to the new role. Start with the policy. In the left pane, click Policies

  3. In the right pane, click Create policy The Create policy page appears.

  4. In this step you will enter the access permissions that EDI Subscription Fulfillment requires to provision the underlying AWS resources within your Energy Data Insights Deployment. You will be able to revoke these permissions once your subscription has been fulfilled. Click the tab JSON. Delete the contents of the editor box and copy/paste the following text:

    {
       "Version": "2012-10-17",
       "Statement": [
          {
             "Effect": "Allow",
             "Action": [
                "cloudformation:CreateChangeSet",
                "cloudformation:CreateStack",
                "cloudformation:DeleteStack",
                "cloudformation:DescribeStacks",
                "cloudformation:ListStacks",
                "cloudformation:UpdateStack",
                "cloudformation:ListStackResources",
                "codebuild:BatchGetBuilds",
                "codebuild:CreateProject",
                "codebuild:DeleteProject",
                "codebuild:UpdateProject",
                "codepipeline:CreatePipeline",
                "codepipeline:DeletePipeline",
                "codepipeline:GetPipeline",
                "codepipeline:GetPipelineState",
                "codepipeline:ListPipelines",
                "codepipeline:RetryStageExecution",
                "codepipeline:TagResource",
                "codepipeline:UpdatePipeline",
                "ec2:CreateKeyPair",
                "ec2:DescribeKeyPairs",
                "ec2:DescribeVpcs",
                "ecs:RunTask",
                "eks:*",
                "events:PutEvents",
                "iam:AttachRolePolicy",
                "iam:CreatePolicy",
                "iam:CreateRole",
                "iam:DeletePolicy",
                "iam:DeleteRole",
                "iam:DetachRolePolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:GetRole",
                "iam:PassRole",
                "iam:GetRolePolicy",
                "iam:ListPolicyVersions",
                "iam:PutRolePolicy",
                "iam:TagRole",
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction",
                "lambda:TagResource",
                "lambda:UpdateFunctionConfiguration",
                "lambda:ListTags",
                "resource-groups:*",
                "route53:ChangeTagsForResource",
                "route53:CreateHostedZone",
                "route53:DeleteHostedZone",
                "route53:GetChange",
                "route53:GetHostedZone",
                "route53:ListHostedZones",
                "route53:ListQueryLoggingConfigs",
                "route53:ListTagsForResource",
                "s3:CreateBucket",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:DeleteBucket",
                "s3:GetBucketPolicy",
                "s3:GetBucketVersioning",
                "s3:List*",
                "s3:Put*",
                "servicequotas:GetServiceQuota",
                "ssm:DeleteParameter",
                "ssm:DeleteParameters",
                "ssm:GetParameter",
                "ssm:GetParameters",
                "ssm:PutParameter",
                "ssm:AddTagsToResource",
                "states:CreateStateMachine",
                "states:DescribeStateMachine",
                "states:DeleteStateMachine",
                "states:TagResource",
                "sts:GetCallerIdentity",
                "cognito-idp:ListUserPoolClients",
                "cognito-idp:DescribeUserPoolClient",
                "secretsmanager:CreateSecret",
                "secretsmanager:DeleteSecret",
                "secretsmanager:UpdateSecret",
                "secretsmanager:GetSecretValue",
                "sqs:GetQueueAttributes",
                "sqs:GetQueueUrl"
             ],
             "Resource": "*"
          },
          {
             "Effect": "Allow",
             "Action": [
                "iam:PassRole",
                "iam:CreateServiceLinkedRole",
                "sts:AssumeRole"
             ],
             "Resource": [
                "arn:aws:iam::*:role/OSDUR2DynamodbTableScalingRole-*",
                "arn:aws:iam::*:role/OSDUR2EcsAutoScalingRole-*",
                "arn:aws:iam::*:role/OSDUR2EcsTaskExecutionRole-*",
                "arn:aws:iam::*:role/OSDUR2EntitlementsLambdaRole-*",
                "arn:aws:iam::*:role/OSDUR2PipelineDeployRole-*",
                "arn:aws:iam::*:role/OSDUR2PipelineDestroyRole-*",
                "arn:aws:iam::*:role/aws-service-role/dynamodb.application-autoscaling.amazonaws.com/*",
                "arn:aws:iam::*:role/aws-service-role/ecs.amazonaws.com/*",
                "arn:aws:iam::*:role/aws-service-role/ecs.application-autoscaling.amazonaws.com/*",
                "arn:aws:iam::*:role/aws-service-role/elasticache.amazonaws.com/*",
                "arn:aws:iam::*:role/aws-service-role/elasticloadbalancing.amazonaws.com/*",
                "arn:aws:iam::*:role/aws-service-role/es.amazonaws.com/*"
             ]
          },
          {
             "Sid": "GetOsduPostmanEnv",
             "Effect": "Allow",
             "Action": [
                "s3:GetObject"
             ],
             "Resource": [
                "arn:aws:s3:::osduonaws-artifacts/*"
             ]
          },
          {
             "Effect": "Allow",
             "Action": [
                "iam:SimulatePrincipalPolicy"
             ],
             "Resource": "*"
          }
       ]
    }
    
  5. Click Review policy. Enter a Name (e.g. EDIDeploymentFulfillmentPolicy), and an optional Description (e.g. "minimal policy for Energy Data Insights Data Platform subscription fulfillment"). Click Create policy.

    The role name must comply with AWS constraints: role names are not case
    

    sensitive, must be unique within the account, must be alphanumeric including special characters: plus +, equal =, comma ,, period ., at @, underscore _, and hyphen -, and have a maximum length of 2048 characters.

  6. On the next page, in the left pane click Roles, then in the right pane click Create role.

  7. On the Create role page, click Another AWS Account and select Options ☑ Require external ID

    Create Role

  8. In the Account ID field, enter 523544000011. This is the EDI Subscription Fulfillment AWS account that will install EDI Enterprise PaaS into your AWS account.

  9. In the External ID field of the Create role page, enter the value of the External ID shown on the Product Fulfillment Information page of the EDI Subscription Portal.

    This read-only field represents a unique 12 character string that the system generates per subscription. The contents of this field are required to securely identify the assuming IAM role

  10. Click Next: Permissions. Enter your new policy name in the search box. Click the check box next to your policy.

    Attach Policy

  11. Click Next: Tags. Add any tags desired (optional) and click Next: Review

  12. Enter a role name (e.g.: EDIDeploymentFulfillmentRole) and click Create role

  13. Copy this role name into the Role Name field of the Product Fulfillment Information page.

Target Account ID

Only applies to Customer-Account fulfillment. This is the customer owned AWS account in which the customer wishes to fulfill Energy Data Insights Subscription. The Target Account ID must be a 12-digit number.

Bring your own domain

Only applies to PaaS subscription requests.

You can provide your own domain, to be used by the subscription, by selecting Bring your own domain option, under Select Domain input, in Product Fulfillment Information page.

Selecting this option requires you to provide Custom Domain and Hosted Zone ID. Those values have to match Route53 Hosted Zone, that you have to create in the Fulfillment Account beforehand.

  1. To create new Route53 Hosted Zone, navigate to Route53 in AWS Management Console in your fulfillment AWS account.
  2. In the left pane click on Hosted zones.
  3. Click on Create hosted zone button.
  4. Enter your Domain name and accept with Create hosted zone button.

    Create Hosted Zone

  5. Open details of your newly created Hosted Zone by clicking > Hosted zone details.

    Hosted Zone details

  6. Use the method provided by the registrar for the domain to change the name servers for the domain to use the four Route 53 name servers that you got in Hosted zone details

  7. From details of your Hosted Zone, copy Hosted zone name and Hosted zone ID, then input them into Custom Domain ad Hosted Zone ID fields in Product Fulfillment Information page.

    Bring Your Own Domain