자습서: Service Catalog에 배포하는 파이프라인 생성 - AWS CodePipeline

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

자습서: Service Catalog에 배포하는 파이프라인 생성

Service Catalog는 AWS CloudFormation 템플릿을 기반으로 제품을 생성하고 프로비저닝할 수 있게 해 줍니다. 이 자습서에서는 Service Catalog에 제품 템플릿을 배포하고 소스 리포지토리(이미 GitHub, CodeCommit 또는 Amazon S3에 생성됨)에서 변경한 사항을 제공하기 위해 파이프라인을 생성하고 구성하는 방법을 보여 줍니다.

참고

Amazon S3가 파이프라인의 소스 공급자인 경우, 단일 .zip 파일로 패키지된 모든 소스 파일을 버킷에 업로드해야 합니다. 그렇지 않으면 소스 작업이 실패합니다.

먼저 Service Catalog에서 제품을 생성한 다음 AWS CodePipeline에서 파이프 라인을 생성합니다. 이 자습서에서는 배포 구성을 설정하기 위한 두 가지 옵션을 제공합니다.

  • Service Catalog에서 제품을 생성하고 소스 리포지토리에 템플릿 파일을 업로드합니다. 별도의 구성 파일 없이 CodePipeline 콘솔에서 제품 버전 및 배포 구성을 제공합니다. 옵션 1: 구성 파일 없이 Service Catalog에 배포를 참조하세요.

    참고

    템플릿 파일은 YAML 또는 JSON 형식으로 생성할 수 있습니다.

  • Service Catalog에서 제품을 생성하고 소스 리포지토리에 템플릿 파일을 업로드합니다. 별도의 구성 파일에서 제품 버전 및 배포 구성을 제공합니다. 옵션 2: 구성 파일을 사용하여 Service Catalog에 배포를 참조하세요.

옵션 1: 구성 파일 없이 Service Catalog에 배포

이 예에서는 S3 버킷에 대한 샘플 AWS CloudFormation 템플릿 파일을 업로드한 다음 Service Catalog에 제품을 생성합니다. 그런 다음 파이프라인을 생성하고 CodePipeline 콘솔에서 배포 구성을 지정합니다.

1단계: 샘플 템플릿 파일을 소스 리포지토리에 업로드

  1. 텍스트 편집기를 엽니다. 다음을 파일에 붙여 넣고 샘플 템플릿을 생성합니다. 파일을 S3_template.json(으)로 저장합니다.

    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }

    이 템플릿을 통해 AWS CloudFormation이 Service Catalog에서 사용할 수 있는 S3 버킷을 생성할 수 있습니다.

  2. AWS CodeCommit 리포지토리에 S3_template.json 파일을 업로드합니다.

2단계: Service Catalog에서 제품 생성

  1. IT 관리자로 Service Catalog 콘솔에 로그인하고 제품 페이지로 이동한 다음 제품 신규 업로드를 선택합니다.

  2. 제품 신규 업로드 페이지에서 다음 작업을 완료합니다.

    1. 제품 이름에 새 제품에 사용할 이름을 입력합니다.

    2. 설명에 제품 카탈로그 설명을 입력합니다. 이 설명은 사용자가 올바른 제품을 선택할 수 있도록 제품 목록에 표시됩니다.

    3. 공급자 - IT 부서 또는 관리자의 이름을 입력합니다.

    4. 다음을 선택합니다.

  3. (선택 사항) 지원 세부 정보 입력 페이지에서 제품 지원에 대한 연락처 정보를 입력하고 다음을 선택합니다.

  4. 버전 세부 정보에서 다음을 완료합니다.

    1. 템플릿 파일 업로드를 선택합니다. S3_template.json 파일을 찾고 업로드합니다.

    2. 버전 제목 - 제품 버전의 이름을 입력합니다(예: devops S3 v2).

    3. 설명에서 이 버전을 다른 버전과 구별하는 세부 정보를 입력합니다.

    4. 다음을 선택합니다.

  5. 검토 페이지에서 정보가 올바른지 확인한 다음 생성을 선택합니다.

  6. 제품 페이지의 브라우저에서 새 제품의 URL을 복사합니다. 이는 제품 ID를 포함합니다. 이 제품 ID를 복사하여 보관합니다. CodePipeline에서 파이프라인을 생성할 때 사용합니다.

    다음은 my-product 제품의 URL입니다. 제품 ID를 추출하려면 등호 기호(=) 및 앰퍼샌드(&) 사이의 값을 복사합니다. 이 예시에서의 제품 ID는 prod-example123456입니다.

    https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
    참고

    페이지에서 벗어나기 전에 제품의 URL을 복사합니다. 이 페이지를 벗어난 후 CLI를 사용하여 제품 ID를 얻어야 합니다.

    몇 초 후 제품 페이지에 제품이 표시됩니다. 목록의 제품을 보기 위해 브라우저를 새로 고쳐야 할 수도 있습니다.

