회사는 모든 기능이 활성화된 AWS Organizations의 조직을 사용합니다. 회사는 기본 계정에서 AWS Backup을 사용하고 AWS Key Management Service(AWS KMS) 키를 사용하여 백업을 암호화합니다. 회사는 AWS Backup이 기본 계정에 백업하는 리소스의 교차 계정 백업을 자동화해야 합니다. 회사는 조직 마스터 계정에서 계정 간 백업을 구성합니다. 회사는 조직에 새 AWS 계정을 생성하고 새 계정에 AWS Backup 백업 볼트를 구성합니다. 회사는 백업을 암호화하기 위해 새 계정에 KMS 키를 생성합니다. 마지막으로 회사는 기본 계정에 새로운 백업 계획을 구성합니다. 새 백업 계획의 대상은 새 계정의 백업 볼트입니다. 기본 계정에서 AWS Backup 작업이 호출되면 해당 작업은 기본 계정에 백업을 생성합니다. 그러나 백업은 새 계정의 백업 볼트에 복사되지 않습니다. 백업을 새 계정의 백업 볼트에 복사하려면 회사에서 어떤 단계 조합을 수행해야 합니까? (2개를 선택하세요.)
정답: A,E
To enable cross-account backup, the company needs to grant permissions to both the backup vault and the KMS key in the destination account. The backup vault access policy in the destination account must allow the primary account to copy backups into the vault. The key policy of the KMS key in the destination account must allow the primary account to use the key to encrypt and decrypt the backups. These steps are described in the AWS documentation12. Therefore, the correct answer is A and E. 1: Creating backup copies across AWS accounts - AWS Backup 2: Using AWS Backup with AWS Organizations - AWS Backup
DOP-C02-KR 문제 37
회사는 ALB(Application Load Balancer) 뒤에 있는 Amazon EC2 인스턴스에 웹 애플리케이션을 배포합니다. 회사는 AWS CodeCommit 리포지토리에 애플리케이션 코드를 저장합니다. 코드가 메인 브랜치에 병합되면 AWS Lambda 함수가 AWS CodeBuild 프로젝트를 호출합니다. CodeBuild 프로젝트는 코드를 패키징하고, 패키징된 코드를 AWS CodeArtifact에 저장하고, AWS 시스템 관리자 Run Command를 호출하여 패키징된 코드를 EC2 인스턴스에 배포합니다. 이전 배포에서는 결함, 패키지된 코드의 최신 버전을 실행하지 않는 EC2 인스턴스, 인스턴스 간 불일치가 발생했습니다. 보다 안정적인 배포 솔루션을 구현하려면 DevOps 엔지니어가 수행해야 하는 작업 조합은 무엇입니까? (2개를 선택하세요.)
정답: A,C
To implement a more reliable deployment solution, a DevOps engineer should take the following actions: Create a pipeline in AWS CodePipeline that uses the CodeCommit repository as a source provider. Configure pipeline stages that run the CodeBuild project in parallel to build and test the application. In the pipeline, pass the CodeBuild project output artifact to an AWS CodeDeploy action. This action will improve the deployment reliability by automating the entire process from code commit to deployment, reducing human errors and inconsistencies. By running the build and test stages in parallel, the pipeline can also speed up the delivery time and provide faster feedback. By using CodeDeploy as the deployment action, the pipeline can leverage the features of CodeDeploy, such as traffic shifting, health checks, rollback, and deployment configuration123 Create an AWS CodeDeploy application and a deployment group to deploy the packaged code to the EC2 instances. Configure the ALB for the deployment group. This action will improve the deployment reliability by using CodeDeploy to orchestrate the deployment across multiple EC2 instances behind an ALB. CodeDeploy can perform blue/green deployments or in-place deployments with traffic shifting, which can minimize downtime and reduce risks. CodeDeploy can also monitor the health of the instances during and after the deployment, and automatically roll back if any issues are detected. By configuring the ALB for the deployment group, CodeDeploy can register and deregister instances from the load balancer as needed, ensuring that only healthy instances receive traffic45 The other options are not correct because they do not improve the deployment reliability or follow best practices. Creating separate pipeline stages that run a CodeBuild project to build and then test the application is not a good option because it will increase the pipeline execution time and delay the feedback loop. Creating individual Lambda functions that use CodeDeploy instead of Systems Manager to run build, test, and deploy actions is not a valid option because it will add unnecessary complexity and cost to the solution. Lambda functions are not designed for long-running tasks such as building or deploying applications. Creating an Amazon S3 bucket and modifying the CodeBuild project to store the packages in the S3 bucket instead of in CodeArtifact is not a necessary option because it will not affect the deployment reliability. CodeArtifact is a secure, scalable, and cost-effective package management service that can store and share software packages for application development67 1: What is AWS CodePipeline? - AWS CodePipeline 2: Create a pipeline in AWS CodePipeline - AWS CodePipeline 3: Deploy an application with AWS CodeDeploy - AWS CodePipeline 4: What is AWS CodeDeploy? - AWS CodeDeploy 5: Configure an Application Load Balancer for your blue/green deployments - AWS CodeDeploy 6: What is AWS Lambda? - AWS Lambda 7: What is AWS CodeArtifact? - AWS CodeArtifact
DOP-C02-KR 문제 38
한 회사의 애플리케이션 팀은 애플리케이션에 AWS CodeCommit 저장소를 사용합니다. 애플리케이션 팀은 여러 AWS 계정에 저장소를 가지고 있으며, 모든 계정은 AWS Organizations 내의 조직에 속합니다. 각 애플리케이션 팀은 외부 IdP로 구성된 AWS IAM Identity Center(AWS Single Sign-On)를 사용하여 개발자 IAM 역할을 수행합니다. 개발자 역할을 통해 애플리케이션 팀은 Git을 사용하여 저장소의 코드를 작업할 수 있습니다. 보안 감사 결과 애플리케이션 팀이 모든 저장소의 메인 브랜치를 수정할 수 있음이 밝혀졌습니다. DevOps 엔지니어는 애플리케이션 팀이 관리하는 저장소의 메인 브랜치만 수정할 수 있도록 하는 솔루션을 구현해야 합니다. 이러한 요구 사항을 충족하는 단계 조합은 무엇입니까? (세 가지를 선택하세요.)
정답: A,D,F
Short Explanation: To meet the requirements, the DevOps engineer should update the SAML assertion to pass the user's team name, update the IAM role's trust policy to add an access-team session tag that has the team name, create an IAM permissions boundary in each account, and for each CodeCommit repository, add an access-team tag that has the value set to the name of the associated team. Updating the SAML assertion to pass the user's team name allows the DevOps engineer to use IAM tags to identify which team a user belongs to. This can help enforce fine-grained access control based on the user's team membership1. Updating the IAM role's trust policy to add an access-team session tag that has the team name allows the DevOps engineer to use IAM condition keys to restrict access based on the session tag value2. For example, the DevOps engineer can use the aws:PrincipalTag condition key to match the access-team tag of the user with the access-team tag of the repository3. Creating an IAM permissions boundary in each account allows the DevOps engineer to set the maximum permissions that an identity-based policy can grant to an IAM entity. An entity's permissions boundary allows it to perform only the actions that are allowed by both its identity-based policies and its permissions boundaries4. For example, the DevOps engineer can use a permissions boundary policy to limit the actions that a user can perform on CodeCommit repositories based on their access-team tag5. For each CodeCommit repository, adding an access-team tag that has the value set to the name of the associated team allows the DevOps engineer to use resource tags to identify which team manages a repository. This can help enforce fine-grained access control based on the resource tag value6. The other options are incorrect because: Creating an approval rule template for each team in the Organizations management account is not a valid option, as approval rule templates are not supported by AWS Organizations. Approval rule templates are specific to CodeCommit and can only be associated with one or more repositories in the same AWS Region where they are created7. Creating an approval rule template for each account is not a valid option, as approval rule templates are not designed to restrict access to modify branches. Approval rule templates are designed to require approvals from specified users or groups before merging pull requests8. Attaching an SCP to the accounts is not a valid option, as SCPs are not designed to restrict access based on tags. SCPs are designed to restrict access based on service actions and resources across all users and roles in an organization's account9.
DOP-C02-KR 문제 39
대기업이 AWS에 웹 애플리케이션을 배포하고 있습니다. 애플리케이션은 Application Load Balancer 뒤의 Amazon EC2 인스턴스에서 실행됩니다. 인스턴스는 여러 가용 영역의 Auto Scaling 그룹에서 실행됩니다. 애플리케이션은 Oracle DB 인스턴스 및 Amazon DynamoDB용 Amazon RDS에 데이터를 저장합니다. 개발 테스트와 프로덕션에는 별도의 환경이 있습니다. 배포 중에 암호 자격 증명을 얻을 수 있는 가장 안전하고 유연한 방법은 무엇입니까?
정답: B
AWS Secrets Manager is a secrets management service that helps you protect access to your applications, services, and IT resources. This service enables you to easily rotate, manage, and retrieve database credentials, API keys, and other secrets throughout their lifecycle. Using Secrets Manager, you can secure and manage secrets used to access resources in the AWS Cloud, on third-party services, and on-premises. SSM parameter store and AWS Secret manager are both a secure option. However, Secrets manager is more flexible and has more options like password generation. Reference: https://www.1strategy.com/blog/2019/02 /28/aws-parameter-store-vs-aws-secrets-manager/
DOP-C02-KR 문제 40
Amazon EC2 인스턴스는 VPC에서 실행 중이며 제한된 Amazon S3 버킷에서 객체를 다운로드해야 합니다. DevOps 엔지니어가 개체를 다운로드하려고 하면 AccessDenied 오류가 수신됩니다. 이 오류의 가능한 원인은 무엇입니까? (2개 선택,)
정답: B,D
These are the possible causes for the AccessDenied error because they affect the permissions to access the S3 object from the EC2 instance. An S3 bucket policy is a resource-based policy that defines who can access the bucket and its objects, and what actions they can perform. An IAM role is an identity that can be assumed by an EC2 instance to grant it permissions to access AWS services and resources. If there is an error in the S3 bucket policy or the IAM role configuration, such as a missing or incorrect statement, condition, or principal, then the EC2 instance may not have the necessary permissions to download the object from the S3 bucket . https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html