쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

Java 플랫폼 사용

포커스 모드
Java 플랫폼 사용 - AWS App Runner

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

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

AWS App Runner Java 플랫폼은 관리형 런타임을 제공합니다. 각 런타임을 사용하면 Java 버전을 기반으로 웹 애플리케이션을 사용하여 컨테이너를 쉽게 빌드하고 실행할 수 있습니다. Java 런타임을 사용하는 경우 App Runner는 관리형 Java 런타임 이미지로 시작합니다. 이 이미지는 Amazon Linux Docker 이미지를 기반으로 하며 Java 버전 및 일부 도구의 런타임 패키지를 포함합니다. App Runner는이 관리형 런타임 이미지를 기본 이미지로 사용하고 애플리케이션 코드를 추가하여 Docker 이미지를 빌드합니다. 그런 다음이 이미지를 배포하여 컨테이너에서 웹 서비스를 실행합니다.

App Runner 콘솔 또는 CreateService API 작업을 사용하여 서비스를 생성할 때 App Runner 서비스의 런타임을 지정합니다. 런타임을 소스 코드의 일부로 지정할 수도 있습니다. 코드 리포지토리에 포함하는 App Runner 구성 파일의 runtime 키워드를 사용합니다. 관리형 런타임의 이름 지정 규칙은 <language-name><major-version>입니다.

현재 지원되는 모든 Java 런타임은 Amazon Corretto를 기반으로 합니다. 유효한 Java 런타임 이름 및 버전은 섹션을 참조하세요Java 런타임 릴리스 정보.

App Runner는 모든 배포 또는 서비스 업데이트 시 서비스의 런타임을 최신 버전으로 업데이트합니다. 애플리케이션에 특정 버전의 관리형 런타임이 필요한 경우 App Runner 구성 파일의 runtime-version 키워드를 사용하여 지정할 수 있습니다. 메이저 또는 마이너 버전을 포함하여 모든 수준의 버전에를 잠글 수 있습니다. App Runner는 서비스의 런타임만 하위 수준으로 업데이트합니다.

Amazon Corretto 런타임의 버전 구문:

런타임 구문

corretto11

11.0[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]

11.0.13.08.1

corretto8

8[.openjdk-update[.openjdk-build[.corretto-specific-revision]]]

8.312.07.1

다음 예제에서는 버전 잠금을 보여줍니다.

  • 11.0.13 – Open JDK 업데이트 버전을 잠급니다. App Runner는 Open JDK 및 Amazon Corretto 하위 수준 빌드만 업데이트합니다.

  • 11.0.13.08.1 - 특정 버전으로 잠급니다. App Runner는 런타임 버전을 업데이트하지 않습니다.

Java 런타임 구성

관리형 런타임을 선택할 때는 최소한 빌드 및 실행 명령도 구성해야 합니다. App Runner 서비스를 생성하거나 업데이트하는 동안 이를 구성합니다. 다음 방법 중 하나를 사용하여이 작업을 수행할 수 있습니다.

  • App Runner 콘솔 사용 - 생성 프로세스 또는 구성 탭의 빌드 구성 섹션에서 명령을 지정합니다.

  • App Runner API 사용 - CreateService 또는 UpdateService API 작업을 호출합니다. CodeConfigurationValues 데이터 유형의 BuildCommandStartCommand 멤버를 사용하여 명령을 지정합니다.

  • 구성 파일 사용 - 최대 3개의 빌드 단계에서 하나 이상의 빌드 명령을 지정하고 애플리케이션을 시작하는 데 사용되는 단일 실행 명령을 지정합니다. 추가 선택적 구성 설정이 있습니다.

구성 파일을 제공하는 것은 선택 사항입니다. 콘솔 또는 API를 사용하여 App Runner 서비스를 생성할 때 App Runner가 구성 설정을 생성할 때 직접 가져오거나 구성 파일에서 가져올지 지정합니다.

Java 런타임 예제

다음 예제에서는 Java 서비스를 빌드하고 실행하기 위한 App Runner 구성 파일을 보여줍니다. 마지막 예제는 Corretto 11 런타임 서비스에 배포할 수 있는 전체 Java 애플리케이션의 소스 코드입니다.

참고

이 예제에서 사용되는 런타임 버전은 11.0.13.08.1입니다. 사용하려는 버전으로 바꿀 수 있습니다. 지원되는 최신 Java 런타임 버전은 섹션을 참조하세요Java 런타임 릴리스 정보.

이 예제는 Corretto 11 관리형 런타임과 함께 사용할 수 있는 최소 구성 파일을 보여줍니다. App Runner가 최소 구성 파일로 가정하는 내용은 섹션을 참조하세요.

