반응형
import socket
def connect_tcp(event, context):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(8)
hostname = "www.amazon.com"
port = 443
server_address = (hostname, port) # Server address and port
try:
IPAddr = socket.gethostbyname(hostname)
print("Hostname: " + hostname)
print("Host IP:" + IPAddr)
print("Attempting to connect ..")
sock.connect(server_address)
sock.shutdown(socket.SHUT_RDWR)
print("connected")
except Exception as e:
print("-- Error --")
print(e)
finally:
sock.close()
위 코드는 AWS 에서 Lamdba를 사용하여
socket connect 사용 샘플 예제인데
위 코드는 잘 동작하지만
hostname과 port를 내 EC2 서버로 변경할 경우
“errorMessage”: “~ Task timed out after 60.06 seconds”
timeout 에러가 떨어지는 것이 보이는데
보안 그룹에서 설정 변경을 해줘야 한다
먼저 EC2로 들어온 뒤
왼쪽의 보안 그룹을 누르고 접속할 인스턴스를 선택한 후
하단 인바운드 규칙 탭을 누르고
인바운드 규칙 편집을 눌러주자
이후 소스 부분의 주소를 0.0.0.0/0
으로 변경하고 다시 socket.connect를 수행해 보면
연결이 잘 되는것이 보인다
반응형
'Tools > etc' 카테고리의 다른 글
Elasticsearch index health yellow 해결방법 (0) | 2023.04.19 |
---|---|
Kibana 여러 인덱스 동시 조회방법 (0) | 2023.04.19 |
AWS Lambda Timed out 제한 시간 변경방법 (0) | 2023.03.15 |
AWS Lambda Python 환경 변수 Integer로 지정방법 (0) | 2023.03.15 |
DBeaver 주석(Comment) 단축키 (0) | 2022.12.08 |
댓글