0

프로덕션 웹 서버를 AWS로 마이그레이션하려고하는데, 서버는 1 웹 사이트에서 정의 된 여러 응용 프로그램이있는 Windows 기반 IIS입니다. 나는 Elastic Beanstalk와 Cloud 형성을 시도했다. 탄력있는 콩기름을 선호하지만, 자동 크기 조정 및 쉬운 배포 루틴을 가진 어떤 것도 만족할 것입니다.여러 IIS 응용 프로그램과 함께 탄력적 인 beanstalk을 만들 수 없습니다.

하나의 하위 응용 프로그램으로 샘플 웹 사이트를 만들었으므로 로컬로 잘 작동합니다. 탄력적 인 beanstalk 용 기본 AMI를 편집하여 추가 응용 프로그램을 추가하고 배포하려고했습니다. 새 AMI로 응용 프로그램을 재배포하려 할 때 다음 오류로 인해 실패한 배치를 완료하지 못했습니다.

[인스턴스 : I-3f13bc11 모듈 : AWSEBAutoScalingGroup ConfigSet : WriteRuntimeConfig 적외선, 적외선 WriteApplication1, WriteApplication2 적외선, 적외선 EmbeddedPreBuild, 후크 PreAppDeploy, 후크 EnactAppDeploy, 적외선 EmbeddedPostBuild, 훅크 PostAppDeploy] 인스턴스에서 명령이 실패했습니다. 리턴 코드 : 1 출력 : null.

Visual Studio와 함께 제공되는 클라우드 형성 템플릿을 사용해 보았지만 작동하지 않았으며 매우 유사한 오류 메시지와 함께 실패했습니다.

+1

Windows 인스턴스를 사용자 정의한 후에는 EC2Config 서비스 Sysprep을 실행해야합니다. EC2Config에 대한 자세한 내용은 EC2Config Service를 사용하여 Windows 인스턴스 구성으로 이동하십시오. http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/using-features.customenv.html – JustEngland

답변

3

이 작업을 수행하는 가장 좋은 방법은 CloudFormation을 사용하여 자동 눈금 그룹을 만드는 것입니다. LaunchConfiguration 유형에서 S3의 파일을 추가하고 IIS가 앱을 설치하도록 지시 할 수 있습니다. 예 :

"WebAsSpotLaunchConfiguration" : { 
      "Type" : "AWS::AutoScaling::LaunchConfiguration", 
      "Metadata" : { 
       "AWS::CloudFormation::Init" : { 
        "config" : { 
         "sources" : { 
          "C:\\inetpub\\wwwroot" : { 
           "Fn::Join" : [ 
            "/", 
            [ 
             "http://s3.amazonaws.com", 
             { 
              "Ref" : "DeployS3Bucket" 
             }, 
             { 
              "Ref" : "DeployWebS3Key" 
             } 
            ] 
           ] 
          } 
         }, 
         "commands" : { 
          "1-add-app-1" : { 
           "command" : "C:\\Windows\\System32\\inetsrv\\appcmd add app /site.name:MySite /path:/app1 /physicalPath:C:\inetpub\mysite\app1", 
           "waitAfterCompletion" : "0" 
          }, 
          "2-add-app-2"  : { 
           "command" : "C:\\Windows\\System32\\inetsrv\\appcmd add app /site.name:MySite /path:/app2 /physicalPath:C:\inetpub\mysite\app2", 
           "waitAfterCompletion" : "0" 
          } 
         } 
        } 
       }, 

CloudFormation을 아직 알지 못한다면 설정하는 데 다소 시간이 걸릴 수 있습니다. 그러나 제 의견에는 투자 가치가 있습니다.

+0

CloudFormation을 사용하려고 시도했지만 Beanstalk에서했던 것과 같은 문제가 발생했습니다. 나는 어느 쪽의 플랫폼에도 묶이지 않고있다. 그리고 나는 양쪽이 아니라 모두에 꽤 편안하다, 나는 그것을 시험해 볼 것이다. S3 버킷에서 개별 애플리케이션으로 배포하는 방법에 대해 조금 확신 할 수 없습니다. 배포 패키지를 가져 오는 방법에 대해 약간의 통찰력을 제공 할 수 있습니까? S3에서 파일을 추가하고 IIS에서 앱을 설치하도록 지시 할 수 있습니다. 나는 접근법을 좋아한다. 나는 그저 어떤 예제도 갖고 있지 않다. – JustEngland

+1

@JustEngland IIS가 설치된 ami로 시작하여 zip 파일에 두 응용 프로그램의 모든 웹 파일을 저장하고 파일을 S3에 배포하십시오. 클라우드 형성은 inetpub 디렉토리에 우편 번호를 가져 와서 추출합니다. 원하는 경우 하나 이상의 우편 번호를 사용할 수 있습니다. appcmd (또는 다른 명령 줄 도구)를 사용하여 응용 프로그램을 설치할 수있는 경우 클라우드 구성으로 수행 할 수 있습니다. 문제가 생기면 새로운 질문을 던져보십시오. – Edwin

관련 문제