가상 네트워킹에 AWS AppMesh를 사용하도록 ECS 작업 정의를 구성하고 있습니다. 저는 AWS에서 사이드카로 실행할 것을 권장하는 Envoy를 사용하고 있습니다. proxyConfiguration
ECS 구성의 블록을 사용하여 기본적으로 지원합니다 TaskDefinition
.
프록시 구성에 사용할 수 있는 속성 중 하나는 입니다 IgnoredUID
. 이를 통해 Envoy 프로세스는 프록시 중에 트래픽을 검사할 필요 없이 자체 트래픽을 무시할 수 있는 것으로 알려졌습니다.사용하여프록시. 성능향상입니다. 그러나 문서에는 해당 번호의 내 버전을 찾는 방법이 설명되어 있지 않습니다. 그들은 단지 "1337"이라는 숫자를 사용하고 있는데 그것이 어디서 왔는지는 알 수 없습니다.
문서는 여기에 있습니다:https://docs.aws.amazon.com/AmazonECS/latest/developerguide/appmesh-getting-started.html("작업 정의 업데이트"까지 아래로 스크롤하여 JSON 섹션을 참조하세요.)
답변1
Docker 프로세스가 실행되는 UID는 상당히 임의적일 수 있습니다. 기본적으로 모든 Docker 프로세스는 UID 0(루트)으로 실행됩니다. 이것이 변경된 몇 가지 방법이 있습니다.
- 다른 기본 사용자를 이미지에 베이킹하여사용자Dockerfile의 명령
- 다음을 사용하여 docker의 cli에서 사용자 지정
--user
- 사이드카에 대한 ECS 컨테이너 정의를 설정
user
하거나 다음을 수행합니다.uid
귀하의 경우에는 컨테이너에 임의의 UID를 할당하고 IgnoredUID
옵션에 동일한 숫자를 설정합니다.