ssm 엔드포인드 3개 생성
공식문서 블로그
람다에 iam연결 // ssm 엑세스 ( 나는 그냥 fullaccess로 실험용으로 만드는 것이라서 그냥 바로 연결했음. 이렇게 하면 안됨 )
import boto3
import botocore
import time
def lambda_handler(event, context):
param = event['queryStringParameters'] # 여기서 파라미터 가져오기 가능
id = param['instanceid'] # 이렇게 json들어오면 가져오기
print(id)
client = boto3.client('ssm')
instance_id = id # hard-code for example
response = client.send_command(
InstanceIds=[instance_id],
DocumentName='AWS-RunShellScript',
Parameters={
'commands': [
'cd /home/ssm-user/',
'./flights.sh'
]
})
api gateway로 api를 만들어서 람다로 연결하기
endpoint execute-api추가 필수
ec2에 ssm으로 접속이 가능하도록 443 포트 sg에 추가
만약 확인이 안된다면, amazon-ssm-agent실행되고 있는지 먼저 확인 하기
참고로 curl ""요렇게 넣는거... 까먹지 말기
https://stackoverflow.com/questions/13339469/how-to-include-an-character-in-a-bash-curl-statement