앱 추가 - AWS OpsWorks

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

앱 추가

중요

이 AWS OpsWorks Stacks 서비스는 2024년 5월 26일에 수명이 종료되었으며 신규 및 기존 고객 모두 사용할 수 없습니다. 고객은 가능한 한 빨리 워크로드를 다른 솔루션으로 마이그레이션할 것을 강력히 권장합니다. 마이그레이션에 대해 궁금한 점이 있으면 AWS re:Post 또는 Premium AWS Support를 통해 AWS Support 팀에 문의하세요.

애플리케이션을 애플리케이션 서버에 배포하는 첫 단계는 스택에 앱을 추가하는 것입니다. 앱은 애플리케이션을 나타내며, 애플리케이션의 이름과 유형, 애플리케이션을 서버 인스턴스에 배포하는 데 필요한 정보(예: 리포지토리 URL) 등 다양한 메타데이터를 포함합니다. 앱을 스택에 추가하려면 Manage 권한이 있어야 합니다. 자세한 정보는 사용자 권한 관리을 참조하세요.

참고

이 섹션의 절차는 Chef 12 이상의 스택에 적용됩니다. Chef 11 스택에서 계층에 앱을 추가하는 방법에 대한 자세한 정보는 2.4단계: 앱 생성 및 배포 - Chef 11 단원을 참조하세요.

스택에 앱을 추가하려면
  1. 선호하는 리포지토리(Amazon S3 아카이브, Git 리포지토리, 하위 버전 리포지토리 또는 HTTP 아카이브)에 코드를 저장합니다. 자세한 정보는 애플리케이션 소스을 참조하세요.

  2. 탐색 창에서 []을 클릭합니다. [] 페이지에서 첫 번째 앱에 대해 [앱 추가]를 클릭합니다. 이후의 앱에는 [+앱]을 클릭합니다.

  3. [앱 새로 만들기] 페이지에서 다음 단원의 설명대로 앱을 구성합니다.

앱 구성

[앱 추가] 페이지는 [설정], [애플리케이션 소스], [데이터 소스], [환경 변수], [도메인 추가], [SSL 설정] 섹션으로 구성되어 있습니다.

설정

명칭

UI에서 앱을 나타내는 데 사용되는 앱 이름입니다. AWS OpsWorks 또한 스택은 이 이름을 사용하여 내부적으로 사용되는 앱의 짧은 이름을 생성하고 스택 구성 및 배포 속성에서 앱을 식별합니다. 앱을 스택에 추가한 후 탐색 창에서 []을 클릭하여 짧은 이름을 볼 수 있으며, 그런 다음 앱의 이름을 클릭하면 세부 정보 페이지를 열 수 있습니다.

[문서 루트]

AWS OpsWorks 스택은 문서 루트 설정을 앱 [:document_root]속성의 속성에 할당합니다. deploy 기본 값은 null입니다. 배포 레시피는 표준 Chef 노드 구문을 사용하여 deploy 속성에서 이 값을 가져올 수 있으며, 지정된 코드를 서버의 적절한 위치에 배포할 수 있습니다. 앱을 배포하는 방법에 대한 자세한 정보는 Deploy 레시피 단원을 참조하세요.

애플리케이션 소스

앱을 배포할 수 있는 리포지토리 유형은 Git, Amazon S3 번들, HTTP 번들 등입니다. 모든 리포지토리 유형은 리포지토리 유형과 리포지토리 URL을 지정해야 합니다. 개별 리포지토리 유형에는 아래 설명처럼 고유의 요구 사항이 있습니다.

참고

AWS OpsWorks 스택은 표준 리포지토리의 애플리케이션을 빌트인 서버 레이어에 자동으로 배포합니다. Windows 스택의 유일한 옵션인 기타 리포지토리 유형을 사용하는 경우 Stacks는 앱의 deploy속성에 리포지토리 정보를 넣지만 배포 작업을 처리하려면 사용자 지정 레시피를 구현해야 합니다. AWS OpsWorks

HTTP 아카이브

공용 액세스가 가능한 HTTP 서버를 리포지토리로 사용하려면

  1. 앱 코드 및 관련 파일이 포함된 폴더의 압축 아카이브(zip, gzip, bzip2, Java WAR 또는 tarball)를 생성합니다.

    참고

    AWS OpsWorks 스택은 압축되지 않은 타르볼을 지원하지 않습니다.

  2. 서버에 아카이브 파일을 업로드합니다.

  3. 콘솔에서 리포지토리를 지정하려면 리포지토리 유형으로 HTTP 아카이브를 선택하고 해당 URL을 입력합니다.

    아카이브가 암호로 보호된 경우 애플리케이션 소스에서 로그인 자격 증명을 지정합니다.

Amazon S3 아카이브

