애플리케이션을 게시하는 방법 - AWS Serverless Application Repository

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

애플리케이션을 게시하는 방법

이 단원에서는 AWS SAM CLI 또는 AWS Management Console을 사용하여 AWS Serverless Application Repository에서 서버리스 애플리케이션을 게시하는 절차를 설명합니다. 또한 다른 사용자가 배포할 수 있도록 응용 프로그램을 공유하고 AWS Serverless Application Repository에서 애플리케이션을 삭제하는 방법을 보여 줍니다.

중요

애플리케이션을 게시할 때 입력하는 정보는 암호화되지 않습니다. 이 정보에는 작성자 이름과 같은 데이터가 포함됩니다. 저장 또는 공개를 원치 않는 개인 식별 정보가 있는 경우 애플리케이션을 게시할 때 이 정보를 입력하지 않는 것이 좋습니다.

애플리케이션 게시(AWS CLI)

AWS Serverless Application Repository에 애플리케이션을 게시하는 가장 쉬운 방법은 AWS SAM CLI 명령 집합을 사용하는 것입니다. 자세한 내용은 단원을 참조하십시오.를 사용하여 애플리케이션 게시AWS SAMCLIAWS Serverless Application Model(AWS SAM) 개발자 안내서.

새 애플리케이션 게시(콘솔)

이 단원에서는 AWS Management Console을 사용하여 AWS Serverless Application Repository에 새 애플리케이션을 게시하는 방법을 보여 줍니다. 기존 애플리케이션의 새 버전을 게시하는 지침은 기존 애플리케이션의 새 버전 게시 단원을 참조하십시오.

사전 조건

AWS Serverless Application Repository에 애플리케이션을 게시하기 전에 다음을 수행합니다.

  • A 유효AWS계정.

  • A 유효AWS Serverless Application Model(AWS SAM) 를 정의하는 템플릿AWS사용되는 리소스입니다. AWS SAM 템플릿에 대한 자세한 정보는 AWS SAM 템플릿 기본 사항을 참조하십시오.

  • AWS CLI에 대한 AWS CloudFormation package 명령을 사용하여 생성한 애플리케이션 패키지. 이 명령은 AWS SAM 템플릿이 참조하는 로컬 아티팩트(로컬 경로)를 패키징합니다. 자세한 내용은 단원을 참조하십시오.꾸러미의AWS CloudFormation.

  • 애플리케이션을 공개적으로 게시하고자 하는 경우 애플리케이션의 소스 코드를 가리키는 URL.

  • readme.txt 파일. 이 파일은 고객이 어떻게 애플리케이션을 사용할 수 있는지와 애플리케이션을 배포하기 전에 구성하는 방법을 설명할 것입니다.AWS계정.

  • SPDX 웹 사이트에 있는 license.txt 파일 또는 유효한 라이선스 식별자. 애플리케이션을 공개적으로 공유하려는 경우에만 라이선스가 필요합니다. 애플리케이션을 비공개로 유지하거나 비공개로만 공유하려는 경우, 라이선스를 지정할 필요가 없습니다.

  • 애플리케이션을 패키징할 때 Amazon S3에 업로드된 아티팩트에 대한 읽기 권한을 서비스에 부여하는 유효한 Amazon S3 버킷 정책. 이 정책을 설정하려면 다음 단계를 수행합니다.

    1. https://console.aws.amazon.com/s3/에서 Amazon S3 콘솔을 엽니다.

    2. 애플리케이션을 패키징하는 데 사용한 Amazon S3 버킷을 선택합니다.

    3. 권한(Permissions) 탭을 선택합니다.

    4. 버킷 정책 버튼을 선택합니다.

    5. 다음 정책 문을 버킷 정책 편집기에 붙여 넣습니다. 에서 버킷 이름을 대체해야 합니다.Resource요소, 그리고AWS의 계정 IDCondition요소. 에 있는 표현식Condition요소 확인AWS Serverless Application Repository지정된 응용 프로그램에서 응용 프로그램에 액세스할 수 있는 권한만 있음AWS계정. 정책 문에 대한 자세한 내용은 단원을 참조하십시오.IAM JSON 정책 요소 참조IAM 사용 설명서.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "serverlessrepo.amazonaws.com" }, "Action": "s3:GetObject", "Resource": "arn:aws:s3:::bucketname/*", "Condition" : { "StringEquals": { "aws:SourceAccount": "123456789012" } } } ] }
    6. 저장 버튼을 선택합니다.

