Amazon Linux 2023에 Generative AI를 설치해보기
요약
본 글은 Amazon Linux 2023 환경에 AWS Bedrock을 활용하여 Generative AI Use Cases (GenU)를 구축하고 배포하는 과정을 상세히 안내합니다. EC2 인스턴스를 작업 환경으로 설정하고, 필요한 개발 도구(Git, Node.js, aws-cdk 등)를 설치한 후, 공식 GitHub 리포지토리를 클론하여 실제 구동 절차와 발생 가능한 문제점들을 정리했습니다.
핵심 포인트
- Amazon Linux 2023 기반의 EC2 환경 구축 및 설정 방법 안내
- AWS Bedrock을 통해 Claude Sonnet 4.5 등 다양한 모델 사용 가능
- 개발에 필요한 Git, Node.js, aws-cdk 등의 설치 과정 상세 설명
- 실제 운영 시에는 최소 권한 원칙을 준수하여 IAM 역할 제한 필요
AI 학습을 위해 AWS의 샘플 애플리케이션인 "Generative AI Use Cases (이하 GenU)"를 설치해 보았습니다.
비슷한 글들이 많이 있을 것이라 생각되니, 그쪽도 참고해 주시기 바랍니다.
본문에서는 실제로 배포하여 화면에 연결하기까지의 절차와 막혔던 점들을 정리했습니다.
※ Udemy나 참고 기사들은 모델 등의 정보가 오래되었으므로 재확인이 필수입니다.
기재된 내용은 2026년 10월 4일 시점 기준입니다.
EC2를 배포 작업용 환경으로 사용하여 GenU 리소스를 구축합니다.
| 항목 | 설정 |
|---|---|
| 작업용 OS | Amazon Linux 2023 |
| EC2 인스턴스 타입 | t3.medium |
| Bedrock 호출지 | 오리건: us-west-2 |
| 언어 모델 | Claude Sonnet 4.5 |
| 이미지 생성 모델 | Stable Image Core |
| 비디오 생성/음성 대화 모델 | 이번에는 설정에서 제외 |
AWS 관리 콘솔에서 리전을 **미국 서부(오리건): us-west-2**로 전환합니다.
Bedrock의 모델 카탈로그에서 다음 모델들을 선택합니다.
| 용도 | 모델 ID |
|---|---|
| 언어 모델 | us.anthropic.claude-sonnet-4-5-20250929-v1:0 |
| 이미지 생성 모델 | stability.stable-image-core-v1:1 |
플레이그라운드를 열고 실제로 텍스트나 이미지를 생성할 수 있는지 확인합니다.
현재 Bedrock에서는 필요한 권한이 있다면 모델 접근은 원칙적으로 자동으로 활성화됩니다. 다만, Anthropic 모델은 최초에 용도 신고가 필요합니다. AWS Marketplace의 권한이나 결제 설정도 확인해 주세요.
자세한 내용은 AWS 공식 모델 접근 절차를 참조해 주십시오.
참고로, Claude의 us.가 붙은 모델 ID는 미국 내 크로스 리전 추론용입니다. 오리건에서 호출하더라도 추론이 항상 오리건 내에서 처리되는 것은 아닙니다.
작업용 EC2를 다음 조건으로 시작합니다.
-
리전은 임의 (저는 도쿄 리전(ap-northeast-1)을 사용)
-
AMI: Amazon Linux 2023
-
인스턴스 타입:
t3.medium -
네트워크: 인터넷 연결 가능
-
IAM 역할: AWS 관리 정책인
AdministratorAccess를 부여
이번에는 학습용으로 광범위한 권한을 사용했습니다. 실제 운영 환경에서는 필요한 권한으로 제한해 주십시오.
EC2 접속 방법은 Session Manager나 SSH 등 사용하는 환경에 맞춰 준비합니다.
※ 위 조건이라면 SSM으로 연결할 수 있을 것이므로, 그것이 가장 편리합니다.
여기부터는 EC2 상에서 작업을 진행합니다.
먼저 root 사용자로 전환합니다.
sudo su -
Git을 설치합니다.
dnf install -y git
Node.js 24를 설치합니다.
curl -fsSL https://rpm.nodesource.com/setup_24.x | bash -
dnf install -y nodejs
AWS CDK와 npm을 설치합니다.
npm install -g aws-cdk
npm install -g [email protected]
버전을 확인합니다.
node --version
npm --version
cdk --version
공식 리포지토리를 클론합니다.
git clone https://github.com/aws-samples/generative-ai-use-cases.git
cd generative-ai-use-cases
본문에서는 현재의 리포지토리 이름을 사용했습니다. 이전 URL로 가져와서 디렉토리 이름이 generative-ai-use-cases-jp인 경우에는 그곳으로 바꿔주십시오.
이번 작업 로그에서 GenU의 버전은 5.5.0이었습니다. 가져온 버전은 다음으로 확인할 수 있습니다.
node -p 'require(
의 `context`에 있는 설정을 사용합니다.
언어 모델과 이미지 생성 모델을 지정하고, 비디오 생성/음성 대화 모델 배열은 비워둡니다.
다음 명령어로 대상 항목을 직접 덮어씁니다. 변경 전 파일은 `packages/cdk/cdk.json.bak`에 저장됩니다.
sed -i.bak
-e 's/"modelRegion": "us-east-1"/"modelRegion": "us-west-2"/'
-e '/"modelIds": [/,/^[[:space:]]*]/,c\n...
이 명령어는 대상 항목이 이번에 가져온 것과 동일한 형식으로 기재되어 있다는 전제입니다. 초기값이나 줄바꿈 형식이 변경된 경우에는 조정해 주세요.
변경 내용을 확인합니다.
diff -u packages/cdk/cdk.json.bak packages/cdk/cdk.json
대상 부분이 다음과 같으면 OK입니다.
"modelRegion": "us-west-2",
"modelIds": [
"us.anthropic.claude-sonnet-4-5-20250929-v1:0"
...
`[]`와 `["" ]`는 다르니 주의해 주세요. 비울 때는 대괄호 안에 아무것도 넣지 않습니다.
또한, `modelRegion`은 Bedrock의 호출 대상입니다. GenU 본체의 배포지와는 별도의 설정이므로, 배포할 리전도 확인해 두겠습니다.
리포지토리의 최상위 디렉터리에서 종속 패키지를 설치합니다.
npm ci
CDK의 초기 준비를 실행합니다.
npx -w packages/cdk cdk bootstrap
다음으로, 배포합니다.
npm run cdk:deploy
도중에 리소스 생성 확인이 표시되면, 내용을 확인하고 진행합니다.
이번에는 `cdk.json`의 설정을 사용하기 때문에, `context`의 `env`는 공백 문자 그대로 두고, 명령어에 `-- -c env=dev`는 붙이지 않습니다.
정상적으로 종료되면, 연결 대상 URL이 표시됩니다. 출력 중에서 `WebUrl`을 찾아서 메모해 둡니다.
GenerativeAiUseCasesStack.WebUrl = https://xxxxxxxxxxxx.cloudfront.net
스택명은 환경 설정에 따라 바뀝니다.
출력된 CloudFront의 URL을 브라우저로 엽니다.
GenU의 로그인 화면이 표시되면, 배포와 연결 확인은 완료입니다! 수고하셨습니다.
로그인하여 이용할 경우에는, 자체 등록을 허용하는 구성이라면 화면에서 계정을 만듭니다. 자체 등록을 무효화한 경우에는, 관리자가 Cognito에서 사용자를 만듭니다.
본 기사에서는 기재하지 않으므로, 참고 기사를 봐주세요.
화면이 열리지 않는 경우는 다음을 확인해 주세요.
- 배포가 정상적으로 완료되었는지
- 연결 대상 URL이 올바른지
- 사내 네트워크나 프록시로 CloudFront 접근이 제한되지 않았는지
참고 기사에 기재된 모델을 그대로 사용할 수 없어, 모델 ID를 읽어낼 때 조금 어려웠습니다.
오래된 기사에서는 EOL(End-of-Life)이 된 모델이나 현재 제공 상황과 다른 정보가 포함되어 있을 수 있습니다. 모델 ID와 사용 가능한 리전은 AWS의 최신 정보를 확인하는 것이 좋을 것 같습니다.
2026년 10월 4일 시점의 이번 구성에서는, 오리건 리전(`us-west-2`)에서 다음과 같이 지정했습니다.
**언어 모델**
us.anthropic.claude-sonnet-4-5-20250929-v1:0
**이미지 생성 모델**
stability.stable-image-core-v1:1
모델 ID 확인을 위해 다음 공식 자료를 참조했습니다.
모델 지정에서 조금 막혔지만, 무사히 배포하여 GenU 화면에 연결할 수 있었습니다.
다음은 실제로 채팅이나 이미지 생성을 사용하면서 Bedrock이나 GenU의 구조를 배워가려고 합니다.
작업용 EC2가 필요 없게 되면 중지하거나 종료해 둡니다. GenU 본체 리소스는 계속 남아있기 때문에, 검증 종료 후에는 그 정리도 잊지 마세요.
(Cloudformation 스택 삭제, S3 삭제, EC2 삭제 등)
AI 자동 생성 콘텐츠
본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기