AWS ECR: ଆପଣଙ୍କ ECS Fargate କୁ ଆବଶ୍ୟକ ଥିବା କଣ୍ଟେନର ରେଜିଷ୍ଟ୍ରି (ଏବଂ ଏହା ଖରାପ ହେବା ପର୍ଯ୍ୟନ୍ତ କାହିଁକି ଅଦୃଶ୍ୟ ରହିଥାଏ)

AWS ECR: ଆପଣଙ୍କ ECS Fargate କୁ ଆବଶ୍ୟକ ଥିବା କଣ୍ଟେନର ରେଜିଷ୍ଟ୍ରି (ଏବଂ ଏହା ଖରାପ ହେବା ପର୍ଯ୍ୟନ୍ତ କାହିଁକି ଅଦୃଶ୍ୟ ରହିଥାଏ)

AWS ରେ ଇମେଜ୍ ପୁଲ୍ସ, IAM ଅନୁମତି ଏବଂ ବିଲ୍ ପରିଚାଳନା ପାଇଁ ଏକ ବ୍ୟାବହାରିକ ଗାଇଡ୍

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 ପ୍ରତିକ୍ରିୟା ଦେଇପାରିବ ନାହିଁ।

ସାଧାରଣତଃ ଏଗୁଡିକ ମଧ୍ୟରୁ ଗୋଟିଏ ଏହାର ସମାଧାନ ହୋଇଥାଏ:

  1. ECR ପାଇଁ ଏକ VPC ଏଣ୍ଡପଏଣ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ। ଆପଣଙ୍କ VPC ରେ ଏକ VPC ଏଣ୍ଡପଏଣ୍ଟ ସୃଷ୍ଟି କରନ୍ତୁ, ଏବଂ Fargate ପବ୍ଲିକ୍ ଇଣ୍ଟରନେଟ୍ ବଦଳରେ ଏଣ୍ଡପଏଣ୍ଟ ମାଧ୍ୟମରେ ଇମେଜ୍ କୁ ପୁଲ୍ କରିବ। ଏହା ଅଧିକ ସୁରକ୍ଷିତ ଏବଂ ଦ୍ରୁତ ଅଟେ।
  2. ନିଶ୍ଚିତ କରନ୍ତୁ ଯେ ଆପଣଙ୍କର NAT ଗେଟୱେ ରିଚେବଲ୍ ଅଟେ। ରାଉଟ୍ ଟେବୁଲ୍ ଗୁଡିକ ଯାଞ୍ଚ କରନ୍ତୁ — ECR କୁ ଯାଉଥିବା ଟ୍ରାଫିକ୍ NAT ମାଧ୍ୟମରେ ରାଉଟ୍ ହେବା ଉଚିତ୍।
  3. ଆଉଟବାଉଣ୍ଡ୍ HTTPS ଖୋଲନ୍ତୁ। ECR ରେ ପହଞ୍ଚିବା ପାଇଁ ଆପଣଙ୍କ ଟାସ୍କର ସିକ୍ୟୁରିଟି ଗ୍ରୁପ୍ କୁ ପୋର୍ଟ 443 ରେ ଇଗ୍ରେସ୍ ଆବଶ୍ୟକ।
  4. CloudWatch ଲଗ୍ ଗୁଡିକ ଯାଞ୍ଚ କରନ୍ତୁ। ଯଦି ଆପଣ ତ୍ରୁଟି ବାର୍ତ୍ତା ବାହାରକୁ ଯାଇ ଖୋଜନ୍ତି, ତେବେ ଆପଣଙ୍କ ଟାସ୍କର CloudWatch ଲଗ୍ ଗ୍ରୁପରେ ପ୍ରାୟତଃ ସୂଚନା ମିଳିଥାଏ।

ଯଦି ଆପଣ ଏକ ପ୍ରାଇଭେଟ୍ ସବନେଟରେ ଅଛନ୍ତି, ତେବେ ଏକ VPC ଏଣ୍ଡପଏଣ୍ଟ ହେଉଛି ସର୍ବୋତ୍ତମ ମାନକ। ଏହା ସମସ୍ତ ଟ୍ରାଫିକ୍ କୁ AWS ଭିତରେ ରଖେ, NAT ଚାର୍ଜକୁ ଏଡାଇଥାଏ, ଏବଂ ଦ୍ରୁତ ଅଟେ। ଏହାକୁ ଥରେ ସେଟ୍ ଅପ୍ କରନ୍ତୁ ଏବଂ ଭୁଲିଯାଆନ୍ତୁ।

