Amazon EC2 起動テンプレートを使用して Amazon EC2 インスタンスの起動を制御する
ユーザーが起動テンプレートを使用する場合、インスタンスのみを起動できるようにして、さらに特定の起動テンプレートのみを使用できるように指定することで、Amazon EC2 インスタンスの設定を制御できます。また、起動テンプレートや起動テンプレートのバージョンを作成、変更、記述、削除できる人を制御することもできます。
起動テンプレートを使用した起動パラメータの制御
起動テンプレートには、起動時にインスタンスを設定するためのパラメータのすべてまたは一部を含めることができます。ただし、起動テンプレートを使用してインスタンスを起動するときは、起動テンプレートで指定されたパラメータを上書きできます。または、起動テンプレートにない追加のパラメータを指定できます。
注記
起動時に起動テンプレートパラメータを削除することはできません (例えば、パラメータに null 値を指定することはできません)。パラメータを削除するには、起動テンプレートの新しいバージョンをパラメータなしで作成し、そのバージョンを使用してインスタンスを起動します。
インスタンスを起動するには、ユーザーは ec2:RunInstances
アクションを使用するためのアクセス許可が必要です。また、ユーザーは、インスタンスに作成または関連付けられたリソースを作成または使用する許可が必要です。ec2:RunInstances
アクションのリソースレベルのアクセス権限を使用して、ユーザーが指定できる起動パラメータを管理できます。または、起動テンプレートを使用してインスタンスを起動するアクセス権限をユーザーに付与することもできます。これにより、IAM ポリシーではなくむしろ起動テンプレートで起動パラメータを管理できるようになり、インスタンス起動の権限を付与するための手段として起動テンプレートを使用できます。例えば、ユーザーが起動テンプレートを使用してのみインスタンスを起動できるようにして、さらに特定の起動テンプレートのみを使用できるように指定することができます。また、ユーザーが起動テンプレートで上書きする起動パラメータを制御することもできます。エンドポイントポリシーの例については、「起動テンプレート」を参照してください。
起動テンプレートの使用の管理
デフォルトでは、 ユーザーには起動テンプレートを使用するためのアクセス許可がありません。起動テンプレートと起動テンプレートバージョンの作成、変更、記述、および削除のアクセス許可をユーザーに付与するポリシーを作成できます。一部の起動テンプレートアクションにリソースレベルのアクセス許可を適用して、ユーザーがこれらのアクションに対する特定のリソースを使用する機能を制御することもできます。詳細については、「例: 起動テンプレートの使用」のポリシー例を参照してください。
ユーザーに ec2:CreateLaunchTemplate
および ec2:CreateLaunchTemplateVersion
のアクションを使用するアクセス許可を付与するには注意が必要です。リソースレベルのアクセス許可を使用して、ユーザーが起動テンプレートで指定できるリソースを制御することはできません。インスタンス起動のために使用されるリソースを制限するには、起動テンプレートと起動テンプレートのバージョンを作成するアクセス許可を、適切な管理者のみに付与していることを確認してください。
EC2 フリートまたはスポットフリートで起動テンプレートを使用する際の重要なセキュリティ上の懸念
起動テンプレートを使用するには、起動テンプレートおよび起動テンプレートのバージョンを作成、変更、記述、および削除するアクセス許可をユーザーに付与する必要があります。ec2:CreateLaunchTemplate
および ec2:CreateLaunchTemplateVersion
アクションへのアクセスを制御することで、起動テンプレートと起動テンプレートのバージョンをどのユーザーが作成できるかを制御できます。ec2:ModifyLaunchTemplate
アクションへのアクセスを制御することで、起動テンプレートを変更できるユーザーを管理することもできます。
重要
EC2 フリートまたはスポットフリートが「最新」または「デフォルト」の起動テンプレートバージョンを使用するように設定されている場合、後でそれらが変更されて起動テンプレートの別のバージョンを指すようになっても、そのフリートでは認識されません。「最新」または「デフォルト」に別の起動テンプレートバージョンが使用されている場合、フリートの目標容量を満たすために新しいインスタンスを起動する際に、Amazon EC2 により完了すべきアクションのアクセス許可が再確認されることはありません。これは、起動テンプレートバージョン (特にユーザーがデフォルトの起動テンプレートバージョンを変更できる ec2:ModifyLaunchTemplate
アクション) を作成および管理できるユーザーにアクセス許可を付与する際の重要な考慮事項です。
起動テンプレート API の EC2 アクションを使用するアクセス許可をユーザーに付与すると、インスタンスプロファイル (IAM ロールのコンテナ) を含む別の起動テンプレートバージョンを指すように EC2 フリートまたはスポットフリートを作成および更新する場合でも、ユーザーに iam:PassRole
アクセス許可が効果的に付与されます。つまり、場合によっては iam:PassRole
アクセス許可がなくても、起動テンプレートを更新して IAM ロールをインスタンスに渡すことができます。詳細および IAM ポリシーの例については、「IAM ユーザーガイド」の「Amazon EC2 インスタンスで実行されるアプリケーションに IAM ロールを使用してアクセス許可を付与する」を参照してください。
詳細については、起動テンプレートの使用の管理および例: 起動テンプレートの使用を参照してください。