起動設定を使用してインスタンステナンシーを設定する
テナンシーは、EC2 インスタンスが物理ハードウェアに分散される方法を定義します。これは、料金に影響を与えます。次の 3 つのテナンシーオプションを使用できます。
-
共有 (
default
) — 複数の AWS アカウント が、同じ物理ハードウェアを共有できます。 -
ハードウェア専有インスタンス (
dedicated
) — インスタンスはシングルテナントのハードウェアで実行されます。 -
専有ホスト (
host
) — インスタンスは、EC2 インスタンスのキャパシティー全体が専用に設定された物理サーバーで実行されます。専有ホストとは、ユーザーが設定を制御できる隔離サーバーです。
このトピックでは起動設定で設定を指定して、Auto Scaling グループでハードウェア専有インスタンスを起動する方法について説明します。料金情報とハードウェア専有インスタンスの詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイドにある「Amazon EC2 専有インスタンス
起動設定または起動テンプレートを使用して、EC2 インスタンスのテナンシーを設定できます。ただし、host
テナント属性値は起動設定では使用できません。default
または dedicated
テナント属性値のみを使用します。
host
のテナント属性値を使用するには、起動テンプレートをかならず使用します。詳細については、「Auto Scaling グループの起動テンプレートを作成する」を参照してください。Dedicated Hosts を起動する前に、AWS License Manager
専用インスタンスは、ハードウェア専有インスタンス以外のインスタンスや、他の AWS アカウント に属するインスタンスとは、ホストハードウェアのレベルで物理的に分離されます。VPC を作成すると、デフォルトではテナンシー属性は default
に設定されます。このような VPC では、テナンシー値に dedicated
を指定してインスタンスを起動して、単一テナンシーインスタンスとして実行できます。それ以外の場合は、デフォルトで、インスタンスは共有テナンシーインスタンスとして実行されます。VPC のテナンシー属性を dedicated
に設定した場合、VPC で起動されるすべてのインスタンスは、シングルテナンシーインスタンスとして実行されます。
起動設定を作成するときにインスタンスのプレイスメントテナンシーのデフォルト値は null
であり、インスタンスのテナンシーは VPC のテナンシー属性によって制御されます。起動設定のインスタンスプレイスメントテナンシーは、default
または dedicated
として create-launch-configuration CLI コマンドと --placement-tenancy
オプションを使用します。
以下の表は、VPC で起動される Auto Scaling インスタンスのプレイスメントテナンシーをまとめたものです。
起動設定のテナンシー | VPC テナンシー = default |
VPC テナンシー = dedicated |
---|---|---|
指定されていません |
共有テナンシー インスタンス |
Dedicated Instances |
|
共有テナンシー インスタンス |
Dedicated Instances |
|
Dedicated Instances |
Dedicated Instances |
ハードウェア専有インスタンスを作成する起動設定を作成するには (AWS CLI)
次の create-launch-configuration コマンドを使用して、起動設定テナンシーを dedicated
に設定する起動設定を作成します。
aws autoscaling create-launch-configuration --launch-configuration-name
my-launch-config
--placement-tenancy dedicated --image-id ...
次の describe-launch-configurations コマンドを使用して、起動設定のインスタンスのプレイスメントテナンシーを確認できます。
aws autoscaling describe-launch-configurations --launch-configuration-names
my-launch-config
ハードウェア専有インスタンスを作成する起動設定の出力例を次に示します。明示的にインスタンスのプレイスメントテナンシーを設定すると、PlacementTenancy
パラメータはこのコマンドの出力にのみ含まれます。
{
"LaunchConfigurations": [
{
"UserData": null,
"EbsOptimized": false,
"PlacementTenancy": "dedicated",
"LaunchConfigurationARN": "arn",
"InstanceMonitoring": {
"Enabled": true
},
"ImageId": "ami-b5a7ea85",
"CreatedTime": "2020-03-08T23:39:49.011Z",
"BlockDeviceMappings": [],
"KeyName": null,
"SecurityGroups": [],
"LaunchConfigurationName": "my-launch-config",
"KernelId": null,
"RamdiskId": null,
"InstanceType": "m3.medium"
}
]
}