3단계: 파이프라인 생성

  1. 파이프라인에 이름을 지정하고 파이프라인에 대한 파라미터를 선택하려면 다음을 수행합니다.

    1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/codepipeline/에서 CodePipeline 콘솔을 여세요.

    2. 시작하기를 선택합니다. 파이프라인 생성을 선택한 다음 파이프라인의 이름을 입력합니다.

    3. 파이프라인 유형에서 이 자습서의 목적에 맞는 V1을 선택합니다. V2를 선택할 수도 있지만 파이프라인 유형별 특성과 가격이 다르다는 점에 유의하십시오. 자세한 내용은 파이프라인 유형 섹션을 참조하세요.

    4. 서비스 역할에서 새 서비스 역할을 선택하여CodePipeline이 IAM에 서비스 역할을 생성하도록 허용합니다.

    5. [Advanced settings]의 설정은 기본값 그대로 두고, [Next]를 선택합니다.

  2. 소스 단계를 추가하려면 다음을 수행합니다.

    1. 소스 공급자에서 AWS CodeCommit을 선택합니다.

    2. 리포지토리 이름브랜치 이름에서 소스 작업에 사용할 리포지토리와 브랜치를 입력합니다.

    3. 다음을 선택합니다.

  3. Add build stage(빌드 단계 추가)에서 Skip build stage(빌드 단계 건너뛰기)를 선택하고 Skip(건너뛰기)을 다시 선택하여 경고 메시지를 수락합니다.

  4. Add deploy stage(배포 단계 추가)에서 다음을 완료합니다.

    1. Deploy provider(배포 공급자)에서 AWS Service Catalog를 선택합니다.

    2. 배포 구성에서 Enter deployment configuration(배포 구성 입력)을 선택합니다.

    3. 제품 ID에 Service Catalog 콘솔에서 복사한 제품 ID를 붙여 넣습니다.

    4. Template file path(템플릿 파일 경로)에 템플릿 파일이 저장된 상대 경로를 입력합니다.

    5. 제품 유형에서 AWS CloudFormation 템플릿을 선택합니다.

    6. 제품 버전 이름에 Service Catalog에서 지정한 제품 버전의 이름을 입력합니다. 템플릿 변경 사항을 새 제품 버전에 배포하려면 동일한 제품의 이전 제품 버전에 사용되지 않은 제품 버전 이름을 입력합니다.

    7. 입력 아티팩트에 소스 입력 아티팩트를 선택합니다.

    8. 다음을 선택합니다.

  5. Review(검토)에서 파이프라인 설정을 검토한 다음 Create(생성)를 선택합니다.

  6. 파이프라인이 성공적으로 실행된 후 배포 단계에서 세부 정보를 선택합니다. 그러면 제품이 Service Catalog에서 열립니다.

    
              파이프라인의 Service Catalog 배포 단계 보기
  7. 제품 정보에서 버전 이름을 선택하여 제품 템플릿을 엽니다. 템플릿 배포를 봅니다.

4단계: Service Catalog에서 변경 사항 푸시 및 제품 확인

  1. CodePipeline 콘솔의 파이프라인을 보고 소스 페이지에서 세부 정보를 선택합니다. 콘솔에서 소스 AWS CodeCommit 리포지토리가 열립니다. 편집을 선택하고 파일에 대해 변경합니다(예: 설명 변경).

    "Description": "Name of Amazon S3 bucket to hold and version website content"
  2. 변경 사항을 커밋하고 푸시합니다. 변경 사항을 푸시한 후 파이프라인이 시작됩니다. 파이프라인 실행이 완료되면 배포 단계에서 세부 정보를 선택하여 Service Catalog에서 제품을 엽니다.

  3. 제품 정보에서 새 버전 이름을 선택하여 제품 템플릿을 엽니다. 배포된 템플릿 변경 사항을 봅니다.