프로시저

다음 절차를 사용하여 AWS Serverless Application Repository에서 새 애플리케이션을 생성합니다.

AWS Serverless Application Repository에서 새 애플리케이션을 생성하려면
  1. AWS Serverless Application Repository 콘솔을 열고 Publish applications(애플리케이션 게시)를 선택합니다.

  2. Publish an application(애플리케이션 게시) 페이지에서 다음 애플리케이션 정보를 입력하고 Publish application(애플리케이션 게시)를 선택합니다.

    속성 필수 설명
    애플리케이션 이름 TRUE

    애플리케이션의 이름입니다.

    최소 길이: 1. 최대 길이: 140.

    패턴: "[a-zA-Z0-9\\-]+";

    작성자 TRUE

    애플리케이션을 게시하는 작성자의 이름입니다.

    최소 길이: 1. 최대 길이: 127.

    패턴: "^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$";

    홈 페이지 FALSE 응용 프로그램에 대한 자세한 정보가 포함된 URL (예: 사용자 위치) GitHub 응용 프로그램에 대한 저장소입니다.
    설명 TRUE

    애플리케이션에 대한 설명입니다.

    최소 길이: 1. 최대 길이: 256.

    레이블 FALSE

    검색 결과에서 애플리케이션의 검색을 향상시키는 레이블입니다.

    최소 길이: 1. 최대 길이: 127. 최대 레이블 수: 10.

    패턴: "^[a-zA-Z0-9+\\-_:\\/@]+$";

    Spdx 라이선스(드롭다운 목록) FALSE SPDX 웹 사이트에서 사용할 수 있는 라이선스의 드롭다운 목록에서 유효한 라이선스 식별자를 선택합니다. 드롭다운 목록에서 항목을 선택하면 그 아래에 있는 License(라이선스) 텍스트 상자가 채워집니다. 참고: 드롭다운에서 라이선스를 선택하면라이선스텍스트 상자를 선택하고 수동으로 편집한 내용은 취소됩니다.
    라이선스 FALSE

    .txt 라이선스 파일을 업로드하거나, 앞 행에 설명된 Spdx license(Spdx 라이선스) 드롭다운 목록에서 라이선스를 선택합니다. Spdx license(Spdx 라이선스) 드롭다운 목록에서 라이선스를 선택하면 License(라이선스) 텍스트 상자가 자동으로 채워집니다. 라이선스 파일을 업로드하거나 Spdx license(Spdx 라이선스) 드롭다운 목록에서 선택한 후 이 텍스트 상자의 내용을 수동으로 편집할 수 있습니다. 그러나 드롭다운 목록에서 다른 Spdx 라이선스를 선택한 경우 수동으로 편집한 내용이 모두 무시됩니다.

    선택적 필드이지만 애플리케이션을 공개적으로 공유하려면 라이선스를 제공해야 합니다.

    Readme FALSE

    Readme 파일(텍스트 또는 마크다운 형식)의 내용을 업로드합니다. AWS Serverless Application Repository의 애플리케이션 세부 정보 페이지에 해당 내용이 표시됩니다. 파일을 업로드한 후 이 텍스트 상자의 내용을 수동으로 편집할 수 있습니다.

    의미 체계 버전 FALSE

    애플리케이션의 의미 체계 버전입니다. 자세한 내용은 의미 체계 버전 관리 웹 사이트를 참조하십시오.

    애플리케이션을 공개로 설정하려면 이 속성의 값을 지정해야 합니다.

    소스 코드 URL FALSE 애플리케이션의 소스 코드가 있는 퍼블릭 리포지토리의 링크입니다.
    SAM 템플릿 TRUE

    A 유효AWS Serverless Application Model(AWS SAM) 를 정의하는 템플릿AWS사용되는 리소스입니다.

애플리케이션 공유

