"AWS에 게시"기능을 사용하여 .NET SDK를 통해 EC2 인스턴스에 웹 응용 프로그램을 업로드하려고합니다. 내 다른 웹 응용 프로그램의 경우 완벽하게 작동했습니다. 볼 수있는 두 가지 유일한 차이점은이 웹 응용 프로그램이 이미 라이브로 연결된 RDS 인스턴스에 대한 연결 문자열을 가지고 있다는 것입니다.Visual Studio 단일 인스턴스 배포 오류
게시가 완료되면 인스턴스가 실행되고 정상적으로 실행되고있는 것처럼 보입니다. 약 10 분 이내에 인스턴스가 롤백되고 종료됩니다. 종료시 실패 확인란의 선택을 취소하면 인스턴스가 종료되지 않지만 내 Default.aspx 페이지에 액세스 할 수 없습니다. 로그에서 유용한 정보를 찾을 수 없었습니다. 나는 그것이 연결 문자열과 첨부 된 볼륨과 관련이 있어야한다고 생각하고 있습니다.
인스턴스를 시작하는 데 사용하는 RDS 인스턴스에 내 보안 그룹을 추가했지만 여전히 동일한 오류를 반환합니다.
정보를 게시 :
인스턴스 크기 : 마이크로
SDK 버전 : 1.5.10
AMI : AMI-10ec6520
지역 : 미국 서부 2
오류 :
을WaitCondition 시간이 초과되었습니다. 1.
스택 템플릿
{
"AWSTemplateFormatVersion" : "2010-09-09",
"Description" : "This will launch a single EC2 instance and deploy your application to it. **WARNING** This template creates one or more Amazon EC2 instances. You will be billed for the AWS resources used if you create a stack from this template.",
"Parameters" : {
"InstanceType" : {
"Type" : "String",
"Default" : "t1.micro",
"Description" : "EC2 instance type."
},
"KeyPair" : {
"Type" : "String",
"Description" : "EC2 Key Pair."
},
"SecurityGroup" : {
"Type" : "String",
"Description" : "EC2 Security Group"
},
"BucketName" : {
"Type" : "String",
"Description" : "[Hidden]S3 Bucket for deployment."
},
"ConfigFile" : {
"Type" : "String",
"Description" : "[Hidden]Deployment Configuration File."
},
"AmazonMachineImage" : {
"Type" : "String",
"Default" : "ami-10ec6520",
"Description" : "AMI to launch."
},
"UserData" : {
"Type" : "String",
"Description" : "[Hidden]Base64-Encoded user data."
}
},
"Resources" : {
"DeployedApplicationWaitHandle" : {
"Type" : "AWS::CloudFormation::WaitConditionHandle",
"Properties" : {
}
},
"DeployedApplicationWaitCondition" : {
"Type" : "AWS::CloudFormation::WaitCondition",
"DependsOn" : "Ec2Instance",
"Properties" : {
"Handle" : { "Ref" : "DeployedApplicationWaitHandle" },
"Timeout" : "900"
}
},
"Ec2Instance" : {
"Type" : "AWS::EC2::Instance",
"Properties" : {
"ImageId" : { "Ref" : "AmazonMachineImage" },
"KeyName" : { "Ref" : "KeyPair" },
"InstanceType" : { "Ref" : "InstanceType" },
"SecurityGroups" : [{ "Ref" : "SecurityGroup" }],
"UserData" : { "Fn::Base64" : {"Fn::Join" : [ "", ["[", { "Ref" : "UserData" }, "]", "[", { "Ref" : "DeployedApplicationWaitHandle" }, "]"] ]}}
}
}
},
"Outputs" : {
"URL" : {
"Description": "URL of the deployed application",
"Value" : { "Fn::Join" : [ "", [ "http://", { "Fn::GetAtt" : [ "Ec2Instance", "PublicDnsName" ] }]]}
},
"Bucket" : {
"Description" : "The S3 Bucket where the Web Deploy archive and configuration file are uploaded",
"Value" : { "Ref" : "BucketName" }
},
"ConfigFile" : {
"Description" : "The deployment configuration for the application",
"Value" : { "Ref" : "ConfigFile" }
},
"VSToolkitDeployed" : {
"Description" : "A flag indicating that the stack was created via VSToolkit Deploy wizard",
"Value" : "True"
}
}
}
UPDATE 2013년 1월 18일
기대 0 조건을받은 나는 마지막 인스턴스가 그것으로 RDP 나를 보자 시작되었다. 다음은 빠진 오류입니다.
오류 :
Microsoft.Web.Deployment.DeploymentFatalException 다음 SQL 공급자가 있기 때문에 누락 된 종속성 실행할 수 없습니다. Microsoft SQL Server 관리 개체 (버전 10 이상)가 설치되어 있는지 확인하십시오. ---> System.IO.FileNotFoundException : 파일 또는 어셈블리 'Microsoft.SqlServer.Smo, 버전 = 10.0.0.0, 문화 = 중립, PublicKeyToken = 89845dcd8080cc91'또는 해당 종속성 중 하나를로드 할 수 없습니다. 시스템이 지정된 파일을 찾을 수 없습니다.
도움이 될 것입니다. 제공하는 데 도움이 될만한 정보가 더 있으면 알려주세요.
"AWS에 게시"기능은 구름 형성 템플릿을 만들어야합니다. 템플릿을 게시 할 수 있습니까 (해당 템플릿에 자격 증명이 없는지 확인하십시오). – Edwin
@Edwin 템플릿을 추가했습니다. – EFeit
여기 보이는 곳은 없습니다. 템플릿의 UserData 노드에는 start에서 실행되는 스크립트가있는 기본 64 인코딩 된 문자열이 들어 있어야합니다. 다음 문제 해결 단계는 롤백없이 배포하고 RDP를 인스턴스에 배포하는 것입니다. "C : \ cfn \ log \ cfn-init.log"에 로그 파일이 있어야합니다. 오류를 확인하십시오. (cfn-init은 스크립트를 실행하는 프로그램입니다.) – Edwin