일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- docker
- Keycloak
- 11531
- kubernetes #k8s #기본 #명령어
- docker #dockerfile #도커 #도커파일
- ecr.api
- 백준
- googleauthenticator
- Git Actions
- ssh
- 숙련기술원
- EC2
- docker #도커 #기본명령어
- Hop Limit
- cloud-config
- node exporter
- AWS
- imds
- VPC
- ecr.dkr
- kubernetes #k8s #구성요소 #작동원리 #핵심요소
- 블로그 소개 #공지
- 4575
- CNCF
- 후기
- prometheus
- 알고리즘
- Metric
- 합격전략
- dataroot
- Today
- Total
ISFJ 개발자의 이야기
EC2 Hop Limit 본문
이번 블로그에서는 EC2 Hop Limit에 대한 글을 작성해보려 합니다.
아키텍처는 아래와 같이 구성됩니다.
EC2 Hop Limit에 대해서 알아보기 위해서는 아래의 순서를 따라야 합니다.
우선 Hop Limit에 대한 개념을 설명하고 진행하겠습니다.
1. VPC 생성
2. EC2 생성
Hop Limit
네트워크에서의 Hop count는 데이터가 출발지에서 도착지까지 전달되면서 거치는 네트워크 장치의 수를 나타냅니다.
Hop limit은 하나의 통신에서 허용하는 최대 Hop count입니다. Hop count가 Hop limit을 넘어서게 되면 네트워크 장비가 패킷을 전달하지 않게 합니다.
VPC 생성
먼저 아래의 사진과 같이 Default VPC를 생성해줍니다.
EC2 생성
다음으로 아래의 사진을 따라서 위에서 생성한 VPC에 EC2를 생성해주면 됩니다.
여기서 아래의 사진과 같이 V2 only & Hop Limit 1로 지정해줘야 합니다.
이제 생성한 EC2에 Docker Container를 하나 생성해서 Container 안에서와 EC2 안에서 똑같은 명령어를 날려 비교해보겠습니다.
sudo yum install docker -y
sudo systemctl enable docker
sudo usermod -aG docker ec2-user
sudo usermod -aG docker root
sudo systemctl start docker
sudo chmod 666 /var/run/docker.sock
docker --version
아래의 도커파일을 이용해서 컨테이너를 생성해주면 됩니다.
- sleep infinity로 해당 컨테이너가 실행 상태로 남아있을 수 있도록 설정해야 shell 접근이 가능합니다.
FROM amazonlinux:2023
RUN curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip" && yum install unzip -y && unzip awscliv2.zip && ./aws/install
CMD ["sleep", "infinity"]
docker build -t container .
docker run -d --name container container
Result
- EC2 환경에서 테스트 진행
aws sts get-caller-identity
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/
EC2 환경에서는 아래의 사진과 같이 명령어가 성공적으로 실행된 모습을 확인 할 있습니다.
- Docker Container 환경에서 테스트 진행
docker exec -it container sh
aws sts get-caller-identity
TOKEN=`curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600"` \
&& curl -H "X-aws-ec2-metadata-token: $TOKEN" http://169.254.169.254/latest/meta-data/
Docker Container 환경에서는 아래의 사진과 같이 명령어가 성공적으로 실행되지 못한 모습을 확인 할 있습니다.
Hop Limit을 1로 설정했기 때문에 Docker Container 환경에서는 명령어가 성공적으로 처리되지 않는 것을 볼 수 있습니다.
이것으로 EC2 Hop Limit에 대한 글을 마치겠습니다. 감사합니다!
'Cloud > AWS' 카테고리의 다른 글
Lambda Git Actions CICD Pipeline (0) | 2025.09.27 |
---|---|
Docker Container log를 Cloudwatch Logs에 저장하기 (2) | 2025.06.14 |
Amazon Linux 2023 MFA Connect (0) | 2025.06.12 |
Amazon Linux 2023 Root ssh connect (0) | 2025.06.10 |
ecr.api와 ecr.dkr엔드포인트 차이점 (0) | 2025.06.05 |