예 apprunner.yaml
version: 1.0 runtime: corretto11 build: commands: build: - mvn clean package run: command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .

최소 Corretto 11 구성 파일

이 예제는 Corretto 11 관리형 런타임과 함께 사용할 수 있는 최소 구성 파일을 보여줍니다. App Runner가 최소 구성 파일로 가정하는 내용은 섹션을 참조하세요.

예 apprunner.yaml
version: 1.0 runtime: corretto11 build: commands: build: - mvn clean package run: command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar .

이 예제에서는 Corretto 11 관리형 런타임에서 모든 구성 키를 사용하는 방법을 보여줍니다.

참고

이 예제에서 사용되는 런타임 버전은 11.0.13.08.1입니다. 사용하려는 버전으로 바꿀 수 있습니다. 지원되는 최신 Java 런타임 버전은 섹션을 참조하세요Java 런타임 릴리스 정보.

예 apprunner.yaml
version: 1.0 runtime: corretto11 build: commands: pre-build: - yum install some-package - scripts/prebuild.sh build: - mvn clean package post-build: - mvn clean test env: - name: M2 value: "/usr/local/apache-maven/bin" - name: M2_HOME value: "/usr/local/apache-maven/bin" run: runtime-version: 11.0.13.08.1 command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar . network: port: 8000 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"

이 예제에서는 Corretto 11 관리형 런타임에서 모든 구성 키를 사용하는 방법을 보여줍니다.

참고

이 예제에서 사용되는 런타임 버전은 11.0.13.08.1입니다. 사용하려는 버전으로 바꿀 수 있습니다. 지원되는 최신 Java 런타임 버전은 섹션을 참조하세요Java 런타임 릴리스 정보.

예 apprunner.yaml
version: 1.0 runtime: corretto11 build: commands: pre-build: - yum install some-package - scripts/prebuild.sh build: - mvn clean package post-build: - mvn clean test env: - name: M2 value: "/usr/local/apache-maven/bin" - name: M2_HOME value: "/usr/local/apache-maven/bin" run: runtime-version: 11.0.13.08.1 command: java -Xms256m -jar target/MyApp-1.0-SNAPSHOT.jar . network: port: 8000 env: APP_PORT env: - name: MY_VAR_EXAMPLE value: "example"

이 예제는 Corretto 11 런타임 서비스에 배포할 수 있는 전체 Java 애플리케이션의 소스 코드를 보여줍니다.

예 src/main/java/com/HelloWorld/HelloWorld.java
package com.HelloWorld; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorld { @RequestMapping("/") public String index(){ String s = "Hello World"; return s; } }
예 src/main/java/com/HelloWorld/Main.java
package com.HelloWorld; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Main { public static void main(String[] args) { SpringApplication.run(Main.class, args); } }
예 apprunner.yaml
version: 1.0 runtime: corretto11 build: commands: build: - mvn clean package run: command: java -Xms256m -jar target/HelloWorldJavaApp-1.0-SNAPSHOT.jar . network: port: 8080
예 pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.1.RELEASE</version> <relativePath/> </parent> <groupId>com.HelloWorld</groupId> <artifactId>HelloWorldJavaApp</artifactId> <version>1.0-SNAPSHOT</version> <properties> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>11</release> </configuration> </plugin> </plugins> </build> </project>

이 예제는 Corretto 11 런타임 서비스에 배포할 수 있는 전체 Java 애플리케이션의 소스 코드를 보여줍니다.

예 src/main/java/com/HelloWorld/HelloWorld.java
package com.HelloWorld; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloWorld { @RequestMapping("/") public String index(){ String s = "Hello World"; return s; } }
예 src/main/java/com/HelloWorld/Main.java
package com.HelloWorld; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Main { public static void main(String[] args) { SpringApplication.run(Main.class, args); } }
예 apprunner.yaml
version: 1.0 runtime: corretto11 build: commands: build: - mvn clean package run: command: java -Xms256m -jar target/HelloWorldJavaApp-1.0-SNAPSHOT.jar . network: port: 8080
예 pom.xml
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.1.RELEASE</version> <relativePath/> </parent> <groupId>com.HelloWorld</groupId> <artifactId>HelloWorldJavaApp</artifactId> <version>1.0-SNAPSHOT</version> <properties> <java.version>11</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-rest</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> <exclusions> <exclusion> <groupId>org.junit.vintage</groupId> <artifactId>junit-vintage-engine</artifactId> </exclusion> </exclusions> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>11</release> </configuration> </plugin> </plugins> </build> </project>

이 페이지에서

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.