

AWS App Runner 는 2026년 4월 30일부터 신규 고객에게 더 이상 공개되지 않습니다. App Runner를 사용하려면 해당 날짜 이전에 가입하세요. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [AWS App Runner 가용성 변경](https://docs.aws.amazon.com/apprunner/latest/dg/apprunner-availability-change.html)을 참조하세요.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# App Runner 시작하기
<a name="getting-started"></a>

AWS App Runner 는 기존 컨테이너 이미지 또는 소스 코드를에서 실행 중인 웹 AWS 서비스로 직접 전환하는 빠르고 간단하며 비용 효율적인 방법을 제공하는 서비스입니다 AWS 클라우드.

이 자습서에서는 AWS App Runner 를 사용하여 App Runner 서비스에 애플리케이션을 배포하는 방법을 다룹니다. 소스 코드 및 배포, 서비스 빌드 및 서비스 런타임을 구성하는 방법을 안내합니다. 또한 코드 버전을 배포하고, 구성을 변경하고, 로그를 보는 방법도 보여줍니다. 마지막으로 자습서에서는 자습서의 절차에 따라 생성한 리소스를 정리하는 방법을 보여줍니다.

**Topics**
+ [사전 조건](#getting-started.prereq)
+ [1단계: App Runner 서비스 생성](#getting-started.create)
+ [2단계: 서비스 코드 변경](#getting-started.deploy)
+ [3단계: 구성 변경](#getting-started.config)
+ [4단계: 서비스에 대한 로그 보기](#getting-started.logs)
+ [5단계: 정리](#getting-started.cleanup)
+ [다음에 있는 것](#getting-started.next)

## 사전 조건
<a name="getting-started.prereq"></a>

자습서를 시작하기 전에 다음 작업을 수행해야 합니다.

1. 의 설정 단계를 완료합니다[App Runner 설정](setting-up.md).

1. 

   GitHub 리포지토리 또는 Bitbucket 리포지토리로 작업할지 여부를 결정합니다.
   + Bitbucket으로 작업하려면 Bitbucket 계정이 아직 없는 경우 먼저 [Bitbucket](https://bitbucket.org/) 계정을 생성합니다. Bitbucket을 처음 사용하는 경우 [Bitbucket 클라우드 설명서의 Bitbucket 시작하기](https://support.atlassian.com/bitbucket-cloud/docs/get-started-with-bitbucket-cloud/)를 참조하세요. ** 
   + GitHub로 작업하려면 아직 없는 경우 [GitHub](https://github.com/) 계정을 생성합니다. GitHub를 처음 사용하는 경우 [ GitHub 문서의 GitHub 시작하기](https://docs.github.com/en/github/getting-started-with-github)*를 참조하세요 GitHub*.
**참고**  
계정에서 여러 리포지토리 공급자에 대한 연결을 생성할 수 있습니다. 따라서 GitHub와 Bitbucket 리포지토리 모두에서 배포를 진행하려면이 절차를 반복할 수 있습니다. 다음에를 통해 새 App Runner 서비스를 생성하고 다른 리포지토리 공급자에 대한 새 계정 연결을 생성합니다.

1. 리포지토리 공급자 계정에 리포지토리를 생성합니다. 이 자습서에서는 리포지토리 이름을 사용합니다`python-hello`. 다음 예제에 지정된 이름과 콘텐츠를 사용하여 리포지토리의 루트 디렉터리에 파일을 생성합니다.

### `python-hello` 예제 리포지토리의 파일
<a name="getting-started.prereq.files"></a>

**Example requirements.txt**  

```
pyramid==2.0
```

**Example server.py**  

```
from wsgiref.simple_server import make_server
from pyramid.config import Configurator
from pyramid.response import Response
import os

def hello_world(request):
    name = os.environ.get('NAME')
    if name == None or len(name) == 0:
        name = "world"
    message = "Hello, " + name + "!\n"
    return Response(message)

if __name__ == '__main__':
    port = int(os.environ.get("PORT"))
    with Configurator() as config:
        config.add_route('hello', '/')
        config.add_view(hello_world, route_name='hello')
        app = config.make_wsgi_app()
    server = make_server('0.0.0.0', port, app)
    server.serve_forever()
```

## 1단계: App Runner 서비스 생성
<a name="getting-started.create"></a>

이 단계에서는 GitHub 또는 Bitbucket에서의 일부로 생성한 예제 소스 코드 리포지토리를 기반으로 App Runner 서비스를 생성합니다[사전 조건](#getting-started.prereq). 이 예제에는 간단한 Python 웹 사이트가 포함되어 있습니다. 다음은 서비스를 생성하기 위해 수행하는 주요 단계입니다.

1. 소스 코드를 구성합니다.

1. 소스 배포를 구성합니다.

1. 애플리케이션 빌드를 구성합니다.

1. 서비스를 구성합니다.

1. 검토 및 확인합니다.

다음 다이어그램은 App Runner 서비스를 생성하는 단계를 간략하게 설명합니다.

![\[App Runner 서비스 생성 워크플로 다이어그램\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-create-service-workflow.png)


**소스 코드 리포지토리를 기반으로 App Runner 서비스를 생성하려면**

1. 소스 코드를 구성합니다.

   1. [App Runner 콘솔](https://console.aws.amazon.com/apprunner)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

   1. 에 아직 App Runner 서비스가 AWS 계정 없는 경우 콘솔 홈 페이지가 표시됩니다. **App Runner 서비스 생성을** 선택합니다.  
![\[서비스 생성 버튼이 표시된 App Runner 콘솔 홈 페이지\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-home.png)

      에 기존 서비스가 AWS 계정 있는 경우 **서비스** 목록과 함께 서비스 페이지가 표시됩니다. **서비스 생성**을 선택합니다.  
![\[App Runner 콘솔 서비스 페이지\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-services.png)

   1. **소스 및 배포** 페이지의 **소스** 섹션의 **리포지토리 유형**에서 **소스 코드 리포지**토리를 선택합니다.

   1. **공급자 유형을** 선택합니다. **GitHub** 또는 **Bitbucket**을 선택합니다.

   1. 그런 다음 **새로 추가**를 선택합니다. 메시지가 표시되면 GitHub 또는 Bitbucket 자격 증명을 제공합니다.

   1. 이전에 선택한 **공급자 유형에** 따라 다음 단계 세트를 선택합니다.
**참고**  
GitHub용 AWS 커넥터를 GitHub 계정에 설치하는 다음 단계는 일회성 단계입니다. 연결을 재사용하여이 계정의 리포지토리를 기반으로 여러 App Runner 서비스를 생성할 수 있습니다. 기존 연결이 있는 경우 연결을 선택하고 리포지토리 선택으로 건너뜁니다.  
Bitbucket 계정의 AWS 커넥터에도 동일하게 적용됩니다. GitHub와 Bitbucket을 App Runner 서비스의 소스 코드 리포지토리로 사용하는 경우 각 공급자에 대해 하나의 AWS 커넥터를 설치해야 합니다. 그런 다음 각 커넥터를 재사용하여 더 많은 App Runner 서비스를 생성할 수 있습니다.
      + **GitHub**의 경우 다음 단계를 따릅니다.

        1. 다음 화면에서 **연결 이름을** 입력합니다.

        1. App Runner와 함께 GitHub를 처음 사용하는 경우 **다른 설치를** 선택합니다.

        1. **AWS GitHub용 커넥터** 대화 상자에서 메시지가 표시되면 GitHub 계정 이름을 선택합니다.

        1. GitHub용 AWS 커넥터를 승인하라는 메시지가 표시되면 **AWS 연결 승인을** 선택합니다.

        1. **GitHub용 AWS 커넥터 설치** 대화 상자에서 **설치를** 선택합니다.

           계정 이름은 선택한 **GitHub 계정/조직**으로 표시됩니다. 이제 계정에서 리포지토리를 선택할 수 있습니다.

        1. **리포지토리**에서 생성한 예제 리포지토리인를 선택합니다`python-hello`. **브랜치**에서 리포지토리의 기본 브랜치 이름(예: **기본**)을 선택합니다.

        1. **소스 디렉터리**를 기본값으로 둡니다. 디렉터리는 기본적으로 리포지토리 루트로 설정됩니다. 이전 *사전 조건* 단계의 리포지토리 루트 디렉터리에 소스 코드를 저장했습니다.
      + **Bitbucket**의 경우 다음 단계를 따릅니다.

        1. 다음 화면에서 **연결 이름을** 입력합니다.

        1. App Runner와 함께 Bitbucket을 처음 사용하는 경우 **다른 설치를** 선택합니다.

        1. **AWS CodeStar 액세스 요청** 대화 상자에서 워크스페이스를 선택하고 Bitbucket 통합을 AWS CodeStar 위해에 액세스 권한을 부여할 수 있습니다. 워크스페이스를 선택한 다음 **액세스 권한 부여**를 선택합니다.

        1. 다음으로 AWS 콘솔로 리디렉션됩니다. Bitbucket 애플리케이션이 올바른 Bitbucket 워크스페이스로 설정되어 있는지 확인하고** 다음을** 선택합니다.

        1. **리포지토리**에서 생성한 예제 리포지토리인를 선택합니다`python-hello`. **브랜치**에서 리포지토리의 기본 브랜치 이름(예: **기본**)을 선택합니다.

        1. **소스 디렉터리**를 기본값으로 둡니다. 디렉터리는 기본적으로 리포지토리 루트로 설정됩니다. 이전 *사전 조건* 단계의 리포지토리 루트 디렉터리에 소스 코드를 저장했습니다.

1. 배포 구성: **배포 설정** 섹션에서 **자동**을 선택한 **후 다음을** 선택합니다.
**참고**  
자동 배포를 사용하면 리포지토리 소스 디렉터리에 대한 각 새 커밋이 새 버전의 서비스를 자동으로 배포합니다.  
![\[App Runner 서비스 생성 중 소스 및 배포 설정\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-create-source-depl.png)

1. 애플리케이션 빌드를 구성합니다.

   1. **빌드 구성** 페이지의 **구성 파일**에서 **여기에서 모든 설정 구성을** 선택합니다.

   1. 다음 빌드 설정을 제공합니다.
      + **런타임** - **Python 3**을 선택합니다.
      + **빌드 명령** -를 입력합니다**pip install -r requirements.txt**.
      + **시작 명령** -를 입력합니다**python server.py**.
      + **포트** -를 입력합니다**8080**.

   1. **다음**을 선택합니다.
**참고**  
Python 3 런타임은 기본 Python 3 이미지와 예제 Python 코드를 사용하여 Docker 이미지를 빌드합니다. 그런 다음이 이미지의 컨테이너 인스턴스를 실행하는 서비스를 시작합니다.  
![\[App Runner 서비스를 생성하는 동안 설정 빌드\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-create-build.png)

1. 서비스를 구성합니다.

   1. **서비스 구성** 페이지의 **서비스 설정** 섹션에서 서비스 이름을 입력합니다.

   1.  **환경 변수**에서 **환경 변수 추가**를 선택합니다. 환경 변수에 다음 값을 입력합니다.
      + **소스** - **일반 텍스트** 선택
      + **환경 변수 이름** - **NAME**
      + **환경 변수 값** - 모든 이름(예: 이름).
**참고**  
예제 애플리케이션은이 환경 변수에서 설정한 이름을 읽고 웹 페이지에 이름을 표시합니다.

   1. **다음**을 선택합니다.  
![\[App Runner 서비스를 생성하는 동안 서비스 설정\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-create-service.png)

1. **검토 및 생성** 페이지에서 입력한 모든 세부 정보를 확인한 다음 **생성 및 배포**를 선택합니다.

   서비스가 성공적으로 생성되면 콘솔에 새 서비스의 서비스 **개요**와 함께 서비스 대시보드가 표시됩니다.  
![\[App Runner 서비스 대시보드 페이지\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-create-dashboard.png)

1. 서비스가 실행 중인지 확인합니다.

   1. 서비스 대시보드 페이지에서 서비스 **상태가** **실행** 중일 때까지 기다립니다.

   1. **기본 도메인** 값을 선택합니다. 기본 도메인 값은 서비스 웹 사이트의 URL입니다.
**참고**  
App Runner 애플리케이션의 보안을 강화하기 위해 *\$1.awsapprunner.com* 도메인은 [퍼블릭 접미사 목록(PSL)](https://publicsuffix.org/)에 등록됩니다. 보안을 강화하려면 App Runner 애플리케이션의 기본 도메인 이름에 민감한 쿠키를 설정해야 하는 경우 `__Host-` 접두사가 있는 쿠키를 사용하는 것이 좋습니다. 이렇게 쿠키를 설정하면 교차 사이트 요청 위조 시도(CSRF)로부터 도메인을 보호하는 데 도움이 됩니다. 자세한 내용은 Mozilla 개발자 네트워크의 [Set-Cookie](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#cookie_prefixes) 페이지를 참조하세요.

      웹 페이지에 **Hello, *your name*\$1이 표시됩니다.**  
![\[App Runner 서비스의 애플리케이션 웹 페이지\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-create-webpage.png)

## 2단계: 서비스 코드 변경
<a name="getting-started.deploy"></a>

이 단계에서는 리포지토리 소스 디렉터리에서 코드를 변경합니다. App Runner CI/CD 기능은 변경 사항을 자동으로 빌드하고 서비스에 배포합니다.

**서비스 코드를 변경하려면**

1. 예제 리포지토리로 이동합니다.

1. 라는 파일을 편집합니다`server.py`.

1. 변수에 할당된 표현식에서 텍스트를 `Hello`로 `message`변경합니다`Good morning`.

1. 변경 사항을 저장하고 리포지토리에 커밋합니다.

1. 다음 단계는 GitHub 리포지토리에서 서비스 코드를 변경하는 방법을 보여줍니다.

   1. 예제 GitHub 리포지토리로 이동합니다.

   1. 파일 이름을 선택하여 해당 파일로 `server.py` 이동합니다.

   1. **이 파일 편집**(연필 아이콘)을 선택합니다.

   1. 변수에 할당된 표현식에서 텍스트를 `Hello`로 `message`변경합니다`Good morning`.  
![\[편집 아이콘과 메시지가 강조 표시된 GitHub 파일 페이지\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/getting-started-deploy-edit.png)

   1. **변경 사항 커밋**을 선택합니다.

1. 새 커밋이 App Runner 서비스에 배포되기 시작합니다. 서비스 대시보드 페이지에서 서비스 **상태가** **진행 중인 작업**으로 변경됩니다.

   배포가 종료될 때까지 기다립니다. 서비스 대시보드 페이지에서 서비스 **상태가** 다시 **실행** 중으로 변경되어야 합니다.

1. 배포가 성공했는지 확인합니다. 서비스의 웹 페이지가 표시되는 브라우저 탭을 새로 고칩니다.

   이제 페이지에 수정된 메시지인 **안녕하세요, *사용자 이름*\$1이 표시됩니다.**

## 3단계: 구성 변경
<a name="getting-started.config"></a>

이 단계에서는 서비스 구성 변경을 보여주기 위해 **NAME** 환경 변수 값을 변경합니다.

**환경 변수 값을 변경하려면**

1. [App Runner 콘솔](https://console.aws.amazon.com/apprunner)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **서비스를** 선택한 다음 App Runner 서비스를 선택합니다.

   콘솔에 서비스 **개요**와 함께 서비스 대시보드가 표시됩니다.  
![\[활동 목록을 보여주는 App Runner 서비스 대시보드 페이지\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/console-dashboard.png)

1. 서비스 대시보드 페이지에서 **구성** 탭을 선택합니다.

   콘솔에는 서비스 구성 설정이 여러 섹션에 표시됩니다.

1. **서비스 구성** 섹션에서 **편집**을 선택합니다.  
![\[App Runner 서비스 대시보드 페이지의 구성 탭에 있는 서비스 구성 섹션\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/service-dashboad-config-service.png)

1. 키가 인 환경 변수의 경우 값을 다른 이름으로 **NAME**변경합니다.

1. [**Apply changes**]를 선택합니다.

   App Runner가 업데이트 프로세스를 시작합니다. 서비스 대시보드 페이지에서 서비스 **상태가** **진행 중인 작업**으로 변경됩니다.

1. 업데이트가 종료될 때까지 기다립니다. 서비스 대시보드 페이지에서 서비스 **상태가** 다시 **실행** 중으로 변경되어야 합니다.

1. 업데이트가 성공했는지 확인합니다. 서비스의 웹 페이지가 표시되는 브라우저 탭을 새로 고칩니다.

   이제 페이지에 수정된 이름인 **안녕하세요, *새 이름이* 표시됩니다\$1**

## 4단계: 서비스에 대한 로그 보기
<a name="getting-started.logs"></a>

이 단계에서는 App Runner 콘솔을 사용하여 App Runner 서비스에 대한 로그를 봅니다. App Runner는 로그를 Amazon CloudWatch Logs(CloudWatch Logs)로 스트리밍하고 서비스의 대시보드에 표시합니다. App Runner 로그에 대한 자세한 내용은 섹션을 참조하세요[CloudWatch Logs로 스트리밍된 App Runner 로그 보기](monitor-cwl.md).

**서비스에 대한 로그를 보려면**

1. [App Runner 콘솔](https://console.aws.amazon.com/apprunner)을 열고 **리전** 목록에서를 선택합니다 AWS 리전.

1. 탐색 창에서 **서비스를** 선택한 다음 App Runner 서비스를 선택합니다.

   콘솔에 서비스 **개요**와 함께 서비스 대시보드가 표시됩니다.  
![\[활동 목록을 보여주는 App Runner 서비스 대시보드 페이지\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/console-dashboard.png)

1. 서비스 대시보드 페이지에서 **로그** 탭을 선택합니다.

   콘솔에는 몇 가지 유형의 로그가 여러 섹션에 표시됩니다.
   + **이벤트 로그** - App Runner 서비스의 수명 주기 내 활동입니다. 콘솔에 최신 이벤트가 표시됩니다.
   + **배포 로그** - App Runner 서비스에 대한 소스 리포지토리 배포입니다. 콘솔에는 각 배포에 대해 별도의 로그 스트림이 표시됩니다.
   + **애플리케이션 로그** - App Runner 서비스에 배포된 웹 애플리케이션의 출력입니다. 콘솔은 실행 중인 모든 인스턴스의 출력을 단일 로그 스트림으로 결합합니다.  
![\[App Runner 서비스 대시보드 페이지의 로그 탭\]](http://docs.aws.amazon.com/ko_kr/apprunner/latest/dg/images/service-dashboad-logs.png)

1. 특정 배포를 찾으려면 검색어를 입력하여 배포 로그 목록의 범위를 좁힙니다. 테이블에 나타나는 모든 값을 검색할 수 있습니다.

1. 로그의 콘텐츠를 보려면 **전체 로그 보기**(이벤트 로그) 또는 로그 스트림 이름(배포 및 애플리케이션 로그)을 선택합니다.

1. **다운로드**를 선택하여 로그를 다운로드합니다. 배포 로그 스트림의 경우 먼저 로그 스트림을 선택합니다.

1. **CloudWatch에서 보기를** 선택하여 CloudWatch 콘솔을 열고 전체 기능을 사용하여 App Runner 서비스 로그를 탐색합니다. 배포 로그 스트림의 경우 먼저 로그 스트림을 선택합니다.
**참고**  
CloudWatch 콘솔은 결합된 애플리케이션 로그 대신 특정 인스턴스의 애플리케이션 로그를 보려는 경우에 특히 유용합니다.

## 5단계: 정리
<a name="getting-started.cleanup"></a>

이제 App Runner 서비스를 생성하고, 로그를 보고, 몇 가지를 변경하는 방법을 배웠습니다. 이 단계에서는 서비스를 삭제하여 더 이상 필요하지 않은 리소스를 제거합니다.

**서비스를 삭제하려면**

1. 서비스 대시보드 페이지에서 **작업을** 선택한 다음 **서비스 삭제**를 선택합니다.

1. 확인 대화 상자에서 요청된 텍스트를 입력한 다음 **삭제**를 선택합니다.

   결과: 콘솔이 **서비스** 페이지로 이동합니다. 방금 삭제한 서비스는 **삭제** 중 상태로 표시됩니다. 잠시 후 목록에서 사라집니다.

이 자습서의 일부로 생성한 GitHub 및 Bitbucket 연결도 삭제하는 것이 좋습니다. 자세한 내용은 [App Runner 연결 관리](manage-connections.md) 단원을 참조하십시오.

## 다음에 있는 것
<a name="getting-started.next"></a>

이제 첫 번째 App Runner 서비스를 배포했으므로 다음 주제에서 자세히 알아보세요.
+ [App Runner 아키텍처 및 개념](architecture.md) - App Runner와 관련된 아키텍처, 주요 개념 및 AWS 리소스입니다.
+ [이미지 기반 서비스](service-source-image.md) 및 [코드 기반 서비스](service-source-code.md) - App Runner가 배포할 수 있는 두 가지 유형의 애플리케이션 소스입니다.
+ [App Runner용 애플리케이션 코드 개발](develop.md) - App Runner에 배포할 애플리케이션 코드를 개발하거나 마이그레이션할 때 알아야 할 사항입니다.
+ [App Runner 콘솔 사용](console.md) - App Runner 콘솔을 사용하여 서비스를 관리하고 모니터링합니다.
+ [App Runner 서비스 관리](manage.md) - App Runner 서비스의 수명 주기를 관리합니다.
+ [App Runner 서비스의 관찰성](monitor.md) - 지표 모니터링, 로그 읽기, 이벤트 처리, 서비스 작업 호출 추적, HTTP 호출과 같은 애플리케이션 이벤트 추적을 통해 App Runner 서비스 작업에 대한 가시성을 확보합니다.
+ [App Runner 구성 파일](config-file.md) - App Runner 서비스의 빌드 및 런타임 동작에 대한 옵션을 지정하는 구성 기반 방법입니다.
+ [App Runner API](api.md) - App Runner 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 App Runner 리소스를 생성, 읽기, 업데이트 및 삭제합니다.
+ [App Runner의 보안](security.md) - App Runner 및 기타 서비스를 사용하는 동안 AWS 및가 클라우드 보안을 보장하는 다양한 방법입니다.