ECR ମୂଲ୍ୟ ନିର୍ଦ୍ଧାରଣ ଏବଂ ଇମେଜ୍ କ୍ଲିନ୍ଅପ୍ ବୁଝିବା

ECR ଖର୍ଚ୍ଚ ସରଳ ଅଟେ: ଆପଣ ଷ୍ଟୋର୍ କରାଯାଇଥିବା ଇମେଜ୍ ଡାଟା ପାଇଁ ଅର୍ଥ ପ୍ରଦାନ କରନ୍ତି। କୌଣସି ପ୍ରତି-ପୁଲ୍ ଚାର୍ଜ ନାହିଁ, କୌଣସି ପ୍ରତି-ପୁସ୍ ଚାର୍ଜ ନାହିଁ। କେବଳ ଷ୍ଟୋରେଜ୍।

କିନ୍ତୁ ସମସ୍ୟା ହେଉଛି: ଯେପର୍ଯ୍ୟନ୍ତ ଆପଣ ଏହାକୁ ଡିଲିଟ୍ ନକରିଛନ୍ତି ସେପର୍ଯ୍ୟନ୍ତ ଆପଣ ପୁସ୍ କରୁଥିବା ପ୍ରତ୍ୟେକ ଇମେଜ୍ ଲେୟାର୍ ସବୁଦିନ ପାଇଁ ଷ୍ଟୋର୍ ହୋଇରହେ. ଯଦି ଆପଣ ଏକା ଇମେଜ୍ ଟ୍ୟାଗ୍ କୁ ବାରମ୍ବାର ପୁସ୍ କରନ୍ତି (ଯେପରି ଏକ "latest" ଟ୍ୟାଗ୍), ପ୍ରତ୍ୟେକ ପୁସ୍ ଭିତରେ ଭିତରେ ଏକ ନୂଆ ଇମେଜ୍ ହୋଇଥାଏ। କିଛି ବର୍ଷ ପରେ, ଆପଣଙ୍କ ପାଖରେ ହଜାର ହଜାର ଅନଟ୍ୟାଗ୍ ହୋଇଥିବା ଇମେଜ୍ ସେଠାରେ ପଡିରହିବ।

ବେସ୍ 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 ସମସ୍ୟାଗୁଡିକର ଡିବଗିଂ

ଯେତେବେଳେ ଏକ ଟାସ୍କ ଆରମ୍ଭ ହେବାରେ ବିଫଳ ହୁଏ, ତ୍ରୁଟି ବାର୍ତ୍ତା ସାଧାରଣତଃ ନିରର୍ଥକ ହୋଇଥାଏ। କିନ୍ତୁ ଉତ୍ତରଟି ପ୍ରାୟତଃ ଏଗୁଡିକ ମଧ୍ୟରୁ ଗୋଟିଏ ହୋଇଥାଏ:

  1. ଖରାପ IAM ଅନୁମତିଗୁଡିକ। ଏକ୍ସିକ୍ୟୁସନ୍ ରୋଲ୍ ରିପୋଜିଟୋରୀକୁ ପଢିପାରିବ ନାହିଁ।
  2. ଭୁଲ୍ ରିପୋଜିଟୋରୀ କିମ୍ବା ରିଜିଅନ୍। ଟାସ୍କଟି ଖୋଜୁଛି app.example.com/myimage:latest ଏଥିରେ us-east-1, କିନ୍ତୁ ଆପଣ ଏହାକୁ ଏଥିରେ ପୁସ୍ କରିଛନ୍ତି eu-west-1.
  3. ନେଟୱର୍କ ସମସ୍ୟାଗୁଡିକ। ପ୍ରାଇଭେଟ୍ ସବନେଟ୍, ସିକ୍ୟୁରିଟି ଗ୍ରୁପ୍, କିମ୍ବା ରାଉଟ୍ ଟେବୁଲ୍ ECR କୁ ଆକ୍ସେସ୍ ବ୍ଲକ୍ କରୁଛି।
  4. ଇମେଜ୍ ବିଦ୍ୟମାନ ନାହିଁ। ଆପଣ ଏକ ଟ୍ୟାଗ୍ ପୁସ୍ କଲେ, ତାପରେ ଏହାକୁ ଡିଲିଟ୍ କଲେ, ତାପରେ ଏହାକୁ ବ୍ୟବହାର କରିବାକୁ ଚେଷ୍ଟା କଲେ।
  5. 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, ଆକାଉଣ୍ଟ୍ ଆଇଡି ଗୁଡିକ ହେଉଛି 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

Free field guide

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.