옵션 2: 구성 파일을 사용하여 Service Catalog에 배포

이 예에서는 S3 버킷에 대한 샘플 AWS CloudFormation 템플릿 파일을 업로드한 다음 Service Catalog에 제품을 생성합니다. 또한 배포 구성을 지정하는 별도의 구성 파일을 업로드합니다. 그런 다음 파이프 라인을 생성하고 구성 파일의 위치를 지정합니다.

1단계: 샘플 템플릿 파일을 소스 리포지토리에 업로드

  1. 텍스트 편집기를 엽니다. 다음을 파일에 붙여 넣고 샘플 템플릿을 생성합니다. 파일을 S3_template.json(으)로 저장합니다.

    { "AWSTemplateFormatVersion": "2010-09-09", "Description": "CloudFormation Sample Template S3_Bucket: Sample template showing how to create a privately accessible S3 bucket. **WARNING** This template creates an S3 bucket. You will be billed for the resources used if you create a stack from this template.", "Resources": { "S3Bucket": { "Type": "AWS::S3::Bucket", "Properties": {} } }, "Outputs": { "BucketName": { "Value": { "Ref": "S3Bucket" }, "Description": "Name of Amazon S3 bucket to hold website content" } } }

    이 템플릿을 통해 AWS CloudFormation이 Service Catalog에서 사용할 수 있는 S3 버킷을 생성할 수 있습니다.

  2. AWS CodeCommit 리포지토리에 S3_template.json 파일을 업로드합니다.

2단계: 제품 배포 구성 파일 생성

  1. 텍스트 편집기를 엽니다. 제품의 구성 파일을 생성합니다. 구성 파일은 Service Catalog 배포 파라미터/기본 설정을 정의하는 데 사용됩니다. 이 파일은 파이프라인을 생성할 때 사용합니다.

    이 샘플은 "devops S3 v2"의 ProductVersionNameMyProductVersionDescriptionProductVersionDescription을 제공합니다. 템플릿 변경 사항을 새 제품 버전에 배포하려면 동일한 제품의 이전 제품 버전에 사용되지 않은 제품 버전 이름을 입력합니다.

    파일을 sample_config.json(으)로 저장합니다.

    { "SchemaVersion": "1.0", "ProductVersionName": "devops S3 v2", "ProductVersionDescription": "MyProductVersionDescription", "ProductType": "CLOUD_FORMATION_TEMPLATE", "Properties": { "TemplateFilePath": "/S3_template.json" } }

    이 파일은 파이프라인이 실행될 때마다 제품 버전 정보를 생성합니다.

  2. AWS CodeCommit 리포지토리에 sample_config.json 파일을 업로드합니다. 이 파일을 소스 리포지토리에 업로드했는지 확인합니다.

