add Cfn Output & Readme
This commit is contained in:
parent
7462aa6549
commit
fde4897493
5 changed files with 48 additions and 19 deletions
|
|
@ -1,14 +1,43 @@
|
||||||
# Welcome to your CDK TypeScript project
|
# Langflow on AWS
|
||||||
|
|
||||||
This is a blank project for CDK development with TypeScript.
|
Langflow on AWS は、 Langflow を AWS 上に展開する Project になります。
|
||||||
|
この Branch では、AWS CDK を用いて 各種 Dockerfile からコンテナイメージを ECR に展開し、ECS、Aurora MySQL を用いて Langflow を構築します。
|
||||||
|
|
||||||
The `cdk.json` file tells the CDK Toolkit how to execute your app.
|
# デプロイ
|
||||||
|
[CloudShell](https://us-east-1.console.aws.amazon.com/cloudshell/home?region=us-east-1)を開きます。
|
||||||
|
|
||||||
## Useful commands
|
以下のコマンドを実行します。
|
||||||
|
```shell
|
||||||
|
git clone https://github.com/aws-samples/cloud9-setup-for-prototyping
|
||||||
|
cd cloud9-setup-for-prototyping
|
||||||
|
./bin/bootstrap
|
||||||
|
```
|
||||||
|
|
||||||
* `npm run build` compile typescript to js
|
`Done!` と表示されたら [Cloud9](https://us-east-1.console.aws.amazon.com/cloud9control/home?region=us-east-1#/) から `cloud9-for-prototyping` を開きます。
|
||||||
* `npm run watch` watch for changes and compile
|

|
||||||
* `npm run test` perform the jest unit tests
|
|
||||||
* `cdk deploy` deploy this stack to your default AWS account/region
|
以下のコマンドを実行します。
|
||||||
* `cdk diff` compare deployed stack with current state
|
|
||||||
* `cdk synth` emits the synthesized CloudFormation template
|
```shell
|
||||||
|
git clone -b aws-cdk-dev2 https://github.com/kazuki306/langflow
|
||||||
|
cd langflow/scripts/aws
|
||||||
|
cp .env.example .env # この後envの設定が必要ならここで追記
|
||||||
|
npm ci
|
||||||
|
cdk bootstrap
|
||||||
|
cdk deploy
|
||||||
|
```
|
||||||
|
表示される URL にアクセスします。
|
||||||
|
```shell
|
||||||
|
Outputs:
|
||||||
|
LangflowAppStack.NetworkURLXXXXXX = http://alb-XXXXXXXXXXX.elb.amazonaws.com
|
||||||
|
```
|
||||||
|
|
||||||
|
# 環境の削除
|
||||||
|
`Cloud9` で以下のコマンドを実行します。
|
||||||
|
```shell
|
||||||
|
cdk destroy
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
[CloudFormation](https://us-east-1.console.aws.amazon.com/cloudformation/home?region=us-east-1#/getting-started)を開き、`aws-cloud9-cloud9-for-prototyping-XXXX` を選択して削除します。
|
||||||
|

|
||||||
BIN
scripts/aws/img/langflow-cfn.png
Normal file
BIN
scripts/aws/img/langflow-cfn.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
BIN
scripts/aws/img/langflow-cloud9.png
Normal file
BIN
scripts/aws/img/langflow-cloud9.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 46 KiB |
|
|
@ -14,10 +14,6 @@ import * as dotenv from 'dotenv';
|
||||||
const path = require('path');
|
const path = require('path');
|
||||||
dotenv.config({path: path.join(__dirname, "../../.env")});
|
dotenv.config({path: path.join(__dirname, "../../.env")});
|
||||||
|
|
||||||
console.log(process.env.LANGFLOW_AUTO_LOGIN);
|
|
||||||
console.log(process.env.LANGFLOW_SUPERUSER);
|
|
||||||
console.log(process.env.LANGFLOW_SUPERUSER_PASSWORD);
|
|
||||||
|
|
||||||
interface BackEndProps {
|
interface BackEndProps {
|
||||||
cluster: ecs.Cluster
|
cluster: ecs.Cluster
|
||||||
ecsBackSG:ec2.SecurityGroup
|
ecsBackSG:ec2.SecurityGroup
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
import { RemovalPolicy, Duration } from 'aws-cdk-lib'
|
import { RemovalPolicy, Duration, CfnOutput } from 'aws-cdk-lib'
|
||||||
import { Construct } from 'constructs'
|
import { Construct } from 'constructs'
|
||||||
import {
|
import {
|
||||||
aws_ec2 as ec2,
|
aws_ec2 as ec2,
|
||||||
|
|
@ -76,9 +76,9 @@ export class Network extends Construct {
|
||||||
})
|
})
|
||||||
this.albSG.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(alb_listen_port))
|
this.albSG.addIngressRule(ec2.Peer.anyIpv4(), ec2.Port.tcp(alb_listen_port))
|
||||||
|
|
||||||
this.alb = new elb.ApplicationLoadBalancer(this,'alb',{
|
this.alb = new elb.ApplicationLoadBalancer(this,'langflow-alb',{
|
||||||
internetFacing: true, //インターネットからのアクセスを許可するかどうか指定
|
internetFacing: true, //インターネットからのアクセスを許可するかどうか指定
|
||||||
loadBalancerName: 'alb',
|
loadBalancerName: 'langflow-alb',
|
||||||
securityGroup: this.albSG, //作成したセキュリティグループを割り当てる
|
securityGroup: this.albSG, //作成したセキュリティグループを割り当てる
|
||||||
vpc:this.vpc,
|
vpc:this.vpc,
|
||||||
})
|
})
|
||||||
|
|
@ -127,13 +127,17 @@ export class Network extends Construct {
|
||||||
|
|
||||||
// Create CloudWatch Log Group
|
// Create CloudWatch Log Group
|
||||||
this.backendLogGroup = new logs.LogGroup(this, 'backendLogGroup', {
|
this.backendLogGroup = new logs.LogGroup(this, 'backendLogGroup', {
|
||||||
logGroupName: 'myapp-backend',
|
logGroupName: 'langflow-backend-logs',
|
||||||
removalPolicy: RemovalPolicy.DESTROY,
|
removalPolicy: RemovalPolicy.DESTROY,
|
||||||
});
|
});
|
||||||
|
|
||||||
this.frontendLogGroup = new logs.LogGroup(this, 'frontendLogGroup', {
|
this.frontendLogGroup = new logs.LogGroup(this, 'frontendLogGroup', {
|
||||||
logGroupName: 'myapp-frontend',
|
logGroupName: 'langflow-frontend-logs',
|
||||||
removalPolicy: RemovalPolicy.DESTROY,
|
removalPolicy: RemovalPolicy.DESTROY,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
new CfnOutput(this, 'URL', {
|
||||||
|
value: `http://${this.alb.loadBalancerDnsName}`,
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue