AI Conductor Terminology
| 변수명 | 변수 정의 | 변수 값 |
|---|---|---|
| AWS_ACCOUNT_ID | AWS 계정의 식별자(12자리 숫자) | |
| AWS_ACCESS_KEY_ID | 관리자 권한이 있는 AWS 계정의 ACESS KEY ID | |
| AWS_SECRET_ACCESS_KEY | 관리자 권한이 있는 AWS 계정의 SECRET ACESS KEY | |
| AWS_DEFAULT_REGION | AWS 설치 지역 | e.g. ap-northeast-2 (Seoul) |
| AWS_DEFAULT_REGION_ALIAS | AWS 설치 지역 약자 | e.g. an2 (Seoul) |
| AWS_OUTPUT_FORMAT | AWS 계정 출력 선택 | json |
| DOCKER_NAME | AWS Infra 설치를 위한 Docker Container 이름 | - |
| DOMAIN_NAME | mellerikat 서비스를 위한 도메인 이름 | - |
| INFRA_NAME | AWS Infra 이름 | - |
| DEPLOY_ENV | mellerikat 개발(dev)/운영(prod) 선택 | dev 또는 prod 중 선택 |
| AWS_CLUSTER_VERSION | AWS EKS 버전 | e.g. : 1.28 |
| AWS_CLUSTER_VERSION_NUM | AWS EKS 버전 숫자 | `echo ${AWS_CLUSTER_VERSION} | tr -d '.'` 예시 : 128 |
| AWS_CLUSTER_VERSION_STR | AWS EKS 버전 문자열 | `echo ${AWS_CLUSTER_VERSION} | tr '.' '-'` 예시 : 1-28 |
| AWS_CLUSTER_NAME | AWS EKS 이름 | eks-an2-{INFRA_NAME}-{DEPLOY_ENV}-{AWS_CLUSTER_VERSION_STR}-eks-master |
| AWS_VPC_NAME | AWS VPC 이름 | eksctl-eks-{AWS_DEFAULT_REGION_ALAIS}-{CLUSTER_NAME}-{DEPLOY_ENV}- {AWS_CLUSTER_VERSION_STR}-eks-master-cluster/VPC |
| KUBEFLOW_USER_NAME | kubeflow 설치 및 운영를 위한 Kubeflow 계정 이름 | user-kubeflow-an2-{INFRA_NAME}-{DEPLOY_ENV} |
| KUBEFLOW_USER_POLICY_NAME | Kubeflow 계정 정책 이름 | policy-an2-{INFRA_NAME}-{DEPLOY_ENV}-s3-rwd |
| KUBEFLOW_USER_AWS_ACCESS_KEY_ID | kubeflow에서 이용할 목적으로 생성한 user의 ACCESS KEY ID | - |
| KUBEFLOW_USER_AWS_SECRET_ACCESS_KEY | kubeflow에서 이용할 목적으로 생성한 user의 SECRET ACCESS KEY | - |
| EBS_CSI_SA_ROLE_NAME | Amazon EBS CSI driver | role-ebs-csidriver-{CLUSTER_NAME} |
| EBS_CSI_SA_ROLE_ARN | Amazon EBS CSI driver가 설치된 ARN | arn:aws:iam::{AWS_ACCOUNT_ID}:role/{EBS_CSI_SA_ROLE_NAME} |
| EFS_CSI_SA_ROLE_NAME | Amazon EFS CSI driver | role-efs-csidriver-{CLUSTER_NAME} |
| EFS_CSI_SA_ROLE_ARN | Amazon EFS CSI driver가 설치된 ARN | arn:aws:iam::{AWS_ACCOUNT_ID}:role/{EFS_CSI_SA_ROLE_NAME} |
| DB_HOST | 생성된 DB의 Endpoint | - |
| DB_PORT | 생성된 DB의 Port | 3310 |
| DB_ADMIN_USERNAME | 생성된 DB의 admin 계정 | admin |
| DB_ADMIN_PASSWORD | 생성된 DB의 admin 계정 비밀번호 | - |
| DB_APP_USERNAME | mellerikat 에서 사용하는 DB 계정 (대문자 사용) | `echo ${INFRA_NAME}_APP | tr [:lower:] [:upper:]` |
| DB_APP_PASSWORD | mellerikat 에서 사용하는 DB 계정 비밀번호 | - |
| REDIS_HOST | Redis Primary Endpoint | - |
| REDIS_PORT | Redis Port | 6379 |
| AWS_SECRETS_MANAGER_S3 | AWS Secrets Manager S3 이름 | /parameter/{AWS_DEFAULT_REGION}/{INFRA_NAME}/{DEPLOY_ENV}/s3 |
| AWS_SECRETS_MANAGER_RDS | AWS Secrets Manager RDS 이름 | /parameter/{AWS_DEFAULT_REGION}/{INFRA_NAME}/{DEPLOY_ENV}/rds |
| KUBEFLOW_VERSION | Kubeflow Version | e.g. : 1.8 |
| KUBEFLOW_RELEASE_VERSION | Kubeflow Release Version | e.g. : v1.8-branch |
| KUBEFLOW_VERSION_NUM | Kubeflow Version 숫자 | ` echo ${AWS_CLUSTER_VERSION} | tr -d '.' `e.g. : 18 |
| KUBEFLOW_INSTALL_VERSION | Kubeflow install version based on EKS | kf{ KUBEFLOW_VERSION_NUM }-eks{AWS_CLUSTER_VERSION_NUM} e.g. : kf18-eks128 |
| KUBEFLOW_KATIB_IMAGE | Kubeflow katib image URI | {AWS_ACCOUNT_ID}.dkr.ecr.{AWS_DEFAULT_REGION}.amazonaws.com/ ecr-repo-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}/kubeflowkatib/katib-db-manager |
| KUBEFLOW_OIDC_IMAGE | Kubeflow OIDC image URI | {AWS_ACCOUNT_ID}.dkr.ecr.{AWS_DEFAULT_REGION}.amazonaws.com/ ecr-repo-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}/oidc-authservice |
| KUBEFLOW_API_SERVER_IMAGE | Kubeflow API Server image URI | {AWS_ACCOUNT_ID}.dkr.ecr.{AWS_DEFAULT_REGION}.amazonaws.com/ ecr-repo-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}/ml-pipeline/api-server |
| KUBEFLOW_CACHE_SERVER_IMAGE | Kubeflow Cache Server image URI | {AWS_ACCOUNT_ID}.dkr.ecr.{AWS_DEFAULT_REGION}.amazonaws.com/ ecr-repo-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}/ml-pipeline/cache-server |
| KUBEFLOW_MANIFEST_GIT_URL | Kubeflow 설치 Manifest git URL | https://github.com/mellerikat/kubeflow-on-aws-manifests.git |
| PROJECT_NAME | 프로젝트 이름 | - |
| WORKSPACE_NAME | 프로젝트 작업 공간 이름 | {PROJECT_NAME}-ws |
| WORKSPACE_ID | 생성된 Workspace 의 ID | uuid format |
| PROJECT_DASHBOARD_HASH | Monitoring Dashboard 에서 Workspace 구분 값 | Monitoring Dashboard 추가 참고 e.g. : adz19cb14fkzka |
| PROJECT_KUBEFLOW_NAMESPACE_NAME | Workspace와 매칭되는 Kubeflow Namespace 이름 | aic-ns-{WORKSPACE_NAME} |
| PROJECT_KUBEFLOW_USER_NAME | Workspace와 매칭되는 Kubeflow Namespace 접속 계정 | aic-user-{WORKSPACE_NAME} |
| PROJECT_KUBEFLOW_USER_UNIQUE_ID | Kubeflow Namespace 접속 계정의 Unique Number | $(echo date +"%Y%m%d%H%M%S") |
| PROJECT_KUBEFLOW_USER_PASSWD | Workspace와 매칭되는 Kubeflow Namespace 접속 비밀번호 | bcrypt-generator에서 aic@com 으로 hash 생성 특수문자 인식을 위해 {PROJECT_KUBEFLOW_USER_PASSWD}='' 사용 |
| PROJECT_S3_BUCKET_NAME | Project에서 사용할 S3 Bucket 이름 | s3-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}-{PROJECT_NAME} |
| PROJECT_NODEGROUP_SPEC | 사용자의 편의를 위해 Model 학습에 필요한 Nodegroup을 6개로 제한 - low, standard, high 는 CPU/MEM 의 EC2 스펙을 포함한 Nodegroup 입니다. - low-gpu, standard-gpu, high-gpu 는 CPU/MEM/GPU 의 EC2 스펙을 포함한 Nodegroup 입니다. | low, standard, high low-gpu, standard-gpu, high-gpu |
| PROJECT_NODEGROUP_LABEL | Nodegroup Label | {PROJECT_NAME}-ws-{PROJECT_NODEGROUP_SPEC} |
| PROJECT_NODEGROUP_NAME | Project에서 사용할 Nodegroup 이름 | ng-{AWS_DEFAULT_REGION_ALIAS}-aicond-{PROJECT_NAME}-ws-{PROJECT_NODEGROUP_SPEC} |
| PROJECT_NODEGROUP_DESIRED_SIZE | Nodegroup desired size | Nodegroup desired size >= 0 |
| PROJECT_NODEGROUP_MIN | Nodegroup min size | 0 |
| PROJECT_NODEGROUP_MAX | Nodegroup max size | > PROJECT_NODEGROUP_MIN && > PROJECT_NODEGROUP_DESIRED_SIZE |
| PROJECT_NODEGROUP_EC2_NAME | Nodegroup EC2 Instance Size | e.g. m5.large |
| PROJECT_NODEGROUP_EC2_VCPU | Nodegroup EC2 Instance Size vCPU | - |
| PROJECT_NODEGROUP_EC2_MEM | Nodegroup EC2 Instance Size Memory(GiB) | - |
| PROJECT_NODEGROUP_EC2_GPU | Nodegroup EC2 Instance Size GPUs | - |
| AIC_RELEASE_VERSION | AI Conductor 배포 버전 | e.g. 1.9.1 |
| AIC_FRONTEND_URL | AI Conductor Frontend URL | aicond-{DOMAIN_NAME} |
| AIC_BACKEND_URL | AI Conductor Backend URL | aicond-{DOMAIN_NAME}/api/v1/docs |
| AIC_KUBEFLOW_URL | AI Conductor Kubeflow URL | aicond-kf-{DOMAIN_NAME} |
| AIC_BACKEND_IMAGE_URL | AI Conductor Backend Image URL | {AWS_ACCOUNT_ID}.dkr.ecr.{AWS_DEFAULT_REGION}.amazonaws.com/ ecr-repo-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}/ai-advisor/ai-conductor/aic-webserver |
| AIC_BACKEND_IMAGE_TAG | AI Conductor Backend Image TAG | - |
| AIC_FRONTEND_IMAGE_URL | AI Conductor Backend Image URL | {AWS_ACCOUNT_ID}.dkr.ecr.{AWS_DEFAULT_REGION}.amazonaws.com/ ecr-repo-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}/ai-advisor/ai-conductor/aic-frontend |
| AIC_FRONTEND_IMAGE_TAG | AI Conductor Frontend Image TAG | - |
| AIC_ADMIN_USER | AI Conductor 의 관리자 계정 또는 ADMIN 권한 계정 이름 | admin, ... |
| AIC_ADMIN_PASSWD | AI Conductor 의 관리자 계정 또는 ADMIN 권한 계정 비밀번호 | - |
| AIC_ADMIN_PASSWD_ENCRYPT | AI Conductor 의 관리자 계정 또는 ADMIN 권한 계정 비밀번호 Encrypt | {AIC_ADMIN_PASSWD} 의 Encrypt 특수문자 인식을 위해 {AIC_ADMIN_PASSWD_ENCRYPT}='' 사용 |
| AIC_ADMIN_COMPANY | AI Conductor 의 관리자 회사 | - |
| AIC_ADMIN_DEPARTMENT | AI Conductor 의 관리자 부서 | - |
| AIC_ECR_BASE_PATH | mellerikat 에서 공용 사용을 위한 ECR 기본 경로 | {AWS_ACCOUNT_ID}.dkr.ecr.{AWS_DEFAULT_REGION}.amazonaws.com/ ecr-repo-{AWS_DEFAULT_REGION_ALIAS}-{INFRA_NAME}-{DEPLOY_ENV}/ |
| AIC_ACCOUNT_NAME | AI Conductor 의 사용자 계정 ID | - |
| AIC_ACCOUNT_PASSWD | AI Conductor 의 사용자 계정 비밀번호 | - |
| AIC_ACCOUNT_TYPE | AI Conductor의 사용자 계정 구분 | ADMIN or DEVELOPER |
| AIC_ACCOUNT_ROLE | AI Conductor의 사용자 계정 역할 | ADMIN or MANAGER or MEMBER |
| AIC_MLOPS_ENGINE | MLOps 엔진 구분 | kubeflow or sagemaker |
| DASHBOARD_PREFIX | 모니터링 도구의 URL | aicond-mon.{DOMAIN_NAME}.com/d/ |