.zip 파일 아카이브로 PowerShell Lambda 함수 배포하기
.zip 파일 아카이브로 PowerShell Lambda 함수 배포하기
PowerShell 런타임용 배포 패키지에는 PowerShell 스크립트, 스크립트에 필요한 PowerShell 모듈, 그리고 PowerShell Core를 호스팅하는 데 필요한 어셈블리가 포함됩니다.
본문
Lambda 함수 만들기
Lambda로 PowerShell 스크립트를 작성·호출하는 것을 시작하려면 New-AWSPowerShellLambda cmdlet을 사용해 템플릿 기반의 스타터 스크립트를 만들 수 있어요. 스크립트를 Lambda에 배포할 때는 Publish-AWSPowerShellLambda cmdlet을 사용합니다. 그다음 명령줄이나 Lambda 콘솔에서 스크립트를 테스트하면 됩니다.
새 PowerShell 스크립트를 만들고 업로드하고 테스트하려면 다음을 수행하세요:
- 사용 가능한 템플릿 목록을 보려면 다음 명령을 실행합니다.
Basic템플릿 기반의 샘플 스크립트를 만들려면 다음 명령을 실행합니다. 현재 디렉토리의 새 하위 디렉토리에MyFirstPSScript.ps1이라는 새 파일이 생성돼요. 디렉토리 이름은-ScriptName파라미터를 기반으로 생성됩니다.-Directory파라미터를 사용하면 다른 디렉토리를 선택할 수도 있어요. 새 파일에는 다음과 같은 내용이 들어 있는 걸 볼 수 있어요.- PowerShell 스크립트의 로그 메시지가 Amazon CloudWatch Logs로 전송되는 방식을 보려면 샘플 스크립트의
Write-Host줄 주석을 해제하세요. Lambda 함수에서 데이터를 반환하는 방법을 보여주기 위해 스크립트 끝에$PSVersionTable을 새 줄로 추가합니다. 이렇게 하면$PSVersionTable이 PowerShell 파이프라인에 추가됩니다. PowerShell 스크립트 실행이 끝나면 PowerShell 파이프라인의 마지막 객체가 Lambda 함수의 반환 데이터가 돼요.$PSVersionTable은 실행 중인 환경에 대한 정보도 제공하는 PowerShell 전역 변수입니다. 이 변경을 적용한 뒤 샘플 스크립트의 마지막 두 줄은 다음과 같아 보입니다. MyFirstPSScript.ps1파일을 편집한 뒤 스크립트가 있는 디렉토리로 이동하고, 다음 명령을 실행해 스크립트를 Lambda에 게시합니다.-Name파라미터는 Lambda 콘솔에 표시되는 Lambda 함수 이름을 지정한다는 점을 기억하세요. 이 함수를 사용해 스크립트를 수동으로 호출할 수 있어요.- AWS Command Line Interface(AWS CLI)의
invoke명령을 사용해 함수를 호출합니다.