一部のワークロードでは、固定 IP アドレスが必要です。このトピックでは、Elastic Container Instance (ECI) インスタンスの作成時にプライベート IP アドレスを指定する方法について説明します。
仕組み
デフォルトでは、ECI インスタンスを作成すると、設定された vSwitch の CIDR ブロックからプライベート IP アドレスがランダムに割り当てられます。一部のシナリオでは、インスタンスにプライベート IP アドレスを指定することが望ましい場合があります。たとえば、サービス移行中に、古い ECI インスタンスを削除し、その IP アドレスを新しいインスタンスに割り当てることで、サービス継続性を確保できます。
使用制限
Pod に指定するプライベート IP アドレスは IPv4 アドレスである必要があります。
設定
ECI インスタンスにプライベート IP アドレスを指定するには、CreateContainerGroup API オペレーションを呼び出すときに PrivateIpAddress パラメーターを使用します。次の表に、関連するパラメーターを示します。詳細については、「CreateContainerGroup」をご参照ください。
|
パラメーター |
タイプ |
例 |
説明 |
|
VSwitchId |
string |
vsw-bp1gds63lmlm7ib05**** |
インスタンスが属する vSwitch です。 プライベート IP アドレスを指定する場合は、vSwitch も指定する必要があります。 |
|
SecurityGroupId |
string |
sg-bp1daxpbz9lzpvvc**** |
インスタンスが属するセキュリティグループです。 vSwitch を指定する場合は、セキュリティグループも指定する必要があります。 |
|
PrivateIpAddress |
string |
172.16.0.1 |
vSwitch の CIDR ブロックから利用可能なプライベート IP アドレスです。 |
例
-
指定されたプライベート IP アドレスで ECI インスタンスを作成します。
次のコードは、CreateContainerGroup API オペレーションを呼び出すためのパラメーターの例を示しています。
{ "RegionId": "cn-beijing", "SecurityGroupId": "sg-2ze1pjtsbqcuykpp****", "VSwitchId": "vsw-2ze94pjtfuj9vaymf****", "PrivateIpAddress": "172.16.0.1", "ContainerGroupName": "test", "Container": [ { "Name": "nginx", "Image": "registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2" } ] } -
インスタンスのプライベート IP アドレスを確認します。
返されたインスタンス ID を使用して DescribeContainerGroups API オペレーションを呼び出し、
IntranetIpレスポンスフィールドでプライベート IP アドレスを確認するか、コンソールで確認することができます。ECI インスタンスリストの [IP アドレス] 列には、インスタンスに割り当てられたプライベート IP アドレス (
`172.16.0.1`など) が表示されます。