게시된 애플리케이션에 다음 세 범주 중 하나의 사용 권한을 설정할 수 있습니다.

  • 비공개 (기본값)— 동일한 계정을 사용하여 생성하고 다른 계정과 공유하지 않은 애플리케이션AWS계정. 귀하를 공유하는 소비자만AWS계정에는 프라이빗 애플리케이션을 배포할 수 있는 권한이 있습니다.

  • 프라이빗 공유— 게시자가 특정 집합과 명시적으로 공유한 애플리케이션AWS계정, 또는AWS에 있는 계정AWS조직. 소비자는 자신의 애플리케이션과 공유된 애플리케이션을 배포할 수 있는 권한이 있습니다.AWS계정 또는AWS조직. AWS Organizations에 대한 자세한 내용은 AWS Organizations 사용 설명서를 참조하세요.

  • 공개적으로 공유됨— 게시자가 모든 사람과 공유한 애플리케이션입니다. 모든 소비자는 공개적 공유 애플리케이션을 배포할 수 있는 권한이 있습니다.

AWS Serverless Application Repository에 게시한 애플리케이션은 기본적으로 비공개로 설정됩니다. 이 단원에서는 애플리케이션을 특정 애플리케이션과 비공개로 공유하는 방법을 소개합니다.AWS계정 또는AWS조직 또는 모든 사람과 공개적으로 공유하십시오.

콘솔을 통해 애플리케이션 공유

애플리케이션을 다른 사람과 공유할 수 있는 옵션은 두 가지가 있습니다. 1) 특정 항목과 공유AWS계정 또는AWS내 계정AWS조직 또는 2) 모든 사람과 공개적으로 공유하십시오. AWS Organizations에 대한 자세한 내용은 AWS Organizations 사용 설명서를 참조하세요.

옵션 1: 애플리케이션을 특정 애플리케이션과 공유하려면AWS계정 또는 귀하 내 계정AWS조직
  1. AWS Serverless Application Repository 콘솔을 엽니다.

  2. 탐색 창에서 Published Applications(게시된 애플리케이션)를 선택하면 생성한 애플리케이션 목록이 표시됩니다.

  3. 공유하고자 하는 애플리케이션을 선택합니다.

  4. 공유 탭을 선택합니다.

  5. Application policy statements(애플리케이션 정책 문) 섹션에서 Create Statement(문 생성) 버튼을 선택합니다.

  6. Statement Configuration(문 구성) 창에서 원하는 애플리케이션 공유 방법에 따라 필드에 값을 입력합니다.

    참고

    조직과 공유하는 경우 해당 조직만 지정할 수 있습니다.AWS계정은 의 멤버입니다. 을 (를) 지정하려고 하면AWS소속되지 않은 조직에서는 오류가 발생합니다.

    응용 프로그램을 다음과 공유하려면AWS조직, 귀하는 다음을 인정해야 합니다.UnshareApplicationfuture 공유를 취소해야 할 경우 해당 정책 문에 작업이 추가됩니다.

  7. 저장 버튼을 선택합니다.

옵션 2: 애플리케이션을 모든 사람과 공개적으로 공유하려면
  1. AWS Serverless Application Repository 콘솔을 엽니다.

  2. 탐색 창에서 Published Applications(게시된 애플리케이션)를 선택하면 생성한 애플리케이션 목록이 표시됩니다.

  3. 공유하고자 하는 애플리케이션을 선택합니다.

  4. 공유 탭을 선택합니다.

  5. Public Sharing(공개 공유) 섹션에서 편집 버튼을 선택합니다.

  6. Public Sharing(공개 공유) 에서 사용 라디오 버튼을 선택합니다.

  7. 텍스트 상자에 애플리케이션의 이름을 입력한 다음 저장 버튼을 선택합니다.

참고

애플리케이션을 공개적으로 공유하려면 SemanticVersionLicenseUrl 속성이 둘 다 설정되어 있어야 합니다.

AWS CLI를 통해 애플리케이션 공유

를 사용하여 애플리케이션을 공유하려면AWS CLI다음을 사용하여 권한을 부여합니다.put-application-policy를 지정하는 명령AWS보안 주체로 공유하려는 계정.

를 사용하여 애플리케이션 공유에 대한 자세한 내용은AWSCLI, 참조AWS Serverless Application Repository애플리케이션 정책 예제.

애플리케이션 공유 해제

