🎧 Listen to this article: हिंदी · English · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
🌍 Read this in your language: हिंदी · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · ଓଡ଼ିଆ · 日本語 · 中文
AWS ECR ಎಂದರೇನು ಮತ್ತು ನೀವು ಏಕೆ ಕಾಳಜಿ ವಹಿಸಬೇಕು?
AWS ECR (Elastic Container Registry) ಅಮೆಜಾನ್ನ ನಿರ್ವಹಿಸಲಾದ ಕಂಟೇನರ್ ಇಮೇಜ್ ಶೇಖರಣೆಯಾಗಿದೆ. ಇದು ಖಾಸಗಿ Docker Hub ನಂತೆ ಎಂದು ಭಾವಿಸಿ, ಆದರೆ AWS ನಲ್ಲಿ ನಿರ್ಮಿಸಲಾಗಿದೆ. ನೀವು ECS Fargate ನಲ್ಲಿ ಕಂಟೇನರ್ ಅನ್ನು ರನ್ ಮಾಡಿದಾಗಲೆಲ್ಲಾ, ಟಾಸ್ಕ್ ಇಲ್ಲಿಂದ ಇಮೇಜ್ ಅನ್ನು ಎಳೆಯಬೇಕಾಗುತ್ತದೆ ಎಲ್ಲಿಂದಲಾದರೂ — ಮತ್ತು ಹೆಚ್ಚಿನ ತಂಡಗಳು ತಮ್ಮದನ್ನು ECR ನಲ್ಲಿ ಇಡುತ್ತವೆ.
ಜುಲೈ 1 2026 ರಂದು, ಯಾವುದೇ ಗಂಭೀರ ಕ್ಲೌಡ್ ನಿಯೋಜನೆಗೆ ಕಂಟೇನರ್ ಆರ್ಕೆಸ್ಟ್ರೇಶನ್ ಕನಿಷ್ಠ ಅಗತ್ಯವಾಗಿದೆ. ನೀವು ECS Fargate ಅನ್ನು ರನ್ ಮಾಡುತ್ತಿದ್ದರೆ, ನೀವು ಖಂಡಿತವಾಗಿಯೂ ECR ಅನ್ನು ಸಹ ಬಳಸುತ್ತಿರುವಿರಿ. ಆದರೆ ವಿಷಯ ಇಲ್ಲಿದೆ: ECR ಒಂದು ರೀತಿಯ ಅದೃಶ್ಯವಾಗಿದೆ. ಇದು ಮುರಿಯುವವರೆಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಮತ್ತು ಅದು ಮುರಿದಾಗ, ದೋಷ ಸಂದೇಶಗಳು ಸಹಾಯಕವಾಗುವುದಿಲ್ಲ. ಟಾಸ್ಕ್ ಇದರೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗಲು ವಿಫಲಗೊಳ್ಳುತ್ತದೆ ResourceInitializationError. ನಿಮ್ಮ ಸಹಚರರು ಹೆಗಲಿಗೆರುತ್ತಾರೆ. ಆರು ತಿಂಗಳ ನಂತರ, ನಿಮ್ಮ ರಿಜಿಸ್ಟ್ರಿಯಲ್ಲಿ ಐದು ವರ್ಷಗಳ ಟ್ಯಾಗ್ ಮಾಡದ ಇಮೇಜ್ಗಳು ಕುಳಿತಿರುವುದನ್ನು ನೀವು ಕಂಡುಕೊಳ್ಳುತ್ತೀರಿ, ಅದು ನಿಮಗೆ ಪ್ರತಿ ತಿಂಗಳು $400 ಶೇಖರಣೆಗಾಗಿ ಶುಲ್ಕ ವಿಧಿಸುತ್ತಿರುತ್ತದೆ. ಈ ಮಾರ್ಗದರ್ಶಿ ECR ದಸ್ತಾವೇಜನ್ನು ಮರೆಮಾಚುವ ಭಾಗಗಳನ್ನು ಒಳಗೊಂಡಿದೆ: ಪುಲ್ಗಳು ವಾಸ್ತವವಾಗಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಖಾಸಗಿ-ಸಬ್ನೆಟ್ ಟಾಸ್ಕ್ಗಳು ಏಕೆ ವಿಫಲಗೊಳ್ಳುತ್ತವೆ ಮತ್ತು ನಿಮ್ಮ ಬಿಲ್ ಅನ್ನು ಸಮಂಜಸವಾಗಿಡುವುದು ಹೇಗೆ.
ECS Fargate ನೊಂದಿಗೆ ECR ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ
ECS Fargate ಟಾಸ್ಕ್ ಪ್ರಾರಂಭವಾದಾಗ, ಅದು ಕಂಟೇನರ್ ಇಮೇಜ್ ಅನ್ನು ಎಳೆಯಬೇಕಾಗುತ್ತದೆ. ಟಾಸ್ಕ್ ಸ್ಥಳೀಯವಾಗಿ Docker ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿಲ್ಲ — ಇದು ಅಮೆಜಾನ್ನ ನಿರ್ವಹಿಸಲಾದ ಮೂಲಸೌಕರ್ಯದಲ್ಲಿ ರನ್ ಆಗುತ್ತಿದೆ. ಆದ್ದರಿಂದ Fargate ಏಜೆಂಟ್ ECR ಅನ್ನು ತಲುಪುತ್ತದೆ, ದೃಢೀಕರಿಸುತ್ತದೆ ಮತ್ತು ಇಮೇಜ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡುತ್ತದೆ.
ಯಾರೂ ಮಾತನಾಡದ ಪ್ರಮುಖ ಅಂಶವೆಂದರೆ ಆ ದೃಢೀಕರಣ. ನಿಮ್ಮ Fargate ಟಾಸ್ಕ್ ಬಳಕೆದಾರಹೆಸರು ಮತ್ತು ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ ಲಾಗಿನ್ ಆಗುವುದಿಲ್ಲ. ಬದಲಾಗಿ, ಇದು IAM ಪಾತ್ರವನ್ನು ಬಳಸುತ್ತದೆ — ನಿರ್ದಿಷ್ಟವಾಗಿ, ಟಾಸ್ಕ್ಗೆ ನೀವು ನಿಯೋಜಿಸಿದ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪಾತ್ರವನ್ನು. ECR ಆ ಪಾತ್ರದ ಅನುಮತಿಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ. ಪಾತ್ರವು ಇಮೇಜ್ ಅನ್ನು ಓದಬಹುದಾದರೆ, ಉತ್ತಮ. ಇಲ್ಲದಿದ್ದರೆ, ಟಾಸ್ಕ್ ಸದ್ದಿಲ್ಲದೆ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ (ನೀವು ಸಾಮಾನ್ಯ ದೋಷವನ್ನು ಪಡೆಯುತ್ತೀರಿ).
ECR ನಿರ್ದಿಷ್ಟ AWS ಪ್ರದೇಶದಲ್ಲಿಯೂ ವಾಸಿಸುತ್ತದೆ. ನಿಮ್ಮ ಟಾಸ್ಕ್ ಇಲ್ಲಿದ್ದರೆ us-east-1 ಮತ್ತು ನಿಮ್ಮ ಇಮೇಜ್ ಇಲ್ಲಿದ್ದರೆ eu-west-1, ಹೆಚ್ಚುವರಿ ಕಾನ್ಫಿಗರೇಶನ್ ಇಲ್ಲದೆ ಟಾಸ್ಕ್ ಅದನ್ನು ಎಳೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಇದು ಸಾಮಾನ್ಯವಾಗಿ ಸಮಸ್ಯೆಯಾಗಿರುವುದಿಲ್ಲ, ಆದರೆ ಇದನ್ನು ತಿಳಿದುಕೊಳ್ಳುವುದು ಯೋಗ್ಯವಾಗಿದೆ.
IAM ಅನುಮತಿಗಳು: ಅದೃಶ್ಯ ಗೋಡೆ
ಹೆಚ್ಚಿನ ಜನರು ಇಲ್ಲಿ ಎಡವುತ್ತಾರೆ. ನಿಮ್ಮ ECS ಟಾಸ್ಕ್ಗೆ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪಾತ್ರದ ಅಗತ್ಯವಿದೆ — ಇಮೇಜ್ಗಳನ್ನು ಎಳೆಯಲು, ಲಾಗ್ಗಳನ್ನು ಬರೆಯಲು ಮತ್ತು ಇತರ AWS ಸೇವೆಗಳೊಂದಿಗೆ ಮಾತನಾಡಲು ಅದು ಬಳಸುವ ಗುರುತು. ಆ ಪಾತ್ರಕ್ಕೆ ECR ನಿಂದ ಓದಲು ನಿರ್ದಿಷ್ಟ ಅನುಮತಿಗಳ ಅಗತ್ಯವಿದೆ.
ಕನಿಷ್ಠ ಅಗತ್ಯವು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:GetDownloadUrlForLayer",
"ecr:BatchGetImage",
"ecr:BatchCheckLayerAvailability"
],
"Resource": "arn:aws:ecr:us-east-1:REPLACE_WITH_ACCOUNT_ID:repository/REPLACE_WITH_REPO_NAME"
},
{
"Effect": "Allow",
"Action": "ecr:GetAuthorizationToken",
"Resource": "*"
}
]
}
ಆ ಎರಡನೇ ಹೇಳಿಕೆ ನಿರ್ಣಾಯಕವಾಗಿದೆ. GetAuthorizationToken ಆಗಿದೆ ಮಾತ್ರ ನಿರ್ದಿಷ್ಟ ರಿಪಾಸಿಟರಿಗೆ ಅನ್ವಯಿಸದ ECR ಕ್ರಿಯೆ — ಇದು ಜಾಗತಿಕವಾಗಿ ಅನ್ವಯಿಸುತ್ತದೆ. ಇದಿಲ್ಲದೆ, ನಿಮ್ಮ ಟಾಸ್ಕ್ ECR ಗೆ ದೃಢೀಕರಿಸಲು ಸಹ ಸಾಧ್ಯವಿಲ್ಲ, ಮತ್ತು ಉಳಿದೆಲ್ಲವೂ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ.
ನೀವು ಇದನ್ನು ಗೊಂದಲಗೊಳಿಸಿದರೆ, ನಿಮ್ಮ ಟಾಸ್ಕ್ ಇಲ್ಲಿ ಕುಳಿತಿರುತ್ತದೆ PROVISIONING ಒಂದು ನಿಮಿಷದವರೆಗೆ, ನಂತರ ಇದರೊಂದಿಗೆ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ ResourceInitializationError. "ಹೇ, ನಿಮ್ಮ IAM ಪಾತ್ರವು ECR ಅನ್ನು ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ" ಎಂದು ಹೇಳುವ ಯಾವುದೇ ಲಾಗ್ ಇಲ್ಲ. ದೋಷವು ಅಸ್ಪಷ್ಟವಾಗಿದೆ. ಆದ್ದರಿಂದ ಟಾಸ್ಕ್ ಪ್ರಾರಂಭವಾಗದಿದ್ದಾಗ ಪರಿಶೀಲಿಸಬೇಕಾದ ಮೊದಲ ವಿಷಯವೆಂದರೆ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪಾತ್ರ.
ಖಾಸಗಿ ಸಬ್ನೆಟ್ ವೈಫಲ್ಯಗಳು ಮತ್ತು ಅವು ಏಕೆ ಸಂಭವಿಸುತ್ತವೆ
ನಿಮ್ಮ Fargate ಟಾಸ್ಕ್ ಖಾಸಗಿ ಸಬ್ನೆಟ್ನಲ್ಲಿದೆ ಎಂದು ಭಾವಿಸೋಣ (ಉತ್ತಮ ಭದ್ರತಾ ಅಭ್ಯಾಸ). ಇದು ನೇರ ಇಂಟರ್ನೆಟ್ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿಲ್ಲ — ಎಲ್ಲಾ ಹೊರಹೋಗುವ ಟ್ರಾಫಿಕ್ NAT ಗೇಟ್ವೇ ಮೂಲಕ ಹಾದುಹೋಗುತ್ತದೆ. ಈಗ ನಿಮ್ಮ ಟಾಸ್ಕ್ ECR ನಿಂದ ಇಮೇಜ್ ಅನ್ನು ಎಳೆಯಲು ಪ್ರಯತ್ನಿಸುತ್ತದೆ.
ECR ಒಂದು AWS ಸೇವೆಯಾಗಿದೆ, ಆದ್ದರಿಂದ ಇದು ಇಂಟರ್ನೆಟ್ನಲ್ಲಿ ವಾಸಿಸುತ್ತದೆ (ಒಂದು ರೀತಿಯ — ತಾಂತ್ರಿಕವಾಗಿ ಇದು ಸಾರ್ವಜನಿಕ ಮತ್ತು VPC ಎಂಡ್ಪಾಯಿಂಟ್ಗಳನ್ನು ಹೊಂದಿದೆ). ನಿಮ್ಮ ಖಾಸಗಿ-ಸಬ್ನೆಟ್ ಟಾಸ್ಕ್ ECR ನ ಸಾರ್ವಜನಿಕ ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ತಲುಪಿದಾಗ, ವಿನಂತಿಯು NAT ಗೇಟ್ವೇ ಮೂಲಕ ಹೋಗುತ್ತದೆ, ಹಿಂತಿರುಗುತ್ತದೆ ಮತ್ತು ಬೇಕು ಕೆಲಸ. ಸಾಮಾನ್ಯವಾಗಿ ಇದು ಮಾಡುತ್ತದೆ.
ಆದರೆ ಕೆಲವೊಮ್ಮೆ ಅದು ಮಾಡುವುದಿಲ್ಲ. ನಿಮ್ಮ ಟಾಸ್ಕ್ನಿಂದ ನಿಮ್ಮ NAT ಗೇಟ್ವೇ ವಿಭಿನ್ನ AZ ನಲ್ಲಿದ್ದರೆ, ಅಥವಾ ನೀವು ಮಾರ್ಗ ಕೋಷ್ಟಕಗಳನ್ನು ತಪ್ಪಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ್ದರೆ, ವಿನಂತಿಯು ಸದ್ದಿಲ್ಲದೆ ವಿಫಲಗೊಳ್ಳುತ್ತದೆ. ಅಥವಾ ನಿಮ್ಮ ಭದ್ರತಾ ಗುಂಪುಗಳು ಪೋರ್ಟ್ 443 (HTTPS) ನಲ್ಲಿ ಹೊರಹೋಗುವಿಕೆಯನ್ನು ನಿರ್ಬಂಧಿಸಿದರೆ, ECR ಪ್ರತಿಕ್ರಿಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.
ಪರಿಹಾರವು ಸಾಮಾನ್ಯವಾಗಿ ಇವುಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ:
- ECR ಗಾಗಿ VPC ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ಬಳಸಿ. ನಿಮ್ಮ VPC ಯಲ್ಲಿ VPC ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ರಚಿಸಿ, ಮತ್ತು ಸಾರ್ವಜನಿಕ ಇಂಟರ್ನೆಟ್ ಬದಲಿಗೆ ಎಂಡ್ಪಾಯಿಂಟ್ ಮೂಲಕ Fargate ಇಮೇಜ್ ಅನ್ನು ಎಳೆಯುತ್ತದೆ. ಇದು ಹೆಚ್ಚು ಸುರಕ್ಷಿತ ಮತ್ತು ವೇಗವಾಗಿರುತ್ತದೆ.
- ನಿಮ್ಮ NAT ಗೇಟ್ವೇ ತಲುಪಬಹುದು ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಮಾರ್ಗ ಕೋಷ್ಟಕಗಳನ್ನು ಪರಿಶೀಲಿಸಿ — ECR ಗೆ ಟ್ರಾಫಿಕ್ NAT ಮೂಲಕ ಮಾರ್ಗ ಮಾಡಬೇಕು.
- ಹೊರಹೋಗುವ HTTPS ಅನ್ನು ತೆರೆಯಿರಿ. ECR ತಲುಪಲು ನಿಮ್ಮ ಟಾಸ್ಕ್ನ ಭದ್ರತಾ ಗುಂಪಿಗೆ ಪೋರ್ಟ್ 443 ನಲ್ಲಿ ಹೊರಹೋಗುವಿಕೆಯ ಅಗತ್ಯವಿದೆ.
- CloudWatch ಲಾಗ್ಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. ದೋಷ ಸಂದೇಶವನ್ನು ಮೀರಿ ನೀವು ಅಗೆದರೆ ನಿಮ್ಮ ಟಾಸ್ಕ್ನ CloudWatch ಲಾಗ್ ಗುಂಪು ಸಾಮಾನ್ಯವಾಗಿ ಸುಳಿವುಗಳನ್ನು ಹೊಂದಿರುತ್ತದೆ.
ನೀವು ಖಾಸಗಿ ಸಬ್ನೆಟ್ನಲ್ಲಿದ್ದರೆ, VPC ಎಂಡ್ಪಾಯಿಂಟ್ ಸುವರ್ಣ ಗುಣಮಟ್ಟವಾಗಿದೆ. ಇದು ಎಲ್ಲಾ ಟ್ರಾಫಿಕ್ ಅನ್ನು AWS ನೊಳಗೆ ಇರಿಸುತ್ತದೆ, NAT ಶುಲ್ಕಗಳನ್ನು ತಪ್ಪಿಸುತ್ತದೆ ಮತ್ತು ವೇಗವಾಗಿರುತ್ತದೆ. ಇದನ್ನು ಒಮ್ಮೆ ಹೊಂದಿಸಿ, ಅದರ ಬಗ್ಗೆ ಮರೆತುಬಿಡಿ.
ECR ಬೆಲೆ ಮತ್ತು ಇಮೇಜ್ ಕ್ಲೀನಪ್ ಅನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದು
ECR ವೆಚ್ಚಗಳು ಸರಳವಾಗಿವೆ: ಶೇಖರಿಸಿದ ಇಮೇಜ್ ಡೇಟಾಗೆ ನೀವು ಪಾವತಿಸುತ್ತೀರಿ. ಯಾವುದೇ ಪರ್-ಪುಲ್ ಶುಲ್ಕವಿಲ್ಲ, ಪರ್-ಪುಶ್ ಶುಲ್ಕವಿಲ್ಲ. ಕೇವಲ ಶೇಖರಣೆ.
ಕ್ಯಾಚ್: ನೀವು ಪುಶ್ ಮಾಡುವ ಪ್ರತಿಯೊಂದು ಇಮೇಜ್ ಲೇಯರ್ ಅನ್ನು ನೀವು ಅಳಿಸುವವರೆಗೆ ಶಾಶ್ವತವಾಗಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ. ನೀವು ಒಂದೇ ಇಮೇಜ್ ಟ್ಯಾಗ್ ಅನ್ನು ಪದೇ ಪದೇ ಪುಶ್ ಮಾಡಿದರೆ ("ಇತ್ತೀಚಿನ" ಟ್ಯಾಗ್ನಂತೆ), ಪ್ರತಿಯೊಂದು ಪುಶ್ ಹುಡ್ ಅಡಿಯಲ್ಲಿ ಹೊಸ ಇಮೇಜ್ ಆಗಿರುತ್ತದೆ. ಕೆಲವು ವರ್ಷಗಳ ನಂತರ, ನೀವು ಅಲ್ಲಿ ಕುಳಿತಿರುವ ಸಾವಿರಾರು ಟ್ಯಾಗ್ ಮಾಡದ ಇಮೇಜ್ಗಳನ್ನು ಹೊಂದಿದ್ದೀರಿ.
ಮೂಲ OS ಮತ್ತು ಪ್ಯಾಕೇಜ್ಗಳನ್ನು ಅವಲಂಬಿಸಿ ಒಂದೇ ಇಮೇಜ್ 500 MB ಯಿಂದ 2 GB ಆಗಿರಬಹುದು. ನೂರಾರು ಅಥವಾ ಸಾವಿರಾರು ಬಿಲ್ಡ್ಗಳಿಂದ ಅದನ್ನು ಗುಣಿಸಿ, ಮತ್ತು ನೀವು ಟೆರಾಬೈಟ್ಗಳನ್ನು ನೋಡುತ್ತಿರುವಿರಿ. ತಿಂಗಳಿಗೆ ಪ್ರತಿ GB ಗೆ ಸರಿಸುಮಾರು $0.10 ಕ್ಕೆ, ಅದು ದುಬಾರಿಯಾಗಿದೆ.
ಪರಿಹಾರವು ಲೈಫ್ ಸೈಕಲ್ ಪಾಲಿಸಿ. ಇದು "30 ದಿನಗಳಲ್ಲಿ ಬಳಸದ ಯಾವುದೇ ಇಮೇಜ್ ಅನ್ನು ಅಳಿಸಿ" ಅಥವಾ "ಪ್ರತಿ ಟ್ಯಾಗ್ಗೆ ಕೊನೆಯ 10 ಇಮೇಜ್ಗಳನ್ನು ಮಾತ್ರ ಇರಿಸಿ" ಎಂದು ಹೇಳುವ ನಿಯಮವಾಗಿದೆ. ಸಮಂಜಸವಾದ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ:
{
"rules": [
{
"rulePriority": 1,
"description": "Keep last 10 images",
"selection": {
"tagStatus": "tagged",
"countType": "imageCountMoreThan",
"countNumber": 10
},
"action": {
"type": "expire"
}
},
{
"rulePriority": 2,
"description": "Delete untagged images after 30 days",
"selection": {
"tagStatus": "untagged",
"countType": "sinceImagePushed",
"countUnit": "days",
"countNumber": 30
},
"action": {
"type": "expire"
}
}
]
}
ಇದು ಕೊನೆಯ 10 ಟ್ಯಾಗ್ ಮಾಡಲಾದ ಇಮೇಜ್ಗಳನ್ನು ಇರಿಸುತ್ತದೆ ಮತ್ತು 30 ದಿನಗಳಿಗಿಂತ ಹಳೆಯದಾದ ಯಾವುದೇ ಟ್ಯಾಗ್ ಮಾಡದ ಇಮೇಜ್ಗಳನ್ನು ಅಳಿಸುತ್ತದೆ. ನೀವು ECR ಅನ್ನು ಹೊಂದಿಸುವಾಗ ಇದನ್ನು ಅನ್ವಯಿಸಿ, ಮತ್ತು ನೀವು ಎಂದಿಗೂ ಆಶ್ಚರ್ಯಕರ $400 ಬಿಲ್ ಅನ್ನು ಹೊಂದುವುದಿಲ್ಲ.
ECR ಸಮಸ್ಯೆಗಳನ್ನು ಡೀಬಗ್ ಮಾಡುವುದು
ಟಾಸ್ಕ್ ಪ್ರಾರಂಭಿಸಲು ವಿಫಲವಾದಾಗ, ದೋಷ ಸಂದೇಶವು ಸಾಮಾನ್ಯವಾಗಿ ನಿಷ್ಪ್ರಯೋಜಕವಾಗಿರುತ್ತದೆ. ಆದರೆ ಉತ್ತರವು ಯಾವಾಗಲೂ ಇವುಗಳಲ್ಲಿ ಒಂದಾಗಿರುತ್ತದೆ:
- ಕೆಟ್ಟ IAM ಅನುಮತಿಗಳು. ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪಾತ್ರವು ರಿಪಾಸಿಟರಿಯನ್ನು ಓದಲು ಸಾಧ್ಯವಿಲ್ಲ.
- ತಪ್ಪಾದ ರಿಪಾಸಿಟರಿ ಅಥವಾ ಪ್ರದೇಶ. ಟಾಸ್ಕ್ ಇದನ್ನು ಹುಡುಕುತ್ತಿದೆ
app.example.com/myimage:latestಇಲ್ಲಿus-east-1, ಆದರೆ ನೀವು ಅದನ್ನು ಇಲ್ಲಿಗೆ ಪುಶ್ ಮಾಡಿದ್ದೀರಿeu-west-1. - ನೆಟ್ವರ್ಕ್ ಸಮಸ್ಯೆಗಳು. ಖಾಸಗಿ ಸಬ್ನೆಟ್, ಭದ್ರತಾ ಗುಂಪುಗಳು ಅಥವಾ ಮಾರ್ಗ ಕೋಷ್ಟಕಗಳು ECR ಗೆ ಪ್ರವೇಶವನ್ನು ನಿರ್ಬಂಧಿಸುತ್ತವೆ.
- ಇಮೇಜ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. ನೀವು ಟ್ಯಾಗ್ ಅನ್ನು ಪುಶ್ ಮಾಡಿದ್ದೀರಿ, ನಂತರ ಅದನ್ನು ಅಳಿಸಿದ್ದೀರಿ, ನಂತರ ಅದನ್ನು ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿದ್ದೀರಿ.
- ECR API ಥ್ರೊಟ್ಲಿಂಗ್. ಅಪರೂಪ, ಆದರೆ ನೀವು ಒಂದೇ ಬಾರಿಗೆ ನೂರಾರು ಇಮೇಜ್ಗಳನ್ನು ಎಳೆಯುತ್ತಿದ್ದರೆ, ECR ನಿಮ್ಮನ್ನು ರೇಟ್-ಲಿಮಿಟ್ ಮಾಡಬಹುದು.
ದೋಷನಿವಾರಣೆ ಮಾಡಲು:
- IAM ಕನ್ಸೋಲ್ನಲ್ಲಿ ಟಾಸ್ಕ್ನ ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪಾತ್ರವನ್ನು ಪರಿಶೀಲಿಸಿ. ಇದು ECR ಅನುಮತಿಗಳನ್ನು ಹೊಂದಿದೆಯೇ?
- ಟಾಸ್ಕ್ಗಾಗಿ CloudWatch ಲಾಗ್ಗಳ ಗುಂಪನ್ನು ಪರಿಶೀಲಿಸಿ. ಆಗಾಗ್ಗೆ ಇದರಲ್ಲಿ ಸುಳಿವು ಹುದುಗಿರುತ್ತದೆ
awslogsಔಟ್ಪುಟ್. - ಒಂದೇ VPC ಯಲ್ಲಿನ EC2 ಇನ್ಸ್ಟೆನ್ಸ್ನಿಂದ ಇಮೇಜ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಎಳೆಯಲು ಪ್ರಯತ್ನಿಸಿ. ಅದು ಕೆಲಸ ಮಾಡಿದರೆ, ಸಮಸ್ಯೆಯು ಟಾಸ್ಕ್ ಕಾನ್ಫಿಗರೇಶನ್ನಲ್ಲಿ ನೆಟ್ವರ್ಕಿಂಗ್ ಅಥವಾ IAM ಆಗಿದೆ.
- VPC ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ನೋಡಿ (ನೀವು ಒಂದನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ). ಇದು ಟಾಸ್ಕ್ನ ಸಬ್ನೆಟ್ನಿಂದ ತಲುಪಬಹುದೇ?
ತೀರ್ಮಾನ
ECR ಸಂಕೀರ್ಣವಾಗಿಲ್ಲ, ಆದರೆ ವಿವರಗಳನ್ನು ಕಳೆದುಕೊಳ್ಳುವುದು ಸುಲಭ. ಇದು ನಿಮ್ಮ ECS ಟಾಸ್ಕ್ ಮತ್ತು ಹೊರಗಿನ ಪ್ರಪಂಚದ ನಡುವೆ ಕುಳಿತುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು ಅದು ತಪ್ಪಾಗಿ ಕಾನ್ಫಿಗರ್ ಆಗಿದ್ದರೆ, ಎಲ್ಲವೂ ನಿಲ್ಲುತ್ತದೆ. ಸರಿಯಾಗಿ ಪಡೆಯಬೇಕಾದ ಮೂರು ವಿಷಯಗಳೆಂದರೆ: IAM ಅನುಮತಿಗಳು (ಇದನ್ನು ಒಳಗೊಂಡಂತೆ GetAuthorizationToken), ನೆಟ್ವರ್ಕ್ ಪ್ರವೇಶ (ವಿಶೇಷವಾಗಿ ಖಾಸಗಿ ಸಬ್ನೆಟ್ಗಳಲ್ಲಿ), ಮತ್ತು ಇಮೇಜ್ ಕ್ಲೀನಪ್ (ಲೈಫ್ ಸೈಕಲ್ ಪಾಲಿಸಿಗಳು). ಆ ಮೂರನ್ನು ಮಾಡಿ, ಮತ್ತು ECR ಉತ್ತಮ ರೀತಿಯಲ್ಲಿ ಅದೃಶ್ಯವಾಗುತ್ತದೆ — ಅದು ಕೇವಲ ಕೆಲಸ ಮಾಡುತ್ತದೆ, ಮತ್ತು ನಿಮ್ಮ ಬಿಲ್ ಸಮಂಜಸವಾಗಿ ಉಳಿಯುತ್ತದೆ.
ಗುಣಗಳು
- ಸಂಪೂರ್ಣವಾಗಿ ನಿರ್ವಹಿಸಲಾಗಿದೆ — ನೀವೇ ಕಾರ್ಯನಿರ್ವಹಿಸಲು ಯಾವುದೇ ಕಂಟೇನರ್ ರಿಜಿಸ್ಟ್ರಿ ಇಲ್ಲ
- IAM ನೊಂದಿಗೆ ಸಂಯೋಜಿಸಲಾಗಿದೆ — ಉತ್ತಮ-ಧಾನ್ಯದ ಪ್ರವೇಶ ನಿಯಂತ್ರಣವನ್ನು ನಿರ್ಮಿಸಲಾಗಿದೆ
- ಅಗ್ಗ — ಶೇಖರಣೆಗಾಗಿ ಮಾತ್ರ ಪಾವತಿಸಿ, ಯಾವುದೇ ಪರ್-ಪುಲ್ ಶುಲ್ಕಗಳಿಲ್ಲ
- ವೇಗ — ಇಮೇಜ್ಗಳು ನಿಮ್ಮ ಟಾಸ್ಕ್ಗಳಂತೆಯೇ ಅದೇ AWS ಪ್ರದೇಶದಲ್ಲಿ ವಾಸಿಸುತ್ತವೆ
- VPC ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು ಲಭ್ಯವಿದೆ — ಭದ್ರತೆ ಮತ್ತು ವೇಗಕ್ಕಾಗಿ ಟ್ರಾಫಿಕ್ ಅನ್ನು AWS ನೊಳಗೆ ಇರಿಸಿ
- ಲೈಫ್ ಸೈಕಲ್ ಪಾಲಿಸಿಗಳು — ಸ್ವಯಂಚಾಲಿತ ಕ್ಲೀನಪ್ ಬಿಲ್ ಆಶ್ಚರ್ಯಗಳನ್ನು ತಡೆಯುತ್ತದೆ
ದೋಷಗಳು
- ದೋಷ ಸಂದೇಶಗಳು ಅಪಾರದರ್ಶಕವಾಗಿವೆ — "ResourceInitializationError" ನಿಮಗೆ ಏನನ್ನೂ ಹೇಳುವುದಿಲ್ಲ
- ಪ್ರಾದೇಶಿಕ — ಒಂದು ಪ್ರದೇಶದಲ್ಲಿನ ಇಮೇಜ್ಗಳು ಪರಿಹಾರಗಳಿಲ್ಲದೆ ಮತ್ತೊಂದು ಪ್ರದೇಶದಲ್ಲಿನ ಟಾಸ್ಕ್ಗಳಿಗೆ ಗೋಚರಿಸುವುದಿಲ್ಲ
- ಯಾವುದೇ ಅಂತರ್ನಿರ್ಮಿತ ಅಧಿಸೂಚನೆಗಳಿಲ್ಲ — ಎಚ್ಚರಿಕೆಯಿಲ್ಲದೆ ನಿಮ್ಮ ಇಮೇಜ್ ಶೇಖರಣೆ ಬಲೂನ್ ಆಗಬಹುದು
- IAM ಸಂಕೀರ್ಣತೆ — ಎಕ್ಸಿಕ್ಯೂಶನ್ ಪಾತ್ರವು ಅನೇಕ ಚಲಿಸುವ ಭಾಗಗಳನ್ನು ಹೊಂದಿದೆ
- VPC ಎಂಡ್ಪಾಯಿಂಟ್ ಸೆಟಪ್ ಹಸ್ತಚಾಲಿತವಾಗಿದೆ — ಖಾಸಗಿ-ಸಬ್ನೆಟ್ ಪ್ರವೇಶವನ್ನು ಭದ್ರಪಡಿಸುವುದು ಸುಲಭವಾಗಿರಬೇಕು
- ಟ್ಯಾಗ್ ಮಾಡದ ಇಮೇಜ್ ಕ್ಲೀನಪ್ ಹಸ್ತಚಾಲಿತವಾಗಿದೆ — ಲೈಫ್ ಸೈಕಲ್ ಪಾಲಿಸಿಗಳು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಸಕ್ರಿಯಗೊಳ್ಳುವುದಿಲ್ಲ
ಎಚ್ಚರಿಕೆ
ಈ ಮಾರ್ಗದರ್ಶಿ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ ಮೌಲ್ಯಗಳನ್ನು ಬಳಸುತ್ತದೆ: ರಿಪಾಸಿಟರಿ ಹೆಸರುಗಳು REPLACE_WITH_REPO_NAME, ಖಾತೆ ID ಗಳು REPLACE_WITH_ACCOUNT_ID, ಮತ್ತು ಪ್ರದೇಶಗಳು ಸಾಮಾನ್ಯ ಉದಾಹರಣೆಗಳಾಗಿವೆ. ನಿಮ್ಮ AWS ಖಾತೆಯಿಂದ ಯಾವಾಗಲೂ ನೈಜ ಮೌಲ್ಯಗಳನ್ನು ಬದಲಾಯಿಸಿ. ಈ ಯಾವುದೇ ಕಾನ್ಫಿಗರೇಶನ್ಗಳನ್ನು ಉತ್ಪಾದನೆಗೆ ನಿಯೋಜಿಸುವ ಮೊದಲು, ಅವುಗಳನ್ನು ಮೊದಲು ಸ್ಯಾಂಡ್ಬಾಕ್ಸ್ ಪರಿಸರದಲ್ಲಿ ಪರೀಕ್ಷಿಸಿ. IAM ಬದಲಾವಣೆಗಳು ಮತ್ತು ನೆಟ್ವರ್ಕಿಂಗ್ ಕಾನ್ಫಿಗರೇಶನ್ಗಳು ಚಾಲನೆಯಲ್ಲಿರುವ ಕೆಲಸದ ಹೊರೆಗಳನ್ನು ಅಡ್ಡಿಪಡಿಸಬಹುದು, ಆದ್ದರಿಂದ ಬದಲಾವಣೆಗಳನ್ನು ಎಚ್ಚರಿಕೆಯಿಂದ ಮಾಡಿ ಮತ್ತು ರೋಲ್ಬ್ಯಾಕ್ ಯೋಜನೆಯನ್ನು ಹೊಂದಿರಿ. ನಿಮ್ಮ ಸ್ವಂತ ಅಪಾಯದಲ್ಲಿ ಮುಂದುವರಿಯಿರಿ, ಮತ್ತು ಎಲ್ಲಾ ಪ್ಲೇಸ್ಹೋಲ್ಡರ್ಗಳನ್ನು ನಿಜವಾದ, ಸರಿಯಾದ ಮೌಲ್ಯಗಳೊಂದಿಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ.
ಪದೇ ಪದೇ ಕೇಳಲಾಗುವ ಪ್ರಶ್ನೆಗಳು
- ನನ್ನ CI/CD ಪೈಪ್ಲೈನ್ನಿಂದ ನಾನು ECR ಗೆ ಇಮೇಜ್ ಅನ್ನು ಹೇಗೆ ಪುಶ್ ಮಾಡುವುದು?
- ಸಾರ್ವಜನಿಕ ಮತ್ತು ಖಾಸಗಿ ECR ರಿಪಾಸಿಟರಿ ನಡುವಿನ ವ್ಯತ್ಯಾಸವೇನು?
- ನಾನು AWS ಹೊರಗಿನಿಂದ ECR ಇಮೇಜ್ ಅನ್ನು ಎಳೆಯಬಹುದೇ?
- ಭದ್ರತಾ ದುರ್ಬಲತೆಗಳಿಗಾಗಿ ನಾನು ECR ಇಮೇಜ್ಗಳನ್ನು ಹೇಗೆ ಸ್ಕ್ಯಾನ್ ಮಾಡುವುದು?
- ಧಿಡೀರ್ ಎಂದು ನನ್ನ ECR ಬಿಲ್ ಏಕೆ ಇಷ್ಟೊಂದು ಹೆಚ್ಚಾಗಿದೆ?
- ನಾನು ECR ಅನ್ನು ಬಳಸಬೇಕೇ, ಅಥವಾ ನಾನು Docker Hub ಅಥವಾ ಇನ್ನೊಂದು ರಿಜಿಸ್ಟ್ರಿಯನ್ನು ಬಳಸಬಹುದೇ?
- ನನ್ನ ECR ರಿಪಾಸಿಟರಿಗೆ ಮತ್ತೊಂದು AWS ಖಾತೆಯ ಪ್ರವೇಶವನ್ನು ನಾನು ಹೇಗೆ ನೀಡುವುದು?
- ಚಾಲನೆಯಲ್ಲಿರುವ ಟಾಸ್ಕ್ ಬಳಸುತ್ತಿರುವ ಇಮೇಜ್ ಅನ್ನು ನಾನು ಅಳಿಸಿದರೆ ಏನಾಗುತ್ತದೆ?
ಟ್ಯಾಗ್ಗಳು
#aws #ecr #ecs #containers #fargate #devops #cloudnative #iam
Prompt-Injection Defense Checklist
The controls that actually reduce the blast radius when your app feeds untrusted text to an LLM. Enter your email — you'll get the PDF instantly, plus new posts on AI, security & Linux.
Free. No spam — unsubscribe in one click.


Responses
Sign in to leave a response.