Amazon Simple Storage Service 버킷을 리포지토리로 사용하려면:

  1. 퍼블릭 또는 프라이빗 Amazon S3 버킷을 생성합니다. 자세한 내용은 Amazon S3 설명서를 참조하세요.

  2. AWS OpsWorks 스택이 프라이빗 버킷에 액세스하려면 Amazon S3 버킷에 대해 최소한 읽기 전용 권한을 가진 사용자여야 하며 액세스 키 ID와 보안 액세스 키가 필요합니다. 자세한 내용은 AWS Identity and Access Management 설명서를 참조하세요.

  3. 코드 및 연결된 모든 파일을 폴더에 저장한 다음 해당 폴더를 압축된 아카이브(zip, gzip, bzip2, Java WAR 또는 tarball)로 저장합니다.

    참고

    AWS OpsWorks 스택은 압축되지 않은 타르볼을 지원하지 않습니다.

  4. 이 아카이브 파일을 Amazon S3 버킷에 업로드하고 URL을 기록해 둡니다.

  5. AWS OpsWorks Stacks 콘솔에서 리포지토리를 지정하려면 리포지토리 유형을 S3 Archive로 설정하고 아카이브의 URL을 입력합니다. 프라이빗 아카이브의 경우, 정책에 따라 버킷 액세스 권한을 배포하는 AWS 액세스 키 ID 및 보안 액세스 키를 제공해야 합니다. 퍼블릭 아카이브의 경우 이러한 설정을 비워 둡니다.

Git 리포지토리

Git 리포지토리는 소스 제어 및 버전 관리를 제공합니다. AWS OpsWorks Stacks는 Bitbucket과 같은 GitHub공개적으로 호스팅되는 리포지토리 사이트와 비공개로 호스팅되는 Git 서버를 지원합니다. 앱 및 Git 하위 모듈의 경우, [애플리케이션 소스]에서 리포지토리의 URL을 지정하는 데 사용하는 형식은 리포지토리가 퍼블릭인지 프라이빗인지에 따라 다릅니다.

퍼블릭 리포지토리 - HTTPS 또는 Git 읽기 전용 프로토콜을 사용합니다. 예를 들어, Chef 11 Linux 스택 시작하기 는 다음 URL 형식 중 하나로 액세스할 수 있는 공용 GitHub 리포지토리를 사용합니다.

  • Git 읽기 전용: git://github.com/amazonwebservices/opsworks-demo-php-simple-app.git

  • HTTPS: https://github.com/amazonwebservices/opsworks-demo-php-simple-app.git

프라이빗 리포지토리 - 이 예제에 나온 SSH 읽기/쓰기 형식을 사용합니다.

  • Github 리포지토리: git@github.com:project/repository.

  • Git 서버의 리포지토리: user@server:project/repository

소스 제어에서 Git을 선택하면 다음과 같은 두 가지 추가 옵션 설정이 표시됩니다.

[리포지토리 SSH 키]

프라이빗 Git 리포지토리에 액세스하려면 배포 SSH 키를 지정해야 합니다. 이 필드는 프라이빗 키가 필요합니다. 퍼블릭 키는 Git 리포지토리에 할당됩니다. Git 하위 모듈의 경우, 지정된 키는 이러한 하위 모듈에 액세스할 권한이 있어야 합니다. 자세한 정보는 Git 리포지토리 SSH 키 사용을 참조하세요.

중요

배포 SSH 키에는 암호가 필요하지 않습니다. AWS OpsWorks Stacks에서는 암호를 전달할 방법이 없습니다.

브랜치/개정

리포지토리에 브랜치가 여러 개 있는 경우 AWS OpsWorks Stacks는 기본적으로 마스터 브랜치를 다운로드합니다. 특정 브랜치를 지정하려면 브랜치 이름, SHA1 해시 또는 태그 이름을 입력하세요. 특정 커밋을 지정하려면 완전한 40-hexdigit 커밋 식별자를 입력합니다.

기타 리포지토리

표준 리포지토리가 요구 사항을 충족하지 못하는 경우, Bazaar 같은 기타 리포지토리를 사용할 수 있습니다. 하지만 AWS OpsWorks Stacks는 이러한 리포지토리의 앱을 자동으로 배포하지 않습니다. 배포 프로세스를 처리하고 적절한 계층의 Deploy 이벤트에 할당하려면 사용자 지정 레시피를 구현해야 합니다. Deploy 레시피를 구현하는 방법의 예제는 Deploy 레시피 단원을 참조하세요.

데이터 원본

이 섹션은 데이터베이스를 앱에 연결합니다. 다음과 같은 옵션이 있습니다:

  • RDS – 스택의 Amazon RDS 서비스 계층 중 하나를 연결하세요.

  • None – 데이터베이스 서버를 연결하지 마세요.

RDS를 선택한 경우 다음을 지정해야 합니다.

데이터베이스 인스턴스

목록에는 모든 Amazon RDS 서비스 계층이 포함됩니다. 다음 중 하나도 선택할 수 있습니다.

