나는 bees with machine gun을 성공적으로 사용하려고 노력해 왔습니다.아마존 프리 티어를 사용하는 기관총이있는 꿀벌
내가 이해하는 한, 이것은 대상 (웹 사이트)에 분산 부하 테스트를 수행하기 위해 AWS를 사용하여 EC2 인스턴스 (꿀벌)를 만드는 패브릭 스크립트 일뿐입니다.
다음은 내가 취한 조치입니다.
. AWS IAM으로 이동하여 새 사용자를 만들고 관리자 권한이있는 그룹에 할당되었습니다.
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "*",
"Resource": "*"
}
]
}
이 사용자를 생성하면 aws_access_key_id 및 aws_secret_access_key가 표시됩니다. . 이 자격 증명을 사용하여 다음 위치에 .boto 파일을 만들었습니다.
. 이 .boto 파일을 내 (로컬) 홈 디렉토리에 저장합니다.
. 또한 "public"이라는 보안 그룹을 만들고 ssh 액세스를 활성화했습니다.
SSH TCP 22 0.0.0.0/0
. 로컬 .ssh/폴더 내의 서버에 연결하는 데 사용하는 .pem 키를 넣습니다. 나는 또한 0660 :
[email protected] 1 development staff 1.7K Nov 19 15:11 key.pem
으로 chmod. 나는 기관총으로 꿀벌을 설치했다 LOCALLY. 모든 것이 좋아 보인다,하지만 난 실행하면
bees up -s 2 -k key -i ami-XXXXXX -g public -z us-west-2b -l ubuntu
는 출력 :
connecting to the hive.
Attempting to call up 2 bees.
Traceback (most recent call last):
File "/usr/local/bin/bees", line 5, in <module>
main.main()
File "/Library/Python/2.7/site-packages/beeswithmachineguns/main.py", line 127, in main
parse_options()
File "/Library/Python/2.7/site-packages/beeswithmachineguns/main.py", line 111, in parse_options
bees.up(options.servers, options.group, options.zone, options.instance, options.login, options.key)
File "/Library/Python/2.7/site-packages/beeswithmachineguns/bees.py", line 104, in up
placement=zone)
File "/Library/Python/2.7/site-packages/boto/ec2/connection.py", line 974, in run_instances
verb='POST')
File "/Library/Python/2.7/site-packages/boto/connection.py", line 1188, in get_object
response = self.make_request(action, params, path, verb)
File "/Library/Python/2.7/site-packages/boto/connection.py", line 1112, in make_request
return self._mexe(http_request)
File "/Library/Python/2.7/site-packages/boto/connection.py", line 942, in _mexe
request.body, request.headers)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 973, in request
self._send_request(method, url, body, headers)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 1007, in _send_request
self.endheaders(body)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 969, in endheaders
self._send_output(message_body)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 829, in _send_output
self.send(msg)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/httplib.py", line 791, in send
self.connect()
File "/Library/Python/2.7/site-packages/boto/https_connection.py", line 119, in connect
sock = socket.create_connection((self.host, self.port), self.timeout)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.timeout: timed out
그런 다음, 내 첫 번째 질문은 :
는는 AWS는 나에게 무료로 사용 요구에 EC2 인스턴스를 만들 수 있습니까 층?
AWS 무료 티어 기능 외. 제가 누락 된 것이 있습니까? 발견 한 모든 웹 자습서를 따라이 문제를 해결했습니다. 불운.
문제가 무엇인지 압니까?
감사합니다. 레안드로
감사합니다. @ garnaat! ec2_region_endpoint boto 구성 줄을 제거했습니다.EC2ResponseError : 400 잘못된 요청 - 잘못된 가용성 영역 : [us-west-2b] ec2_region_name boto 구성 줄을 제거하고 스크립트를 다시 실행합니다 (항상 -z 플래그를 사용하여 영역을 지정합니다).). 그것도 작동하지 않았다. – leamasuero
''region_name''은 가용성 영역이 아닌 영역이어야합니다. 그래서''우리 - 서쪽 -2'보다는 오히려''우리 - 서 -2 ''라고합니다. 현재 받고있는 오류에 대한 세부 정보를 제공해 주시겠습니까? – garnaat
당신 말이 맞아요. 문제는 지역 및 구역과 관련이 있습니다. EC2 명령 줄 인터페이스 도구를 설치하고 ec2-describe-availability-zones 명령을 사용하여 내 영역을 검사했습니다. 그런 다음이 정보를 사용하여 .boto 및 명령을 적절하게 조정합니다. 그것은 지역과 지역 사이의 혼란이었습니다. 대단히 감사합니다 !! – leamasuero