다음을 통해 공유


Azure Container Apps에 데이터 API 작성기 배포

배포 가이드 시퀀스의 현재 위치('게시')를 다이어그램으로 표시합니다.

개요, 계획, 준비, 게시, 모니터 및 최적화 순서로 이러한 위치를 포함하는 배포 가이드의 시퀀스 다이어그램 '게시' 위치가 현재 강조 표시되어 있습니다.

필수 조건

구성 파일 빌드

시작하려면 DAB(Data API Builder) 구성 파일을 빌드하여 기존 데이터베이스에 연결합니다. 이 파일은 나중에 최종 컨테이너와 함께 사용됩니다.

  1. 로컬 컴퓨터에 빈 디렉터리를 만들어 구성 파일을 저장합니다.

  2. 를 사용하여 dab init새 기본 구성 파일을 초기화합니다. 초기화 시 최소한 다음 설정을 사용합니다.

    설정 가치
    데이터베이스 유형 지원되는 데이터베이스 유형을 선택합니다.
    연결 문자열 함수를 @env() 사용하여 환경 변수를 참조합니다 DATABASE_CONNECTION_STRING .
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    중요합니다

    일부 데이터베이스 유형은 초기화 시 추가 구성 설정이 필요합니다.

  3. 구성에 하나 이상의 데이터베이스 엔터티를 추가합니다. 명령을 dab add 사용하여 엔터티를 구성합니다. 익명 사용자에 대한 모든 권한을 허용하도록 각 엔터티를 구성합니다. 엔터티에 대해 원하는 횟수만큼 반복 dab add 합니다.

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. dab-config.json 파일의 내용을 열고 검토합니다. 이 파일은 이 가이드의 뒷부분에서 사용합니다.

Azure Files의 호스트 구성