(필수) 어떤 데이터베이스 서버를 앱에 연결할지 지정하세요. 목록의 콘텐츠는 데이터 원본에 따라 달라집니다.

  • RDS – 스택의 Amazon RDS 서비스 계층의 목록.

데이터베이스 이름

(선택 사항) 데이터베이스 이름을 지정합니다.

  • Amazon RDS 계층 - Amazon RDS 인스턴스에 대해 지정한 데이터베이스 이름을 입력합니다.

    Amazon RDS 콘솔에서 데이터베이스 이름을 가져올 수 있습니다.

데이터베이스가 연결된 앱을 배포하는 경우 AWS OpsWorks Stacks는 데이터베이스 인스턴스의 연결을 앱 속성에 추가합니다. deploy

사용자 지정 레시피를 작성하여 deploy 속성에서 정보를 검색하고 애플리케이션이 액세스할 수 있는 파일에 넣을 수 있습니다. 이것은 기타 애플리케이션 유형에 데이터베이스 연결 정보를 제공할 수 있는 유일한 옵션입니다.

데이터베이스 연결을 처리하는 방법에 대한 자세한 정보는 데이터베이스에 연결를 참조하세요.

앱에서 데이터베이스 서버를 분리하려면 앱의 구성을 편집하여 다른 데이터베이스 서버를 지정하거나 아무 서버도 지정하지 마십시오.

환경 변수

각 앱마다 앱에 고유한 환경 변수 집합을 지정할 수 있습니다. 예를 들어 2개의 앱이 있는 경우, 첫 번째 앱에 대해 정의하는 환경 변수는 두 번째 앱이 사용할 수 없으며, 그 반대의 경우도 마찬가지입니다. 또 여러 앱에 대해 같은 환경 변수를 지정하여 환경 변수에 앱마다 다른 값을 할당할 수 있습니다.

참고

환경 변수의 수에는 특별한 제한이 없습니다. 다만 변수의 이름, 값, 보호되는 플래그 값을 포함한 연결된 데이터 구조의 크기는 20KB를 초과할 수 없습니다. 이 한도는 전부는 아니더라도 대부분의 사용 사례를 수용해야 합니다. 이 한도를 초과하면 "Environment: is too large (maximum is 20KB)"라는 메시지와 함께 서비스 오류(콘솔) 또는 예외(API)를 초래합니다.

AWS OpsWorks 스택은 변수를 앱 속성에 속성으로 저장합니다. deploy 표준 Chef 노드 구문을 사용하여 사용자 지정 레시피가 이러한 값을 검색하도록 할 수 있습니다. 앱의 환경 변수에 액세스하는 방법의 예제는 환경 변수 사용를 참조하세요.

변수 이름. 변수 이름은 최대 64자의 대문자, 소문자, 숫자, 밑줄(_)을 포함할 수 있지만 문자나 밑줄로 시작해야 합니다.

변수의 값. 변수의 값은 최대 256자를 포함할 수 있으며, 모두 인쇄 가능해야 합니다.

보호되는 값

값이 보호되는지 여부. 이 설정을 통해 암호 같은 중요한 정보를 감출 수 있습니다. 변수에 대해 [보호된 값]을 설정하는 경우, 앱 생성 후

  • 앱의 세부 정보 페이지에 변수의 이름만 표시되며 변수의 값은 표시되지 않습니다.

  • 앱을 편집할 권한이 있는 경우, [값 업데이트]를 클릭하여 새 값을 지정할 수 있지만 예전 값을 보거나 편집할 수는 없습니다.

참고

Chef 배포 로그는 종종 환경 변수를 포함하기도 합니다. 다시 말해 콘솔에서 보호된 변수를 볼 수 있습니다. 콘솔에서 보호된 변수를 보지 못하게 하려면 콘솔에서 보지 않기를 원하는 보호된 변수의 스토리지로서 Amazon S3 버킷을 사용하시기 바랍니다. 이런 목적으로 S3 버킷을 사용하는 방법의 예는 이 설명서의 Amazon S3 버킷 사용하기 단원을 참조하세요.

도메인 및 SSL 설정

기타 앱 유형의 경우 AWS OpsWorks 스택은 앱 속성에 설정을 추가합니다. deploy 레시피는 이러한 속성에서 데이터를 가져와 필요에 맞게 서버를 구성할 수 있습니다.

도메인 설정

이 섹션에는 도메인 지정을 위한 옵션인 [도메인 추가] 필드가 있습니다. 자세한 정보는 사용자 지정 도메인 사용을 참조하세요.

SSL 설정

이 섹션에는 SSL 활성화 또는 비활성화에 사용할 수 있는 [SSL 지원] 토글이 있습니다. []를 클릭하는 경우, SSL 인증서 정보를 제공해야 합니다. 자세한 내용은 SSL 사용을(를) 참조하세요.