type
status
date
slug
summary
tags
category
icon
password
理論
1. IAMポリシーを使用してリソースのアクセス制御を行う
IAMポリシーを使用することで、AWSリソースへのアクセスを細かく制御できます。特にEC2インスタンスの起動に関しては、ポリシーで以下のような制限を設けることができます:
- インスタンスタイプの制限: IAMポリシーを使って、特定のインスタンスタイプ(例えば、t3.small)のみを起動できるように制限することが可能です。
ec2:RunInstances
アクションを使用して、特定のインスタンスタイプに対するアクセスを制限できます。
- リージョンの制限: IAMポリシーには、特定のリージョンに対する制限も設定できます。これにより、開発者がインスタンスを指定されたリージョン(例えば、us-east-2)でのみ起動できるように制御できます。
2. IAMポリシーの構成方法
IAMポリシーはJSON形式で記述され、具体的な許可や拒否のルールを設定します。例えば、以下のようなポリシーを使用して、
t3.small
のみを許可し、他のインスタンスタイプの起動を拒否することができます。このポリシーは、
ec2:RunInstances
アクションを許可し、インスタンスタイプが t3.small
であり、リージョンが us-east-2
である場合にのみインスタンスを起動できるように制限します。3. AWS Organizationsとサービスコントロールポリシー(SCP)
AWS Organizationsを使用して、複数のアカウントを一元管理することができます。SCP(サービスコントロールポリシー)は、組織全体でリソースへのアクセス制御を行うために使用しますが、特定のアカウントに対して個別に制限を加えたい場合にはIAMポリシーの方が適切です。SCPは、AWS Organizations内の複数のアカウントに共通のポリシーを適用するため、個別のアカウントに詳細な制限を加える場合にはIAMポリシーが有効です。
4. EC2インスタンスの種類と起動制限
EC2インスタンスには、様々なインスタンスタイプがあります。インスタンスタイプの制限は、コスト管理やパフォーマンスの最適化に役立ちます。特定のインスタンスタイプに制限を加えることで、開発者や運用チームが予算内でリソースを効率的に管理できるようになります。
結論:
IAMポリシーを使って、EC2インスタンスの起動に対する制限を設けることは、特定のインスタンスタイプやリージョンに制限をかけるための最も効果的な方法です。これにより、開発者が所定のインスタンスタイプ(例えば
t3.small
)でのみインスタンスを起動し、指定されたリージョン(例:us-east-2
)での実行を確保することができます。実践
略
一問道場
問題 #351
ある会社には、Amazon EC2 インスタンスが必要以上に大きく起動されているプロジェクトがあります。このプロジェクトのアカウントは、ポリシー制限により会社の AWS Organizations には参加できません。会社は、プロジェクトのアカウントで開発者が t3.small EC2 インスタンスのみを起動できるようにし、その EC2 インスタンスは us-east-2 リージョンに制限する必要があります。
この要件を満たすために、ソリューションアーキテクトはどのような対応をすべきでしょうか?
A. 新しい開発者アカウントを作成し、すべての EC2 インスタンス、ユーザー、リソースを us-east-2 に移動します。そのアカウントを会社の AWS Organizations に追加します。リージョンに関連するタグ付けポリシーを強制します。
B. サービスコントロールポリシー(SCP)を作成し、us-east-2 で t3.small EC2 インスタンス以外のインスタンスの起動を拒否します。この SCP をプロジェクトのアカウントに適用します。
C. 各開発者に対して、us-east-2 の t3.small EC2 リザーブドインスタンスを作成して購入し、各開発者に名前タグを付けてインスタンスを割り当てます。
D. t3.small EC2 インスタンスのみを us-east-2 で起動できるようにする IAM ポリシーを作成し、そのポリシーをプロジェクトのアカウントで開発者が使用するロールやグループに適用します。
解説
この問題では、プロジェクトのアカウントで開発者が特定の Amazon EC2 インスタンスタイプ(t3.small)のみを起動し、そのインスタンスを特定のリージョン(us-east-2)で制限する要件を満たす方法を求めています。以下が解説です。
A. 新しい開発者アカウントを作成し、すべての EC2 インスタンス、ユーザー、リソースを us-east-2 に移動します。そのアカウントを会社の AWS Organizations に追加します。リージョンに関連するタグ付けポリシーを強制します。
- 理由: この方法は手間が多く、直接的に要件を満たす方法ではありません。新しいアカウントを作成してリソースを移動する必要があり、タグ付けポリシーの強制も求められますが、最初に必要な制限を簡単に設定できるわけではありません。
B. サービスコントロールポリシー(SCP)を作成し、us-east-2 で t3.small EC2 インスタンス以外のインスタンスの起動を拒否します。この SCP をプロジェクトのアカウントに適用します。
- 理由: これは問題の要件を満たす方法ではありません。SCP は AWS Organizations 内で組織単位で適用されるため、プロジェクトアカウントが AWS Organizations に参加していないと適用できません。したがって、この解決策は不適切です。
C. 各開発者に対して、us-east-2 の t3.small EC2 リザーブドインスタンスを作成して購入し、各開発者に名前タグを付けてインスタンスを割り当てます。
- 理由: リザーブドインスタンスを購入する方法は、コスト効率が良いとはいえ、開発者ごとに個別のインスタンスを割り当てる必要があるため、管理が煩雑になります。また、この方法はプロジェクト全体の自動化された制限管理には向いていません。
D. t3.small EC2 インスタンスのみを us-east-2 で起動できるようにする IAM ポリシーを作成し、そのポリシーをプロジェクトのアカウントで開発者が使用するロールやグループに適用します。
- 理由: これは最も適切な方法です。IAM ポリシーを使用することで、開発者が t3.small EC2 インスタンスのみを起動できるように制限できます。ポリシーで
ec2:RunInstances
アクションに対する制限を設定し、t3.small
インスタンスの起動を許可することができます。また、ポリシーは特定のリージョン(us-east-2)にも制限できます。この方法は、管理が簡単で、要件を正確に満たす方法です。
結論:
最適な解決策は D です。この方法は、最も効率的かつ簡単に指定されたインスタンスタイプ(t3.small)の起動を制限し、指定されたリージョンでのみインスタンスを作成できるようにするためです。
- 作者:みなみ
- 链接:https://tangly1024.com/資格勉強/177d7ae8-88e2-801f-94f3-ea55ed877aa3
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
相关文章