Skip to content

Commit 0a5407b

Browse files
authored
Merge pull request #219 from DecisionsDev/ecs-update
Mentioned VPC endpoint for Secret Manager.
2 parents a990dc8 + d908f3a commit 0a5407b

File tree

2 files changed

+13
-9
lines changed

2 files changed

+13
-9
lines changed

.secrets.baseline

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"files": "^.secrets.baseline$",
44
"lines": null
55
},
6-
"generated_at": "2025-02-04T10:52:01Z",
6+
"generated_at": "2025-02-06T16:29:18Z",
77
"plugins_used": [
88
{
99
"name": "AWSKeyDetector"
@@ -1204,7 +1204,7 @@
12041204
"hashed_secret": "e460a102a85c6b2ad4ba7d0d03f87a59748c2967",
12051205
"is_secret": false,
12061206
"is_verified": false,
1207-
"line_number": 226,
1207+
"line_number": 231,
12081208
"type": "Secret Keyword",
12091209
"verified_result": null
12101210
}

platform/ecs/README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ This tutorial demonstrates how to deploy an IBM® Operational Decision Manager (
1313
- [Create a secret for the Entitled registry access](#23-create-a-secret-for-the-entitled-registry-access)
1414
- [Retrieve your entitled registry key](#231-retrieve-your-entitled-registry-key)
1515
- [Create a JSON file](#232-create-a-json-file)
16-
- [Create the secret in ASW Secrets Manager:](#233-create-the-secret-in-asw-secrets-manager)
16+
- [Create the secret in ASW Secrets Manager](#233-create-the-secret-in-asw-secrets-manager)
17+
- [Create VPC endpoint to access ASW Secrets Manager service](#234-create-vpc-endpoint-to-access-asw-secrets-manager-service)
1718
- [Create S3 bucket and IAM policy for IBM licensing service](#24-create-s3-bucket-and-iam-policy-for-ibm-licensing-service)
1819
- [Add Outbound rule to Load balancer's security group](#25-add-outbound-rule-to-load-balancers-security-group)
1920
- [Initialize ECS Compose-X](#26-initialize-ecs-compose-x)
@@ -23,15 +24,14 @@ This tutorial demonstrates how to deploy an IBM® Operational Decision Manager (
2324
- [HTTP mode](#311-http-mode)
2425
- [HTTPS mode](#312-https-mode)
2526
- [Create the AWS CloudFormation stacks](#32-create-the-aws-cloudformation-stacks)
26-
- [Configure inbound rule on RES security group:](#33-configure-inbound-rule-on-res-security-group)
27+
- [Configure inbound rule on RES security group](#33-configure-inbound-rule-on-res-security-group)
2728
- [Access ODM services:](#34-access-odm-services)
2829
- [Edit Server configurations in Decision Center](#35-edit-server-configurations-in-decision-center)
2930
- [Cleaup AWS CloudFormation stack](#4-cleaup-aws-cloudformation-stack)
3031
- [AWS CloudFormation console:](#41-aws-cloudformation-console)
3132
- [AWS Cli command](#42-aws-cli-command)
3233
<!-- /TOC -->
3334

34-
3535
## 1. Pre-requisite
3636

3737
To deploy ODM containers on AWS ECS Fargate from [docker-compose](docker-compose-http.yaml) file, you must meet the following requirements:
@@ -41,7 +41,7 @@ To deploy ODM containers on AWS ECS Fargate from [docker-compose](docker-compose
4141
* Install python3.6+ and later version.
4242
* Ensure you have an [AWS Account](https://aws.amazon.com/getting-started/).
4343
* Install [ECS Compose-x](https://github.com/compose-x/ecs_composex?tab=readme-ov-file#installation), preferably in a virtual environment.
44-
* Ensure that you have an existing internet-facing Application Elastic Load balancer and a VPC with public subnets [setup](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html) on Amazon Web Services(AWS).
44+
* Ensure that you have an existing internet-facing Application Elastic Load balancer based on a VPC with public subnets [setup](https://docs.aws.amazon.com/elasticloadbalancing/latest/classic/elb-manage-subnets.html) on Amazon Web Services(AWS).
4545
* If you want to run ODM Decision services in HTTPS mode, you need to have an [ACM public certificate](https://console.aws.amazon.com/acm/home).
4646

4747
*Note*: The commands and tools have been tested on macOS.
@@ -138,6 +138,11 @@ For example:
138138
...
139139
```
140140

141+
#### 2.3.4 Create VPC endpoint to access ASW Secrets Manager service
142+
143+
Since the ECS tasks need to access to the secret from Secrets Manager service, you might need to create an AWS Secrets Manager VPC endpoint. This inteface endpoint should use the VPC that you plan to deploy ODM. Choose the subnets and security group of this VPC to setup the endpoint. For more information, see [Using an AWS Secrets Manager VPC endpoint](https://docs.aws.amazon.com/secretsmanager/latest/userguide/vpc-endpoint-overview.html).
144+
145+
141146
### 2.4 Create S3 bucket and IAM policy for IBM licensing service
142147

143148
In this tutorial, we have included IBM Licensing service for tracking license usage of ODM that is deployed on AWS ECS Fargate.
@@ -212,7 +217,7 @@ If you want to run ODM Decision services in HTTPS mode, it is required to provid
212217
- Rename the downloaded `AmazonRootCA1.pem` file to `AmazonRootCA1.crt`.
213218
- In the S3 bucket created by `ecs-compose-x init`, create a folder named `certificate`.
214219
- Upload this `AmazonRootCA1.crt` file into this folder. <br><img src="images/S3-certificate.png" width="80%"/>
215-
- Create a new file system name `odm-filesystem` in [Amazon EFS](https://console.aws.amazon.com/efs/home) using the same VPC where you plan to create ECS Fargate cluster with ODM services. This file system will be used as a volume for Decision Center. See :
220+
- Create a new file system name `odm-filesystem` in [Amazon EFS](https://console.aws.amazon.com/efs/home) using the *same VPC* where you plan to create ECS Fargate cluster with ODM services. This file system will be used as a volume for Decision Center. See :
216221
```
217222
volumes:
218223
app:
@@ -250,7 +255,7 @@ volumes:
250255

251256
## 3. Deploy ODM to AWS ECS Fargate
252257

253-
ODM can be deployed either in [HTTP](docker-compose-http.yaml) or [HTTPS](docker-compose-https.yaml) mode. Each of the ODM components are configured to be deployed as separate ECS task due to IBM licensing service which logs CPU usage per ECS task. The IBM Licensing service will be deployed to the ECS tasks of Decision Center, Decision Server Runtime and Decision Runner for tracking purpose. Inspect the docker-compose file for more details.
258+
ODM can be deployed either in [HTTP](docker-compose-http.yaml) or [HTTPS](docker-compose-https.yaml) mode. Each of the ODM components are configured to be deployed as separate ECS task due to IBM licensing service which logs CPU usage per ECS task. The IBM Licensing service will be deployed to the ECS tasks of Decision Center, Decision Server Runtime and Decision Runner for tracking purpose. Inspect the docker-compose file for more details.
254259

255260
<br><img src="images/topology.png" width="80%"/>
256261

@@ -288,7 +293,6 @@ x-elbv2:
288293
```
289294
- For the parameter `RES_URL` that is defined in `environment` section of `odm-decisionrunner` service, look for the DNS value of your [load balancer](https://console.aws.amazon.com/ec2/home?#LoadBalancers:) and assign it to the parameter as `https://your_loadbalancer_dns/res`. This is required for running `Testing and Simulation` in Decision Center.
290295

291-
292296
### 3.2 Create the AWS CloudFormation stacks
293297

294298
- Run the following command to generate the CFN templates, validate the templates, and create the stacks in CFN.

0 commit comments

Comments
 (0)