- 서버리스›
- Serverless Application Repository›
- FAQ 및 약관
Serverless Application Repository FAQ 및 약관
일반
서버리스 애플리케이션이란 무엇입니까?
서버리스 애플리케이션에서는 서버나 다른 인프라를 프로비저닝, 배포 또는 관리할 필요가 없습니다. 기본적으로 고가용성이 함께 제공되며 계속해서 자동으로 확장/축소됩니다. 컴퓨팅에 AWS Lambda, API에 Amazon API Gateway, 데이터베이스에 Amazon DynamoDB를 사용하는 등 수많은 완전관리형 AWS 서비스 중 하나를 사용하여 서버리스 애플리케이션을 구축 및 실행할 수 있습니다.
AWS Serverless Application Repository란 무엇입니까?
AWS Serverless Application Repository는 AWS 및 다른 AWS 파트너와 개발자가 게시한 서버리스 애플리케이션 모음을 제공하며 그 규모가 점점 더 커지고 있습니다. Serverless Application Repository를 사용하면 웹 및 모바일 백엔드, 스트림 처리, 기계 학습 등 일반 사용 사례를 위한 애플리케이션을 쉽게 배포할 수 있으므로, AWS Serverless 플랫폼을 신속하게 시작할 수 있습니다.
어느 리전에서 AWS Serverless Application Repository를 사용할 수 있습니까?
미국 동부(오하이오), 미국 동부(버지니아 북부), 미국 서부(캘리포니아 북부), 미국 서부(오레곤), 아시아 태평양(도쿄), 아시아 태평양(서울), 아시아 태평양(뭄바이), 아시아 태평양(싱가포르), 아시아 태평양(시드니), 캐나다(중부), EU(프랑크푸르트), EU(아일랜드), EU(런던), 남아메리카(상파울루) 리전에서 사용할 수 있습니다.
AWS Serverless Application Repository에는 어떤 종류의 애플리케이션이 있습니까?
AWS Serverless Application Repository에는 Alexa 스킬, 챗봇, 데이터 처리, IoT, 실시간 스트림 처리, 웹 및 모바일 백엔드, 소셜 미디어 추세 분석, 이미지 크기 조정용 애플리케이션들과 그 외 AWS 게시자의 애플리케이션들이 포함되어 있습니다.
AWS Serverless Application Repository를 사용하는 비용은 어떻게 됩니까?
AWS Serverless Application Repository에서 애플리케이션을 탐색하거나 배포하거나 게시하는 데 따른 비용은 없습니다. 배포한 애플리케이션에서 사용하는 리소스에 대해 표준 AWS 요금이 부과됩니다.
AWS Serverless Application Repository에 있는 애플리케이션의 라이선스는 어떻게 됩니까?
AWS에서 제공하는 애플리케이션은 MIT 오픈 소스 라이선스로 제공되며, 다른 업체에서 공개적으로 제공하는 애플리케이션은 OSI(Open Source Initiative)에서 승인한 하나 이상의 오픈 소스 라이선스에 따라 제공될 수 있습니다. AWS 웹 사이트에서 애플리케이션 라이선스 탭으로 이동하면 라이선스 세부 정보를 볼 수 있습니다.
AWS에서는 AWS Serverless Application Repository에 있는 애플리케이션을 확인합니까?
AWS에서 게시하는 모든 애플리케이션의 경우 라이선스 준수 및 코드 품질을 검사합니다. 타사에서 게시하는 애플리케이션의 경우 애플리케이션이 어떤 리소스를 변경하거나 액세스할 수 있는지 소비자가 알 수 있도록 권한이 올바르게 사용되는지 확인합니다. 애플리케이션을 사용하기 전에 이러한 세부 정보와 더불어 AWS 고객이 해당 애플리케이션을 배포한 횟수를 확인할 수 있습니다.
AWS Serverless Application Repository를 GitHub와 함께 사용할 수 있습니까?
예. AWS Serverless Application Repository에서는 개발자가 GitHub 리포지토리에 구축된 서버리스 애플리케이션을 게시할 수 있습니다. AWS CodePipeline을 사용하여 GitHub 소스를 AWS Serverless Application Repository에 연결하면 게시 프로세스가 훨씬 쉬워지며, 프로세스를 몇 분 내에 설정할 수 있습니다.
애플리케이션 배포
내 계정에 배포된 서버리스 애플리케이션을 관리하려면 어떻게 해야 합니까?
서버리스 애플리케이션은 AWS CloudFormation 스택으로 배포되므로, 애플리케이션을 단일 유닛으로 간편하게 관리할 수 있습니다. 각 리소스에는 애플리케이션의 고유하게 식별 가능한 Amazon 리소스 이름(ARN)이 태깅되므로 AWS Tag Editor 콘솔을 사용해 리소스를 찾을 수 있습니다. 또한, 기존 AWS 및 타사 도구를 사용해 각 리소스를 별도로 관리할 수 있습니다.
애플리케이션 게시
서버리스 애플리케이션을 AWS Serverless Application Repository에 게시하려면 어떻게 해야 합니까?
서버리스 애플리케이션을 게시하려면, 애플리케이션을 AWS SAM(Serverless Application Model)을 사용해 설명하고, AWS CLI를 사용해 패키징한 후, AWS Management Console, AWS CLI 또는 AWS SDK를 사용해 게시하면 됩니다. 유효한 AWS 계정이 있어야 하고 애플리케이션의 이름, 설명, 소스 코드 링크 및 LICENSE.txt를 제공해야 합니다. AWS 고객에게 제공하려고 만든 애플리케이션은 미국 동부(버지니아 북부) 또는 미국 동부(오하이오) 리전에 게시되어야 합니다.
AWS Serverless Application Repository에 게시한 애플리케이션은 누가 배포할 수 있습니까?
이 리포지토리에 있는 애플리케이션을 누가 검색하고 배포할 수 있는지는 게시자가 제어합니다. 팀(같은 AWS 계정 내 그룹)으로 액세스 권한을 제한하거나, 다른 계정과 애플리케이션을 공유하거나, AWS 고객 누구나 사용할 수 있도록 공개할 수 있습니다. 게시하는 애플리케이션의 권한 및 가시성에 대해 자세히 알아보려면 리소스 기반 정책 설명서를 참조하세요.
내가 게시하는 서버리스 애플리케이션에 요금을 부과할 수 있습니까?
서버리스 애플리케이션 사용에 대한 요금을 부과하고 싶다면, Amazon API Gateway 뒤에 AWS Lambda를 통합한 후 이 API를 AWS Marketplace에서 SaaS 제품으로 판매하면 됩니다. 자세한 내용은 AWS Marketplace에 제품을 등록하는 방법과 API Gateway를 사용해 API를 수익화하는 방법을 살펴보십시오.
중첩 애플리케이션 사용
중첩 애플리케이션이란 무엇입니까?
중첩 서버리스 애플리케이션이란 다른 서버리스 애플리케이션에 포함되어 함께 배포되는 구성 요소를 말합니다. 서버리스 아키텍처가 확장되면 다수의 애플리케이션 템플릿에서 동일한 구성 요소를 정의할 수 있는 공통 패턴이 나타납니다. 이러한 공통 패턴을 전용 애플리케이션으로 구분한 후 새로운 또는 기존 애플리케이션 템플릿의 일부로 중첩시킬 수 있습니다.
중첩 애플리케이션은 어떻게 배포됩니까?
중첩 애플리케이션은 AWS CloudFormation 중첩 스택으로 배포됩니다.
내 SAM 템플릿에 중첩 애플리케이션을 추가하려면 어떻게 해야 합니까?
AWS:Serverless:Application 리소스 유형을 사용해 로컬에서 개발하였거나, 혹은 Serverless Application Repository를 통해 공유하고 있는 애플리케이션을 추가합니다. 중첩 애플리케이션 또는 참조 출력 입력 값은 간단한 AWS SAM 구문을 사용해 정의할 수 있습니다. 자세한 내용은 설명서를 참조하세요.
애플리케이션을 중첩시킬 때 리소스 이름이 충돌하면 어떻게 처리해야 합니까?
SAM 템플릿의 중첩 애플리케이션마다 고유한 이름을 지정하십시오. 중첩 애플리케이션에서 생성되는 리소스의 범위는 애플리케이션의 고유 이름으로 지정됩니다.
중첩 애플리케이션을 패키징하려면 어떻게 해야 합니까?
SAM CLI sam package 명령을 사용해 중첩 애플리케이션을 패키징합니다. 이렇게 패키징된 애플리케이션은 API 또는 AWS SDK를 사용해 Serverless Application Repository에 게시합니다. SAM CLI sam deploy 명령은 애플리케이션을 바로 배포할 때 사용할 수 있습니다.
SAM CLI를 사용해 중첩 애플리케이션 계층을 패키징할 수 있습니까?
예. SAM CLI sam package 명령은 중첩 애플리케이션 계층을 재귀적으로 패키징합니다. 최상위 애플리케이션 템플릿 1개에 최대 199개까지 애플리케이션을 중첩시킬 수 있습니다.
중첩 애플리케이션 소모
내 계정에 배포된 서버리스 애플리케이션을 관리하려면 어떻게 해야 합니까?
서버리스 애플리케이션은 AWS CloudFormation 스택으로 배포되므로, 애플리케이션을 단일 유닛으로 간편하게 관리할 수 있습니다. 각 리소스에는 애플리케이션의 고유하게 식별 가능한 Amazon 리소스 이름(ARN)이 태깅되므로 AWS Tag Editor 콘솔을 사용해 리소스를 찾을 수 있습니다. 또한, 기존 AWS 및 타사 도구를 사용해 각 리소스를 별도로 관리할 수 있습니다.
내가 Serverless Application Repository를 통해 공유하고 있는 애플리케이션을 중첩시키려면 어떻게 해야 합니까?
애플리케이션 ARN과 애플리케이션에 필요한 모든 입력 파라미터를 사용해 AWS:Serverless:Application SAM 리소스를 구성하십시오. 자세한 내용은 설명서를 참조하세요.
Serverless Application Repository에서 사용했던 중첩 애플리케이션을 패키징하려면 어떻게 해야 하나요?
Serverless Application Repository의 중첩 애플리케이션은 이미 패키징되어 언제든지 사용할 수 있습니다. 애플리케이션을 계정에 배포하기 전에 먼저 기존 SAM CLI sam package 명령을 사용하여 중첩 애플리케이션을 여전히 사용할 수 있는지 확인할 수 있습니다.
내가 중첩시킨 애플리케이션을 더 이상 사용할 수 없는 경우에는 어떻게 됩니까?
애플리케이션이 중첩 이후 삭제되었거나 더 이상 액세스할 수 없더라도 기존에 배포된 애플리케이션에는 아무런 영향도 미치지 않습니다. 더 이상 존재하지 않는 종속 관계를 이용해 배포할 경우에는 애플리케이션을 업데이트해야 합니다.
애플리케이션에 다른 중첩 애플리케이션이 포함되어 있는지 알려면 어떻게 해야 합니까?
중첩 애플리케이션이 하나 이상 포함되어 있는 애플리케이션은 CAPABILITY_AUTO_EXPAND를 사용합니다.
중첩 애플리케이션 게시
중첩 애플리케이션을 Serverless Application Repository에 게시할 수 있습니까?
예. 중첩 애플리케이션은 오늘날 독립 실행형 애플리케이션을 게시하는 것처럼 Serverless Application Repository에 게시할 수 있습니다. AWS 콘솔, AWS CLI, SAM CLI 또는 Serverless Application Repository API를 사용해 중첩 애플리케이션을 게시하면 됩니다.
중첩 애플리케이션 공유
중첩 애플리케이션이 포함된 애플리케이션을 공유하려면 어떻게 해야 합니까?
서버리스 애플리케이션은 오늘날 Lambda 함수에서 사용하는 것과 동일한 모델을 따릅니다. Serverless Application Repository의 서버리스 애플리케이션에 대한 액세스는 AWS IAM 리소스 기반 정책을 사용하여 제어할 수 있습니다. 정책을 사용해 애플리케이션을 비공개로 유지하거나, 계정 간 액세스를 허용하거나, 혹은 공개 사용으로 전환할 수 있습니다.
중첩 애플리케이션 계층 구조가 있을 때는 공유가 어떻게 이루어집니까?
중첩 애플리케이션 계층 구조가 있을 때는 최상의 애플리케이션을 함께 공유하고 있는 AWS 계정에게 각 중첩 애플리케이션을 사용할 수 있도록 허용해야 합니다.
애플리케이션 공유
애플리케이션을 하나의 AWS Organizations에 속한 모든 계정과 공유할 수 있습니까?
예. 이제 애플리케이션을 하나의 AWS Organizations에 속한 모든 계정과 공유할 수 있습니다. 서버리스 애플리케이션은 현재 Lambda 함수에서 사용하는 것과 동일한 모델을 따릅니다. AWS Serverless Application Repository의 서버리스 애플리케이션에 대한 액세스는 AWS IAM 리소스 기반 정책을 사용하여 제어할 수 있습니다. 정책을 사용하여 애플리케이션을 비공개로 유지하거나, 계정 간 액세스를 허용하거나, 조직에 액세스를 권한을 부여하거나, 공개 사용으로 전환할 수 있습니다. 서버리스 애플리케이션의 리소스 기반 정책에 대한 자세한 내용은 여기를 참조하세요.
애플리케이션을 하나의 AWS Organizations와 공유하도록 리소스 기반 정책을 업데이트하려면 어떻게 해야 합니까?
시작하려면 먼저 AWS Serverless Application Repository에서 원하는 애플리케이션을 찾고, [Share] 탭을 클릭한 후, [Create Statement]를 클릭합니다. 여기에서 원하는 AWS Organizations 보안 주체를 추가하면 해당 조직에 애플리케이션에 대한 액세스 권한을 부여할 수 있습니다. 또한, AWS Serverless Application Repository API를 사용하여 하나의 AWS Organizations 전체에서 애플리케이션을 공유하도록 리소스 기반 정책을 업데이트할 수도 있습니다. 리소스 기반 정책에 대한 자세한 내용은 여기에서 설명서를 참조하세요.
애플리케이션을 여러 AWS Organizations와 공유할 수 있습니까?
아니요. 사용자 계정과 동일한 AWS Organizations에 속한 계정으로만 애플리케이션을 공유할 수 있습니다.
애플리케이션을 내 조직 내 특정 조직 단위(OU)와 공유할 수 있습니까?
애플리케이션을 조직 단위(OU)와 공유하는 기능은 지원되지 않습니다. 정책을 사용하여 애플리케이션을 비공개로 유지하거나, 계정 간 액세스를 허용하거나, 조직에 액세스를 권한을 부여하거나, 공개 사용으로 전환할 수 있습니다.
애플리케이션을 조직 내 특정 계정과 공유하려면 어떻게 해야 합니까?
조직 내 특정 계정에 애플리케이션에 대한 액세스를 제공하려면 리소스 기반 정책을 업데이트하여 애플리케이션을 공유하려는 AWS 계정과 AWS Organizations ID를 추가하면 됩니다.
애플리케이션 보기 권한만 허용하도록 조직의 권한을 업데이트할 수 있습니까?
예. 리소스 기반 정책에 원하는 동작을 설정하여 사용자가 공유한 애플리케이션에 대해 다른 사용자가 수행할 수 있는 작업 유형을 제한할 수 있습니다. 리소스 기반 정책에 대한 동작 업데이트는 AWS Serverless Application Repository API 및 콘솔을 통해 수행할 수 있습니다. 리소스 기반 정책에서 설정할 수 있는 동작에 대해 자세히 알아보려면 여기에서 설명서를 참조하세요.
사용자 약관
사용자 약관
1. AWS 고객인 게시자는 자사의 AWS 서버리스 애플리케이션 및 구성 요소("AWS 서버리스 애플리케이션")를 제출하여 리포지토리 콘솔 게시 프로세스에 따라 AWS Serverless Application Repository("리포지토리")를 통해 비공개로, 지정된 AWS 계정에 또는 리포지토리를 사용하는 모든 AWS 고객에 제공할 수 있습니다. 비공개로 또는 지정된 AWS 계정에 제공되는 AWS 서버리스 애플리케이션은 바이너리 또는 소스 코드 형태로 제공됩니다. 모든 AWS 고객에 제공되는 AWS 서버리스 애플리케이션은 바이너리 또는 소스 코드 형태로 제공될 수 있지만 사용자가 소스 코드에 액세스할 수 있도록 충분한 세부 정보를 포함해야 합니다.
2. 게시자는 AWS 서버리스 애플리케이션을 리포지토리에 제출할 수 있는 모든 라이선스 및 필요한 권한 또는 권리를 보유해야 합니다. 게시자는 AWS 서버리스 애플리케이션과 더불어 AWS 서버리스 애플리케이션의 라이선스(오픈 소스 라이선스 저작권 표시 요구 사항 포함)의 약관을 리포지토리에 제출해야 합니다. 게시자는 리포지토리로 제출하기 전에 모든 AWS 서버리스 애플리케이션을 검토, 평가 및 테스트할 책임이 있습니다.
3. 게시자는 AWS 및 자회사에 리포지토리의 AWS 서버리스 애플리케이션을 재생산, 배포, 공개적으로 또는 지정된 AWS 계정 내에 표시(해당하는 경우), 수행, 전송, 사용 및 디지털 방식으로 제공(각종 온라인 및 전자 배포 수단을 통해)할 권한을 부여합니다.
4. 게시자는 AWS 서버리스 애플리케이션을 리포지토리로 제출할 모든 권한을 보유하고, 리포지토리에서 AWS 서버리스 애플리케이션 다운로드를 허용할 모든 권한을 보유하며, 필요한 모든 저작권 표시 사항을 제공했음을 보증합니다. 게시자는 AWS 서버리스 애플리케이션을 다른 사용자에게 피해를 줄 의도 또는 목적으로 맬웨어, 악성 또는 기타 해로운 콘텐츠와 함께 제출하지 않습니다. AWS에서는 이러한 이유 또는 다른 이유에 따라 자유재량으로 AWS 서버리스 애플리케이션을 제거 및 삭제할 수 있습니다.
5. AWS 고객은 다운로드하는 모든 AWS 서버리스 애플리케이션의 라이선스(저작권 표시 또는 다른 요구 사항 포함)를 준수합니다.
6. AWS 서버리스 애플리케이션의 파생물을 생성하는 모든 AWS 고객은 AWS 서버리스 애플리케이션의 라이선스에 따라 그러한 작업을 수행하기에 적합한 권한을 보유하고 있는지 판단할 책임이 있으며 모든 저작권 표시 또는 기타 요구 사항을 준수해야 합니다.
7. 게시자의 AWS 서버리스 애플리케이션 라이선스 또는 기타 계약은 게시자와 AWS 고객 간에만 존재합니다. AWS 또는 어떤 자회사도 해당 라이선스 또는 기타 계약에 관여하지 않으며 해당 라이선스 또는 기타 계약에 따른 책임이나 의무도 없습니다. AWS는 게시자 또는 AWS 고객이 라이선스(저작권 표시 포함) 또는 기타 요구 사항을 준수하도록 해야 할 책임이나 의무가 없습니다.
8. 리포지토리에 있는 AWS 서버리스 애플리케이션 및 기타 모든 타사 자료는 "리포지토리 콘텐츠"입니다. 이 리포지토리 콘텐츠는 상품성, 특정 목적 적합성 및 비침해에 대한 보증을 포함하되 이에 국한되지 않고 어떠한 종류의 명시적 또는 묵시적 보증 없이 "있는 그대로" 제공됩니다. 게시자, 저작권 보유자, AWS 또는 자회사는 어떠한 경우에도 리포지토리 콘텐츠와 관련한 또는 리포지토리 콘텐츠의 사용 또는 기타 처리와 관련한 계약, 불법 또는 기타의 행위로 인해 발생하는 청구, 손해 또는 기타 책임에 대한 책임을 지지 않습니다.
9. 게시자와 AWS 고객은 리포지토리 사용 시 이러한 모든 약관을 준수할 것에 동의하며 이러한 약관은 AWS에서 때때로 업데이트합니다.