서비스 생성 - AWS Proton

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

서비스 생성

개발자로서 애플리케이션을 배포하려면 서비스를 만들고 다음과 같은 정보를 제공해야 합니다.AWS Proton

  1. 플랫폼 팀에서 게시한AWS Proton 서비스 템플릿의 이름입니다.

  2. 서비스의 이름입니다.

  3. 배포하려는 서비스 인스턴스 수입니다.

  4. 사용하려는 환경을 선택합니다.

  5. 서비스 파이프라인이 포함된 서비스 템플릿을 사용하는 경우 코드 리포지토리에 대한 연결 (선택 사항).

서비스에는 어떤 것이 있나요?

AWS Proton서비스를 생성할 때, 두 가지 다른 서비스 템플릿 중에서 선택할 수 있습니다.

  • 서비스 파이프라인을 포함하는 서비스 템플릿 (기본값).

  • 서비스 파이프라인이 포함되지 않은 서비스 템플릿입니다.

서비스를 생성할 때 서비스 인스턴스를 하나 이상 만들어야 합니다.

서비스 인스턴스와 선택적 파이프라인은 서비스와 연결됩니다. 서비스 생성 및 삭제 작업 컨텍스트 내에서만 파이프라인을 생성하거나 삭제할 수 있습니다. 서비스에 인스턴스 추가 및 제거 방법에 대해 알아보려면 단원을 참조하세요서비스 편집.

참고

사용자 환경은AWS - 또는 자체 관리형 프로비저닝을 위해 구성되어 있습니다. AWS Proton환경에서 사용하는 것과 동일한 프로비저닝 방법을 사용하여 환경에 서비스를 프로비저닝합니다. 서비스 인스턴스를 만들거나 업데이트하는 개발자는 차이를 느끼지 못하며 두 경우 모두 경험이 동일합니다.

프로비저닝 방법에 대한 자세한 내용은 단원을 참조하세요인프라를AWS Proton 프로비저닝하는 방법.

서비스 템플릿

메이저 버전과 마이너 버전의 서비스 템플릿을 모두 사용할 수 있습니다. 콘솔을 사용할 때는 서비스 템플릿의 최신Recommended 메이저 및 마이너 버전을 선택합니다. 를 사용하고 서비스 템플릿의 주 버전만 지정하는 경우 최신Recommended 마이너 버전을 암시적으로 지정합니다.AWS CLI

다음은 메이저 및 마이너 템플릿 버전 간의 차이점과 사용법을 설명합니다.

  • 새 버전의 템플릿은 플랫폼 팀 구성원이 승인하는 즉시 제공됩니다.Recommended 즉, 해당 버전을 사용하여 새 서비스가 생성되고 기존 서비스를 새 버전으로 업데이트하라는 메시지가 표시됩니다.

  • 를 통해AWS Proton 플랫폼 팀은 서비스 인스턴스를 서비스 템플릿의 새 마이너 버전으로 자동 업데이트할 수 있습니다. 마이너 버전은 이전 버전과 호환되어야 합니다.

  • 메이저 버전에서는 업데이트 프로세스의 일부로 새 입력을 제공해야 하므로 서비스를 해당 서비스 템플릿의 메이저 버전으로 업데이트해야 합니다. 메이저 버전은 이전 버전과 호환되지 않습니다.

서비스 생성

다음 절차는AWS Proton 콘솔을 사용하거나 서비스 파이프라인을 사용하거나AWS CLI 사용하지 않고 서비스를 만드는 방법을 보여줍니다.

AWS Management Console
다음 콘솔 단계에 표시된 대로 서비스를 생성합니다.
  1. AWS Proton콘솔에서 [서비스] 를 선택합니다.

  2. [Create service]를 선택합니다.

  3. 서비스 템플릿 선택 페이지에서 템플릿을 선택하고 구성을 선택합니다.

    활성화된 파이프라인을 사용하지 않으려면 서비스에 Excludes 파이프라인으로 표시된 템플릿을 선택하세요.

  4. 서비스 구성 페이지의 서비스 설정 섹션에서 서비스 이름을 입력합니다.

  5. (선택 사항) 서비스에 대한 설명을 입력합니다.

  6. 서비스 리포지토리 설정 섹션에서:
    1. CodeStar 연결의 경우 목록에서 연결을 선택합니다.

    2. 리포지토리 ID의 경우 목록에서 소스 코드 리포지토리의 이름을 선택합니다.

    3. Branch name에서 목록에서 소스 코드 리포지토리 브랜치의 이름을 선택합니다.

  7. (선택 사항) 태그 섹션에서 Add new tag (새 태그 추가) 를 선택하고 키와 값을 입력하여 고객 관리 태그를 생성합니다.

  8. Next(다음)를 선택합니다.

  9. 사용자 지정 설정 구성 페이지, 서비스 인스턴스 섹션, 새 인스턴스 섹션에서 required매개변수 값을 입력해야 합니다. optional매개변수 값을 입력하거나 제공된 경우 기본값을 사용할 수 있습니다.

  10. 파이프라인 입력 섹션에서required 매개변수 값을 입력해야 합니다. optional매개변수 값을 입력하거나 제공된 경우 기본값을 사용할 수 있습니다.

  11. 다음을 선택하고 입력한 내용을 검토하십시오.

  12. Create(생성)를 선택합니다.

    서비스 세부 정보 및 상태뿐만 아니라 서비스의AWS 관리 태그 및 고객 관리 태그를 볼 수 있습니다.

  13. 탐색 창에서 서비스를 선택합니다.

    새 페이지에는 상태 및 기타 서비스 세부 정보와 함께 서비스 목록이 표시됩니다.

