

# App Runner 서비스 생성
<a name="creating-service-apprunner"></a>

**App Runner 서비스 생성** 대화 상자를 사용하여 AWS Toolkit for JetBrains에서 App Runner 서비스를 생성할 수 있습니다. App Runner 서비스의 인터페이스를 사용하여 소스 리포지토리를 선택하고 애플리케이션이 실행되는 서비스 인스턴스를 구성할 수 있습니다.

App Runner 서비스를 생성하기 전에 [사전 조건](using-apprunner.md#apprunner-prereqs)을 모두 완료했는지 확인합니다. 여기에는 관련 IAM 권한을 제공하고 배포하려는 소스 리포지토리에 대한 특정 정보를 기록하는 작업이 포함됩니다.<a name="create-service"></a>

# App Runner 서비스 생성
<a name="create-service"></a>

1. AWS Explorer가 열려 있지 않은 경우 이를 엽니다.

1. **App Runner** 노드를 마우스 오른쪽 버튼으로 클릭하고 **서비스 생성(Create Service)**을 선택합니다.

   **App Runner 서비스 생성** 대화 상자가 표시됩니다.

1. 고유한 **서비스 이름**을 입력합니다.

1. 소스 유형(**ECR**, **ECR 퍼블릭** 또는 **소스 코드 리포지토리**)을 선택하고 관련 설정을 구성합니다.

------
#### [ ECR/ECR public ]

   프라이빗 레지스트리를 사용하는 경우 **배포 유형**을 선택합니다.
   + **수동**: 서비스에 대한 각 배포를 명시적으로 시작하려면 수동 배포를 사용합니다.
   + **자동**: 서비스에 대한 지속적 통합 및 배포(CI/CD) 동작을 구현하려면 자동 배포를 사용합니다. 이 옵션을 선택하면 이미지 리포지토리로 새 이미지 버전을 푸시하거나 코드 리포지토리로 새 커밋을 푸시할 때마다 App Runner가 이를 자동으로 서비스에 배포합니다. 이때 사용자의 추가 작업이 필요하지 않습니다.

   **컨테이너 이미지 URI**에 Amazon ECR 프라이빗 레지스트리 또는 Amazon ECR 퍼블릭 갤러리에서 복사한 이미지 리포지토리의 URI를 입력합니다.

   **시작 명령**에 서비스 프로세스를 시작하는 명령을 입력합니다.

   **포트**에 서비스에서 사용하는 IP 포트를 입력합니다.

   Amazon ECR 프라이빗 레지스트리를 사용하는 경우 필요한 **ECR 액세스 역할**을 선택하고 **생성**을 선택합니다.
   + **IAM 역할 생성** 대화 상자에는 IAM 역할에 대한 **이름**, **관리형 정책** 및 **신뢰 관계**가 표시됩니다. **생성**을 선택합니다.

------
#### [ Source code repository ]

   **배포 유형**을 선택합니다.
   + **수동**: 서비스에 대한 각 배포를 명시적으로 시작하려면 수동 배포를 사용합니다.
   + **자동**: 서비스에 대한 지속적 통합 및 배포(CI/CD) 동작을 구현하려면 자동 배포를 사용합니다. 이 옵션을 선택하면 이미지 리포지토리로 새 이미지 버전을 푸시하거나 코드 리포지토리로 새 커밋을 푸시할 때마다 App Runner가 이를 자동으로 서비스에 배포합니다. 이때 사용자의 추가 작업이 필요하지 않습니다.

   **연결**에서 **GitHub 연결** 페이지의 목록에서 사용 가능한 연결을 선택합니다.

   **리포지토리 URL**에 GitHub에서 호스팅되는 원격 리포지토리에 대한 링크를 입력합니다.

   **분기**에서 배포할 소스 코드의 Git 분기를 지정합니다.

   **구성**에서 런타임 구성을 지정하는 방식을 지정합니다.
   + **여기에서 모든 설정 구성**: 애플리케이션의 런타임 환경에 대해 다음 설정을 지정하려면 이 옵션을 선택합니다.
     + **런타임(Runtime)**: **Python 3** 또는 **Nodejs 12**를 선택합니다.
     + **포트**: 서비스에서 사용하는 IP 포트를 입력합니다.
     + **빌드 명령(Build command)**: 서비스 인스턴스의 런타임 환경에서 애플리케이션을 빌드하는 명령을 입력합니다.
     + **시작 명령(Start command)**: 서비스 인스턴스의 런타임 환경에서 애플리케이션을 시작하는 명령을 입력합니다.
   + **여기에 구성 파일 설정 제공**: `apprunner.yaml` 구성 파일에 정의된 설정을 사용하려면 이 옵션을 선택합니다. 이 파일은 애플리케이션 리포지토리의 루트 디렉터리에 있습니다.

------

1. 값을 지정하여 App Runner 서비스 인스턴스의 런타임 구성을 정의합니다.
   + **CPU**: App Runner 서비스의 각 인스턴스용으로 예약된 CPU 단위 수입니다(기본값: `1 vCPU`).
   + **메모리**: App Runner 서비스의 각 인스턴스용으로 예약된 메모리 양입니다(기본값: `2 GB`).
   + **환경 변수**: 서비스 인스턴스의 동작을 사용자 지정하는 데 사용하는 선택적 환경 변수입니다. 키와 값을 정의하여 환경 변수를 생성합니다.

1. **생성** 선택

   서비스가 생성되면 상태가 **작업 진행 중**에서 **실행 중**으로 바뀝니다.

1. 서비스 실행을 시작한 후 서비스를 마우스 오른쪽 버튼으로 클릭하고 **서비스 URL 복사(Copy Service URL)**를 선택합니다.

1. 배포된 애플리케이션에 액세스하려면 복사한 URL을 웹 브라우저의 주소 표시줄에 붙여넣습니다.