에서 애플리케이션을 공유 해제하는 옵션은 두 가지가 있습니다.AWS조직:

  1. 애플리케이션 게시자는 put-application-policy 명령을 사용하여 권한을 제거할 수 있습니다.

  2. 에서 온 사용자관리 계정의AWS조직은 다음을 수행할 수 있습니다.애플리케이션 공유 해제다른 계정의 사용자가 게시한 애플리케이션을 포함하여 해당 조직과 공유한 모든 애플리케이션에서 작업을 수행합니다.

    참고

    응용 프로그램이 에서 공유되지 않은 경우AWS“애플리케이션 공유 해제” 작업이 있는 조직에서는 과 공유할 수 없습니다.AWS조직 다시.

    AWS Organizations에 대한 자세한 내용은 AWS Organizations 사용 설명서를 참조하세요.

게시자가 권한 제거

콘솔을 통해 게시자가 권한 제거

를 통해 애플리케이션 공유를 해제하려면AWS Management Console를 사용하여 정책을 다른 사람과 공유하는 정책 문을 제거합니다.AWS계정. 이렇게 하려면 다음 단계를 따릅니다.

  1. AWS Serverless Application Repository 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 Available Applications(사용 가능한 애플리케이션)를 선택합니다.

  3. 공유 해제할 애플리케이션을 선택합니다.

  4. 공유 탭을 선택합니다.

  5. Application policy statements(애플리케이션 정책 문) 섹션에서 공유를 해제하려는 계정과 그 애플리케이션을 공유하는 정책 문을 선택합니다.

  6. 삭제를 선택합니다.

  7. 확인 메시지가 나타납니다. 다시 삭제를 선택합니다.

AWS CLI를 통해 게시자가 권한 제거

를 통해 애플리케이션 공유를 해제하려면AWS CLI게시자는 다음을 사용하여 권한을 제거하거나 변경할 수 있습니다.put-application-policy응용 프로그램을 비공개로 설정하거나 다른 세트와 공유하는 명령AWS계정.

를 사용하여 권한 변경에 대한 자세한 내용은AWSCLI, 참조AWS Serverless Application Repository애플리케이션 정책 예제.

관리 계정 애플리케이션 공유 해제

관리 계정 에서 응용 프로그램 공유 해제AWS콘솔을 통한 조직

에서 응용 프로그램을 공유 해제하려면AWS를 통한 조직AWS Management Console에서 가져온 사용자관리 계정은 다음 작업을 수행할 수 있습니다.

  1. AWS Serverless Application Repository 콘솔을 엽니다.

  2. 왼쪽 탐색 창에서 Available Applications(사용 가능한 애플리케이션)를 선택합니다.

  3. 애플리케이션 타일에서 Unshare(공유 해제)를 선택합니다.

  4. 공유 해제 메시지 상자에서 조직 ID와 애플리케이션 이름을 입력한 다음 저장을 선택하여 애플리케이션의 공유 해제를 확인합니다.

관리 계정 에서 응용 프로그램 공유 해제AWS를 통한 조직AWS CLI

에서 응용 프로그램을 공유 해제하려면AWS조직,관리 계정실행할 수 있습니다aws serverlessrepo unshare-application명령.

다음 명령은 응용 프로그램의 공유 해제AWS조직, 여기서애플리케이션 ID애플리케이션의 Amazon 리소스 이름 (ARN) (리소스 이름) 입니다.조직 ID입니다AWS조직 ID:

aws serverlessrepo unshare-application --application-id application-id --organization-id organization-id

애플리케이션 삭제

AWS Management Console 또는 AWS SAM CLI를 사용하여 AWS Serverless Application Repository에서 애플리케이션을 삭제할 수 있습니다.

애플리케이션 삭제(콘솔)

AWS Management Console을 통해 게시된 애플리케이션을 삭제하려면 다음을 수행합니다.

  1. AWS Serverless Application Repository 콘솔을 엽니다.

  2. 내 애플리케이션에서 삭제하고자 하는 애플리케이션을 선택합니다.

  3. 애플리케이션의 세부 정보 페이지에서 애플리케이션 삭제를 선택합니다.

  4. 애플리케이션 삭제를 선택하여 삭제를 완료합니다.

애플리케이션 삭제(AWS CLI)

AWS CLI를 사용하여 게시된 애플리케이션을 삭제하려면 aws serverlessrepo delete-application 명령을 실행합니다.

다음 명령은 애플리케이션을 삭제합니다. 여기서 application-id는 애플리케이션의 ARN(Amazon 리소스 이름)입니다.

aws serverlessrepo delete-application --application-id application-id