lambda로 ssm 접속후 커맨드 실행 & API G/W queryStringParameters 설정

문학적인유사성·2023년 1월 18일
0

AWS

목록 보기
38/64
  1. ssm 엔드포인드 3개 생성
    공식문서 블로그

  2. 람다에 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'
                ]
        })
  1. api gateway로 api를 만들어서 람다로 연결하기
    endpoint execute-api추가 필수

  2. ec2에 ssm으로 접속이 가능하도록 443 포트 sg에 추가

  3. 만약 확인이 안된다면, amazon-ssm-agent실행되고 있는지 먼저 확인 하기

  4. 참고로 curl ""요렇게 넣는거... 까먹지 말기

https://stackoverflow.com/questions/13339469/how-to-include-an-character-in-a-bash-curl-statement

profile
유사 IT 항해

0개의 댓글