3단계: Service Catalog에서 제품 생성

  1. IT 관리자로 Service Catalog 콘솔에 로그인하고 제품 페이지로 이동한 다음 제품 신규 업로드를 선택합니다.

  2. 제품 신규 업로드 페이지에서 다음 작업을 완료합니다.

    1. 제품 이름에 새 제품에 사용할 이름을 입력합니다.

    2. 설명에 제품 카탈로그 설명을 입력합니다. 이 설명은 사용자가 올바른 제품을 선택할 수 있도록 제품 목록에 표시됩니다.

    3. 공급자 - IT 부서 또는 관리자의 이름을 입력합니다.

    4. 다음을 선택합니다.

  3. (선택 사항) 지원 세부 정보 입력 페이지에서 제품 지원 연락처 정보를 입력하고 다음을 선택합니다.

  4. 버전 세부 정보에서 다음을 완료합니다.

    1. 템플릿 파일 업로드를 선택합니다. S3_template.json 파일을 찾고 업로드합니다.

    2. 버전 제목 - 제품 버전의 이름을 입력합니다(예: "devops S3 v2").

    3. 설명에서 이 버전을 다른 버전과 구별하는 세부 정보를 입력합니다.

    4. 다음을 선택합니다.

  5. 검토 페이지에서 정보가 올바른지 확인한 후 Confirm and upload(확인 및 업로드)를 선택합니다.

  6. 제품 페이지의 브라우저에서 새 제품의 URL을 복사합니다. 이는 제품 ID를 포함합니다. 이 제품 ID를 복사하여 보관합니다. CodePipeline에서 파이프라인을 생성할 때 사용합니다.

    다음은 my-product 제품의 URL입니다. 제품 ID를 추출하려면 등호 기호(=) 및 앰퍼샌드(&) 사이의 값을 복사합니다. 이 예시에서의 제품 ID는 prod-example123456입니다.

    https://<region-URL>/servicecatalog/home?region=<region>#/admin-products?productCreated=prod-example123456&createdProductTitle=my-product
    참고

    페이지에서 벗어나기 전에 제품의 URL을 복사합니다. 이 페이지를 벗어난 후 CLI를 사용하여 제품 ID를 얻어야 합니다.

    몇 초 후 제품 페이지에 제품이 표시됩니다. 목록의 제품을 보기 위해 브라우저를 새로 고쳐야 할 수도 있습니다.

4단계: 파이프라인 생성

  1. 파이프라인에 이름을 지정하고 파이프라인에 대한 파라미터를 선택하려면 다음을 수행합니다.

    1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/codepipeline/에서 CodePipeline 콘솔을 여세요.

    2. 시작하기를 선택합니다. 파이프라인 생성을 선택한 다음 파이프라인의 이름을 입력합니다.

    3. 서비스 역할에서 새 서비스 역할을 선택하여CodePipeline이 IAM에 서비스 역할을 생성하도록 허용합니다.

    4. [Advanced settings]의 설정은 기본값 그대로 두고, [Next]를 선택합니다.

  2. 소스 단계를 추가하려면 다음을 수행합니다.

    1. 소스 공급자에서 AWS CodeCommit을 선택합니다.

    2. 리포지토리 이름브랜치 이름에서 소스 작업에 사용할 리포지토리와 브랜치를 입력합니다.

    3. 다음을 선택합니다.

  3. Add build stage(빌드 단계 추가)에서 Skip build stage(빌드 단계 건너뛰기)를 선택하고 Skip(건너뛰기)을 다시 선택하여 경고 메시지를 수락합니다.

  4. Add deploy stage(배포 단계 추가)에서 다음을 완료합니다.

    1. Deploy provider(배포 공급자)에서 AWS Service Catalog를 선택합니다.

    2. Use configuration file(구성 파일 사용)을 선택합니다.

    3. 제품 ID에 Service Catalog 콘솔에서 복사한 제품 ID를 붙여 넣습니다.

    4. Configuration file path(구성 파일 경로)에서 리포지토리의 구성 파일 경로를 입력합니다.

    5. 다음을 선택합니다.

  5. Review(검토)에서 파이프라인 설정을 검토한 다음 Create(생성)를 선택합니다.

  6. 파이프라인이 성공적으로 실행된 후 배포 단계에서 세부 정보를 선택하여 Service Catalog에서 제품을 엽니다.

    
              파이프라인의 Service Catalog 배포 단계 보기
  7. 제품 정보에서 버전 이름을 선택하여 제품 템플릿을 엽니다. 템플릿 배포를 봅니다.

5단계: Service Catalog에서 변경 사항 푸시 및 제품 확인

  1. CodePipeline 콘솔의 파이프라인을 보고 소스 페이지에서 세부 정보를 선택합니다. 콘솔에서 소스 AWS CodeCommit 리포지토리가 열립니다. 편집을 선택한 다음 파일에 대해 변경합니다(예: 설명 변경).

    "Description": "Name of Amazon S3 bucket to hold and version website content"
  2. 변경 사항을 커밋하고 푸시합니다. 변경 사항을 푸시한 후 파이프라인이 시작됩니다. 파이프라인 실행이 완료되면 배포 단계에서 세부 정보를 선택하여 Service Catalog에서 제품을 엽니다.

  3. 제품 정보에서 새 버전 이름을 선택하여 제품 템플릿을 엽니다. 배포된 템플릿 변경 사항을 봅니다.