AWS CLI

를 사용하는AWS CLI 경우 소스 코드 디렉터리에 있는 YAML 형식spec 파일에 서비스 입력을 지정합니다..aws-proton/service.yaml

CLIget-service-template-minor-version 명령을 사용하여 사양 파일에 값을 제공하는 스키마 필수 및 선택적 매개 변수를 볼 수 있습니다.

pipelineProvisioning: "CUSTOMER_MANAGED" 있는 서비스 템플릿을 사용하려면 사양에pipeline: 섹션을 포함하지 말고create-service 명령에-repository-connection-arn-repository-id, 및-branch-name 매개 변수를 포함하지 마십시오.

다음 CLI 단계와 같이 서비스 파이프라인을 사용하여 서비스를 생성합니다.

  1. 다음 CLI 예제 명령에 표시된 대로 파이프라인의 서비스 역할을 설정합니다.

    명령:

    $ aws proton update-account-settings \ --pipeline-service-role-arn "arn:aws:iam::123456789012:role/AWSProtonServiceRole"
  2. 다음 목록은 서비스 템플릿 스키마를 기반으로 서비스 파이프라인 및 인스턴스 입력을 포함하는 예제 사양을 보여줍니다.

    Spec:

    proton: ServiceSpec pipeline: my_sample_pipeline_required_input: "hello" my_sample_pipeline_optional_input: "bye" instances: - name: "acme-network-dev" environment: "ENV_NAME" spec: my_sample_service_instance_required_input: "hi" my_sample_service_instance_optional_input: "ho"

    다음 CLI 예제 명령 및 응답에 표시된 대로 파이프라인을 사용하여 서비스를 생성합니다.

    명령:

    $ aws proton create-service \ --name "MySimpleService" \ --branch-name "mainline" \ --template-major-version "1" \ --template-name "fargate-service" \ --repository-connection-arn "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" \ --repository-id "myorg/myapp" \ --spec "file://spec.yaml"

    응답:

    { "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleService", "createdAt": "2020-11-18T19:50:27.460000+00:00", "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00", "name": "MySimpleService", "repositoryConnectionArn": "arn:aws:codestar-connections:region-id:123456789012:connection/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "repositoryId": "myorg/myapp", "status": "CREATE_IN_PROGRESS", "templateName": "fargate-service" } }

다음 CLI 예제 명령 및 응답에 표시된 대로 서비스 파이프라인 없이 서비스를 생성합니다.

다음은 서비스 파이프라인 입력을 포함하지 않는 예제 사양을 보여줍니다.

Spec:

proton: ServiceSpec instances: - name: "acme-network-dev" environment: "ENV_NAME" spec: my_sample_service_instance_required_input: "hi" my_sample_service_instance_optional_input: "ho"

프로비저닝된 서비스 파이프라인 없이 서비스를 생성하려면 에 대한 경로를 제공하고 다음 CLI 예제 명령spec.yaml 및 응답과 같이 리포지토리 매개 변수를 포함하지 마십시오.

명령:

$ aws proton create-service \ --name "MySimpleServiceNoPipeline" \ --template-major-version "1" \ --template-name "fargate-service" \ --spec "file://spec-no-pipeline.yaml"

응답:

{ "service": { "arn": "arn:aws:proton:region-id:123456789012:service/MySimpleServiceNoPipeline", "createdAt": "2020-11-18T19:50:27.460000+00:00", "lastModifiedAt": "2020-11-18T19:50:27.460000+00:00", "name": "MySimpleServiceNoPipeline", "status": "CREATE_IN_PROGRESS", "templateName": "fargate-service-no-pipeline" } }