ECS Cluster에 노트북을 Anywhere를 통해 연결하고 Task를 실행했을때 아래와 같은 에러가 발생했다.
botocore.exceptions.ConnectTimeoutError: Connect timeout on endpoint URL: "http://169.254.170.2/v2/credentials/
찾아보니
amazon web services - ECS task. How to use AWS CLI within container - Stack Overflow
ECS task. How to use AWS CLI within container
I'm trying to use AWS cli commands inside the container. I have given policy within ECS cluster instance but it seems the container comes up with error as it tries to call AWS CLI command inside the
stackoverflow.com
노트북에서 ecs.config를 수정해줘서 해결할 수 있다고 한다.
그런데,
$ sudo cat /etc/ecs/ecs.config
[sudo] password for cyaninn:
ECS_CLUSTER=ECScluster-dev-AutotradeWithAI
NO_PROXY=169.254.169.254,169.254.170.2
이렇게 넣어주고 서비스를 재시작해도 동일한 에러가 발생했다.
알아보니
Amazon ECS 컨테이너 에이전트 설치 - Amazon Elastic Container Service
Amazon ECS 및 도커 서비스 모두를 위한 systemd 단위에는 이 두 서비스를 시작하기 전에 완료하기 위해 cloud-init를 대기하는 명령이 있습니다. cloud-init 프로세스는 Amazon EC2 사용자 데이터의 실행이 완
docs.aws.amazon.com
음.. 자격증명만 가지고 해야한다고 하는데...
자격증명을 사용하려면 ecs anywhere로 추가한 기기에서 docker run 명령을 실행할 때 파라미터 값을 추가로 입력해주어야 한다고 한다.
Amazon ECS 작업 IAM 역할 - Amazon Elastic Container Service
작업에 대한 IAM 역할을 지정할 때 해당 작업에 대한 컨테이너의 AWS CLI 또는 다른 SDK는 작업 역할에 의해 단독으로 제공된 AWS 자격 증명을 사용하며 Amazon EC2 또는 실행 중인 외부 인스턴스에서 IAM
docs.aws.amazon.com
Amazon ECS 컨테이너 에이전트 구성 - Amazon Elastic Container Service
Amazon ECS 컨테이너 에이전트 구성 - Amazon Elastic Container Service
이 페이지에 작업이 필요하다는 점을 알려 주셔서 감사합니다. 실망시켜 드려 죄송합니다. 잠깐 시간을 내어 설명서를 향상시킬 수 있는 방법에 대해 말씀해 주십시오.
docs.aws.amazon.com
$ sudo cat /etc/ecs/ecs.config
ECS_CLUSTER=ECScluster-dev-AutotradeWithAI
NO_PROXY=169.254.169.254,169.254.170.2
ECS_ENABLE_TASK_IAM_ROLE=true
ECS_ENABLE_TASK_IAM_ROLE_NETWORK_HOST=true
sudo sysctl -w net.ipv4.conf.all.route_localnet=1
sudo iptables -t nat -A PREROUTING -p tcp -d 169.254.170.2 --dport 80 -j DNAT --to-destination 127.0.0.1:51679
sudo iptables -t nat -A OUTPUT -d 169.254.170.2 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 51679
위처럼 ecs.config 를 수정해주고 아래 명령어를 실행해준 다음 ecs service를 restart해주고 태스크를 다시 실행해보면
...
시발
],
"taskRoleArn": "arn:aws:iam::6666666666:role/IAMRole-ECSTask-DEV-AutotradeWithAI",
"executionRoleArn": "arn:aws:iam::6666666666:role/IAMRole-ECSTask-DEV-AutotradeWithAI",
"networkMode": "host",
"placementConstraints": [
{
"type": "memberOf",
"expression": "attribute:price-comparison == true"
}
],
networkmode가 bridge여서 아예 안나갔던거였노
3시간정도 태운거같은데 ㅈ같노
'AWS' 카테고리의 다른 글
[Error] AWS Budget scope 에서 tag가 검색되지 않음 (0) | 2023.10.08 |
---|---|
[TSET] IAM Group 에 역할 및 정책 부여 후 정상 동작 확인 (0) | 2023.10.03 |
[error][cloudformation] Your requested instance type (t3a.small) is not supported (1) | 2023.09.04 |
lambda 함수에서 dynamoDB 테이블 수정 (0) | 2023.04.02 |
aws 교과서 수준 블로그 찾음 (0) | 2022.09.16 |