다음으로, 구성 파일을 Azure Files 내에서 만든 파일 공유에 업로드합니다. 이 파일 공유는 결국 볼륨으로 최종 컨테이너에 탑재됩니다.

  1. Azure Portal(https://portal.azure.com)에 로그인합니다.

  2. 새 리소스 그룹을 만듭니다. 이 가이드의 모든 새 리소스에 대해 이 리소스 그룹을 사용합니다.

    Azure Portal의 '리소스 그룹 만들기' 페이지의 '기본 사항' 탭 스크린샷

    팁 (조언)

    리소스 그룹 msdocs-dab-aca의 이름을 지정하는 것이 좋습니다. 이 가이드의 모든 스크린샷은 이 이름을 사용합니다.

  3. Azure Storage 계정을 만듭니다. 이러한 설정을 사용하여 계정을 구성합니다.

    설정 가치
    리소스 그룹 이전에 만든 리소스 그룹을 선택합니다.
    스토리지 계정 이름 전역적으로 고유한 이름 입력
    지역 Azure 지역 선택
    성능 표준 선택
    중복 LRS(로컬 중복 스토리지)를 선택합니다.
    스토리지 계정 키 액세스 사용 활성화 선택

    Azure Portal의 '스토리지 계정 만들기' 페이지의 '고급' 탭 스크린샷

  4. Azure Portal에서 새 스토리지 계정으로 이동합니다.

  5. 리소스 메뉴의 데이터 스토리지 섹션에서 파일 공유를 선택합니다. 그런 다음, 명령 모음에서 파일 공유 를 선택하여 스토리지 계정에 새 공유를 만듭니다. 다음 설정을 사용하여 새 파일 공유를 구성합니다.

    설정 가치
    이름 config 입력
    액세스 계층 뜨거운 선택
    백업 사용 선택 안 함

    Azure Portal의 **파일 공유** 리소스 메뉴 및 명령 모음 옵션 스크린샷

  6. dab-config.json 및 기타 필요한 파일을 공유에 업로드합니다. 명령 모음의 업로드 옵션을 사용하여 파일 업로드 대화 상자를 엽니다. 두 파일을 모두 선택한 다음 업로드를 선택합니다.

    Azure Portal의 **파일 업로드** 대화 상자 스크린샷

  7. 리소스 메뉴의 보안 + 네트워킹 섹션에서 액세스 키를 선택합니다. 그런 다음, 이 페이지에서 Storage 계정 이름 값을 기록합니다. 이 가이드의 뒷부분에서 이러한 값을 사용합니다.

    Azure Portal의 스토리지 계정 내 '액세스 키' 페이지 스크린샷.

기본 컨테이너 앱 만들기

이제 Azure Container Apps를 사용하여 Azure에서 컨테이너를 만듭니다. 이 컨테이너는 구성 없이 데이터 API 작성기 이미지를 호스팅합니다.

  1. Azure Container Apps 리소스를 만듭니다. 앱 리소스를 만드는 프로세스의 일부로 환경을 만들어야 합니다. 이러한 설정을 사용하여 두 리소스를 모두 구성합니다.

    리소스 설정 가치
    환경 환경 이름 전역적으로 고유한 이름 입력
    환경 환경 유형 소비만 선택하기
    환경 로그 대상 로그 저장 안 함 선택
    리소스 그룹 이전에 만든 리소스 그룹을 선택합니다.
    스토리지 계정 이름 전역적으로 고유한 이름 입력
    지역 스토리지 계정과 동일한 지역 선택
    빠른 시작 이미지 사용 선택 안 함
    이미지 원본 Docker Hub 또는 기타 레지스트리를 선택합니다.
    이미지 유형 Public을 선택합니다.
    레지스트리 로그인 서버 mcr.microsoft.com 입력
    이미지 및 태그 azure-databases/data-api-builder:latest 입력
    환경 변수 - 이름 DATABASE_CONNECTION_STRING 입력
    환경 변수 - 값 데이터베이스에 대한 연결 문자열을 입력합니다.
    Ingress 활성화가 선택되어 있는지 확인
    수신 트래픽 어디서나 트래픽 허용 선택
    클라이언트 인증서 모드 무시 선택
    진입 유형 HTTP 선택
    대상 포트 5000 입력

    Azure Portal의 '컨테이너 앱 만들기' 페이지의 '컨테이너' 탭 스크린샷

    Azure Portal의 '컨테이너 앱 환경 만들기' 페이지의 '기본 사항' 탭 스크린샷

    팁 (조언)

    권한 부여 키를 포함하지 않는 연결 문자열을 사용하는 것이 좋습니다. 대신 관리 ID 및 역할 기반 액세스 제어를 사용하여 데이터베이스와 호스트 간의 액세스를 관리합니다. 자세한 내용은 관리 ID를 사용하는 Azure 서비스를 참조하세요.

  2. Azure Portal에서 새 컨테이너 앱으로 이동합니다.

  3. Essentials 섹션의 애플리케이션 URL 필드를 사용하여 컨테이너 앱의 웹 사이트를 찾습니다. DAB 컨테이너가 실행 중이며 상태가 정상임을 나타내는 응답을 관찰 합니다.

    {
        "status": "healthy",
        "version": "1.1.7",
        "app-name": "dab_oss_1.1.7"
    }
    

    비고

    버전 번호와 이름은 현재 버전의 Data API Builder에 따라 달라집니다. 이 시점에서는 API 엔드포인트로 이동할 수 없습니다. DAB 구성 파일을 탑재하면 이러한 엔드포인트를 사용할 수 있습니다.

구성 파일 탑재

마지막으로 Azure Files 공유의 구성 파일을 컨테이너 앱에 탑재합니다. 이 단계를 통해 Data API 작성기에서 구성 파일을 사용하여 데이터베이스에 연결할 수 있습니다.

  1. Azure Portal을 사용하여 이 가이드에서 이전에 만든 컨테이너 환경으로 이동합니다.

  2. 리소스 메뉴의 설정 섹션에서 Azure 파일을 선택합니다. 그런 다음, 명령 모음에서 추가 를 선택하여 컨테이너 환경에 기존 파일 공유를 추가합니다. 다음 설정을 사용하여 새 파일 공유를 구성합니다. 그런 다음 새 파일 공유 구성을 저장 합니다.

    설정 가치
    이름 config-share 입력
    스토리지 계정 이름 이 가이드의 앞부분에 기록된 스토리지 계정의 이름입니다.
    저장소 계정 키 이 가이드의 앞부분에서 기록된 스토리지 계정의 키입니다.
    파일 공유 config 입력
    액세스 모드 읽기 전용 선택

    Azure Portal 내의 리소스 메뉴에 있는 'Azure Files' 옵션의 스크린샷

  3. Azure Portal에서 컨테이너 앱으로 다시 이동합니다.

  4. 리소스 메뉴의 애플리케이션 섹션에서 수정 버전 및 복제본을 선택합니다. 그런 다음 명령 모음에서 새 수정 버전 만들기를 선택하여 컨테이너 앱에 대한 새 수정 버전을 구성하는 프로세스를 시작합니다.

  5. 볼륨 섹션으로 이동하고 추가 옵션을 선택합니다. 다음 설정을 사용하여 새 볼륨을 구성합니다. 볼륨을 구성한 후 컨테이너 수정 버전에 볼륨을 추가합니다.

    설정 가치
    볼륨 유형 Azure 파일 볼륨 선택
    이름 config-volume 입력
    파일 공유 config 입력

    Azure Portal의 '새 볼륨 만들기' 섹션 스크린샷

  6. 컨테이너 섹션으로 이동하여 단일 현재 컨테이너를 선택한 다음 편집 옵션을 선택합니다. 다음 설정을 사용하여 컨테이너에 대해 두 개의 탑재를 구성합니다. 변경 내용을 저장합니다.

    설정 가치
    볼륨 이름 config-volume 입력
    탑재 경로 /App/dab-config.json 입력
    하위 경로 dab-config.json 입력
    설정 가치
    볼륨 이름 config-volume 입력
    탑재 경로 /App/schema.graphql 입력
    하위 경로 schema.graphql 입력

    Azure Portal의 '볼륨 탑재 추가' 섹션 스크린샷

  7. 만들기를 선택하여 지정한 볼륨 탑재를 사용하여 새 수정 버전을 만듭니다. 수정이 배포 완료될 때까지 기다립니다.

  8. Essentials 섹션의 애플리케이션 URL 필드를 사용하여 컨테이너 앱의 웹 사이트를 다시 찾습니다. 응답이 여전히 DAB 컨테이너가 정상임을 나타냅니다.

  9. 현재 실행 중인 애플리케이션의 /api/swagger 경로로 이동합니다. Swagger UI를 사용하여 엔터티 중 하나에 대한 HTTP GET 요청을 실행합니다.

리소스 정리

샘플 애플리케이션 또는 리소스가 더 이상 필요하지 않은 경우 해당 배포 및 모든 리소스를 제거합니다.

  1. Azure Portal을 사용하여 리소스 그룹으로 이동합니다.

  2. 명령 모음에서 삭제를 선택합니다.

다음 단계