[실패담] EC2 Instance Connect의 SG 변경 사항
개막사
EC2 Instance Connect
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/Connect-using-EC2-Instance-Connect.html
https://docs.aws.amazon.com/ja_jp/AWSEC2/latest/UserGuide/ec2-instance-connect-set-up.html#ec2-instance-connect-setup-security-group
https://ip-ranges.amazonaws.com/ip-ranges.json
→ EC2 Intance Connect는 20개입니다.(2020년 4월 4일 기준)
나는 어쨌든 그 IP 주소를 허락하고 싶어서 아래의 기행을 진행하였다.
Python(SDK)을 사용한 SG 변경 사항
아래 파일에서 보듯이 Pythn(SDK:boto3)을 사용하여 안전팀의 입국을 변경하려고 시도합니다.
import json
import sys
import boto3
def main(args):
security_group_id = args[1]
description = args[2]
client = boto3.client("ec2")
json_open = open("ip_range.json","r")
json_load = json.load(json_open)
ipv4_list = [i.get("ip_prefix") for i in json_load["prefixes"]]
ipv6_list = [i.get("ipv6_prefix") for i in json_load["ipv6_prefixes"]]
for i in ipv4_list:
authorize_ssh = client.authorize_security_group_ingress(
GroupId = security_group_id,
IpPermissions=[
{
'FromPort': 22,
'IpProtocol': 'tcp',
'IpRanges': [
{
'CidrIp': i,
'Description': description,
},
],
'ToPort': 22
},
]
)
if __name__ == '__main__':
args = sys.argv
main(args)
대략적으로 말하면 iprange.제이슨에서 아까 제이슨이 만든 거 복사했어.Pytohon 파일에 sg의 ID와 sg의 설명을 주고 boto3에서 대상의 sg에 대해 IP 목록에 따라 22번 포트의 허가를 추가하는 느낌을 줍니다.
그래서 다음과 같은 오류가 출력되었습니다.
botocore.exceptions.ClientError: An error occurred (RulesPerSecurityGroupLimitExceeded) when calling the AuthorizeSecurityGroupIngress operation: The maximum number of rules per security group has been reached.
눈치챘어?예, SG 규칙 수의 상한선을 돌파했습니다.참고로 규칙은 입국과 아웃 시 각각 60개만 등록할 수 있다.
완전 맹점...
해결책을 모르니까 이 기사를 보신 분이 아시면 교수님을 얻을 수 있으면 좋겠어요.
실패에서 배운 것
【추기】EC2 실례 연결의 IP 주소 제어가 성공하면
다음 기사는 본 보도의 속편을 기록하였다.
실제로 기능을 실현하고 싶으신 분들은 읽어주세요.
Reference
이 문제에 관하여([실패담] EC2 Instance Connect의 SG 변경 사항), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/stakakey/articles/f608fdf961349a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)