부하 분산, 자동 확장 웹 서버 (IIS)를 사용하여 Amazon EC2에서 웹 응용 프로그램을 실행합니다.aws ec2의 IIS 서버와 자동 확장 모범 사례
자동 확장되기 전에는 배포 프로세스가 몇 대의 큰 웹 서버에 파일 복사되었습니다.
이제 자동 크기 조정 기능을 사용하여 5-12 개의 웹 서버 중에서 원하는대로 나타나고 사라지는 웹 서버가 있으므로 배포 프로세스가 더 어려워집니다.
이 문제를 해결하기 위해 자동 확장 그룹의 서버 IP를 검색하고 MSDeploy를 사용하여 지정된 배포 서버 (자동 확장 그룹 외부의 부하 분산 장치)와 동기화하는 스크립트를 작성했습니다. 그런 다음 새 AMI를 만들고 자동 확장 구성을 업데이트합니다.
배포 서버를 다시 빌드 할 때까지는 동기화 스크립트가 웹 사이트의 실행 상태를 업데이트하지 않습니다. 따라서 사이트를 유지 관리 모드로 설정할 수 있습니다.
내가 알고 싶습니다 :
다른 사람들이 문제를 접근하는 방법가 (IIS 8 WFF의 부재) (특히 EC2를 자동 확장에 IIS 서버를 동기화)
왜 시작/정지 동기화 실패
코드 :
Set-AWSCredentials -AccessKey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -SecretKey XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Set-DefaultAWSRegion "us-west-2"
$date = get-date
$dateString = $date.ToString("yyyyMMdd-HHmm")
$name = $dateString + "Web"
$imageId = new-ec2image -InstanceId x-xxxxxxxx -Name $name -NoReboot 1
$launchConfiguration = New-ASLaunchConfiguration -LaunchConfigurationName $name -ImageId $imageId -InstanceType "m3.medium" -SecurityGroups @('Web') -InstanceMonitoring_Enabled $false
Update-AsAutoScalingGroup -AutoScalingGroupName "XxxxxxxxxxxxXxxxxxxxxx" -LaunchConfigurationName $name
$a = Get-ASAutoScalingInstance | select -expandproperty InstanceId | Get-EC2Instance | select -expandproperty RunningInstance | select -property PrivateIpAddress
foreach($ip in $a)
{
$command = "C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe"
$arg = "-dest:webServer,computerName=" + $ip.PrivateIpAddress;
$args = @('-verb:sync', '-source:webServer', $arg)
&$command $args
}
서식에 대한 도움을 주시면 감사하겠습니다. 4 개의 문자로 들여 쓰기 된 코드가 있지만 기쁨은 없습니다. – sentece