본문으로 건너뛰기
버전: docs v25.02

Configure Infrastructure

Updated 2024.05.17

AI Solution을 구축하고 운영하는 과정에서는 해당 Solution을 호스팅 및 실행할 infra 환경에 대한 설정이 필수적입니다. ALO main.py와 같은 경로에 있는 setting 폴더 내의 infra_setup.yaml 파일은 그러한 infra 설정 목적으로 사용되며, 이 파일을 통해 AI Solution 손쉽게 등록하고 관리할 수 있도록 필요한 infra 정보를 정의할 수 있습니다.
infra_setup.yaml 파일에 설정하는 정보들은 솔루션을 AI Conductor 플랫폼에 등록할 때 활용되며, AI 솔루션 개발자 또는 사용자는 해당 파일에 AI Conductor의 웹 서버 주소, AWS 클라우드 지역 (Region), 작업 공간 (Workspace) 이름, Docker 이미지 빌드 방법 등 중요한 인프라 관련 정보를 명시함으로써, 개발 혹은 운영 중인 AI Solution을 효과적으로 배포하고 실행할 수 있습니다.

Topics



인프라 설정 파일 구성  

{solution_name}/setting/infra_config.yaml 에 AI Solution을 등록할 infra의 정보를 작성합니다.

  • AIC_URL: AI Conductor의 web server 주소
  • REGION: AWS Cloud 의 region
  • WORKSPACE_NAME: AI Conductor로부터 할당 받은 Workspace
  • BUILD_METHOD: 개발 환경에 따라 docker, buildah, codebuild 중 하나를 선택합니다.(AWS codebuild는 cloud infra를 통해 docker build를 수행합니다.)
  • LOGIN_MODE: AI Conductor 로그인 방식. 그외 ldap 인증 방식으로 로그인 가능하며, static 모드도 있습니다.
  • REPOSITORY_TAGS: ECR repository 를 생성 시, 입력 할 Tags 값. 과금를 위한 표시 정보
  • AWS_KEY_PROFILE: S3, ECR 에 접근할 때, access & secret key 를 지정한 aws configure profile 의 명칭 입니다.
  • CODEBUILD_ENV_TYPE: BUILD_METHOD=codebuild 일 시 AWS Codebuild에서 사용할 빌드 환경 타입
  • CODEBUILD_ENV_COMPUTE_TYPE: BUILD_METHOD=codebuild 일 시 AWS Codebuild에서 컨테이너가 빌드되는 환경의 compute 타입   SA(Service Account) 방식이 아닌, aws key를 발급 받아서 사용하는 사용자는 aws key를 터미널에서 아래와 같은 형태로 aws configure 설정을 하고, 해당 profile name인 alo-aws-profile을 infra_config.yaml의 AWS_KEY_PROFILE에 작성합니다.
aws configure --profile alo-aws-profile
AWS Access Key ID : {access key 작성}
AWS Secret Access Key : {secret key 작성}
Default region name : ap-northeast-2
Default output format :

Note: {solution_name}/setting/example_infra_config 에 샘플이 있으므로 참고할 수 있습니다. 아래는 setting/infra_config.yaml 예시 입니다.

'AIC_URI': "https://aicond.meerkat-ai.com/"
"REGION": "ap-northeast-2"
"WORKSPACE_NAME": "meerkat-ws" ## 현재 생성되어있는 workspace
"BUILD_METHOD": "codebuild"
"LOGIN_MODE": "static"
"REPOSITORY_TAGS":
- "Key=Owner,Value=Mellerikat"
"AWS_KEY_PROFILE": "alo-aws-profile"
## 'type': 'WINDOWS_CONTAINER'|'LINUX_CONTAINER'|'LINUX_GPU_CONTAINER'|'ARM_CONTAINER'|'WINDOWS_SERVER_2019_CONTAINER'|'LINUX_LAMBDA_CONTAINER'|'ARM_LAMBDA_CONTAINER',
"CODEBUILD_ENV_TYPE": "LINUX_CONTAINER"
## 'computeType': 'BUILD_GENERAL1_SMALL'|'BUILD_GENERAL1_MEDIUM'|'BUILD_GENERAL1_LARGE'|'BUILD_GENERAL1_XLARGE'|'BUILD_GENERAL1_2XLARGE'|'BUILD_LAMBDA_1GB'|'BUILD_LAMBDA_2GB'|'BUILD_LAMBDA_4GB'|'BUILD_LAMBDA_8GB'|'BUILD_LAMBDA_10GB',
"CODEBUILD_ENV_COMPUTE_TYPE": "BUILD_GENERAL1_SMALL"

아래는 REPOSITORY_TAGS의 예시입니다.

"REPOSITORY_TAGS":
- "Key=Company,Value=LGE"
- "Key=Owner,Value=IC360"
- "Key=HQ,Value=CDO"
- "Key=Division,Value=CDO"
- "Key=Infra Region,Value=KIC"
- "Key=Service Mode,Value=OP"
- "Key=Cost Type,Value=COMPUTING"
- "Key=Project,Value=CIS"
- "Key=Sub Project,Value=CISM"
- "Key=System,Value=AIDX"