PowerShell์ฉ AWS ๋๊ตฌ๋ฅผ ์ด์ฉํ์ฌ Windows ๊ฐ๋ฐ์ ๋ฐ ๊ด๋ฆฌ์๋ Windows PowerShell ์คํฌ๋ฆฝํ ํ๊ฒฝ์์ AWS ์๋น์ค๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด์ Windows ํ๊ฒฝ์ ๊ด๋ฆฌํ ๋ ์ฌ์ฉํ๋ ๋์ผํ Windows PowerShell ๋๊ตฌ๋ฅผ ์ด์ฉํ์ฌ AWS ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
Windows PowerShell์ฉ AWS ๋๊ตฌ๋ฅผ ํตํด .NET์ฉ AWS SDK ์์ ํ ์ ์๋ ์ฌ๋ฌ ๊ฐ์ง ์์ ์ ๋์ผํ๊ฒ ์ํํ์ญ์์ค. Amazon EC2 ์ธ์คํด์ค ์ ์ด์ ๊ฐ์ด ๊ฐ๋จํ ์์ ์ ์ํด ๋ช ๋ นํ์์ ๋ฐ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
PS C:\> Start-EC2Instances -InstanceId i-10a64379
Windows PowerShell ์คํฌ๋ฆฝํ ์ธ์ด๋ฅผ ํตํด AWS ์๋น์ค ๊ด๋ฆฌ ์๋ํ๋ฅผ ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค์ด ๋ณด์ญ์์ค. ๋ค์ ์์์๋ EC2 ์ธ์คํด์ค์ ๋ก๊ทธ ๋๋ ํฐ๋ฆฌ๋ฅผ ์ดํด๋ณด๊ณ ์ผ์ฃผ์ผ ์ด์ ๋ ํ์ผ์ ์ฐพ์ ํ, ๋์คํฌ์์ ์ค๋๋ ๋ก๊ทธ๋ฅผ ์ญ์ ํ๊ธฐ ์ ์ ๋น์ด ์์ง ์์ ํ์ผ์ Amazon S3์ ๋ณด๊ดํฉ๋๋ค.
foreach ($i in Get-ChildItem C:\Logs)
{
if ($i.CreationTime -lt ($(Get-Date).AddDays(-7)))
{
if ($i.Length -gt 0)
{
Write-S3Object -BucketName mylogbucket -Key Logs/$i -File $i.FullName
}
Remove-Item $i.FullName
}
}
๋ง์ง๋ง์ผ๋ก Windows PowerShell์์ AWS ์๋น์ค์ ์ง์ ์ก์ธ์ค๊ฐ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ AWS ํด๋ผ์ฐ๋๊ฐ ์ ๊ณตํ๋ ๊ด๋ฆฌ ์คํฌ๋ฆฝํธ์ ๊ด๋ จ๋ ๋ชจ๋ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค.
# ์ค๋ฅ๋ฅผ ์ธ์ํ์ฌ Amazon SNS ์ฃผ์ ๋ฅผ๊ตฌ๋ ํ ๋ชจ๋ ์ด์์์๊ฒ ์๋ฆผ Publish-SNSMessage -TopicArn arn:aws:sns:us-east-1:365928882516:OperationsError -Subject "Database Backup Failure" -Message "(details...)"
# Amazon CloudWatch ๋์๋ณด๋์ ์ฌ์ฉ์ ์ง์ ๋ฉํธ๋ฆญ ๊ฒ์
$dat = New-Object Amazon.CloudWatch.Model.MetricDatum
$dat.Timestamp = (Get-Date).ToUniversalTime()
$dat.MetricName = "New Posts"
$dat.Unit = "Count"
$dat.Value = $newPostCount
Write-CWMetricData -Namespace "Usage Metrics" -MetricData $dat
์ปดํจํ ๋ฐ ๋คํธ์ํน
์คํ ๋ฆฌ์ง ๋ฐ ์ฝํ ์ธ ์ ์ก
์์ ๋ฐ ๊ธฐํ ์ ๋ณด ์ฐพ๊ธฐ ์ฌ์ฉ ์ค๋ช ์ »
๋ค๋ฅธ ๊ฐ๋ฐ์์ ์ํต โ PowerShell ์ปค๋ฎค๋ํฐ ํฌ๋ผ »
AWS์ ํจ๊ป Windows๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์ธํ ์์๋ณด๊ธฐ โ Windows ๋ฐ .NET ๊ฐ๋ฐ์ ์ผํฐ »
์ต์ PowerShell ๋๊ตฌ ์ธ๋ถ ์ ๋ณด ์์๋ณด๊ธฐ โ ๋ฆด๋ฆฌ์ค ์ ๋ณด »

