ホーム DoRuby IDCF keepalivedを使用したグローバルIPとローカルIPの紐付け

IDCF keepalivedを使用したグローバルIPとローカルIPの紐付け

この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。

rickNo38です。
IDCフロンティアでhttp/httpsのアクセス先を冗長化するため
keepalivedを使用するために行った設定を記載いたします。

用意するもの

・IDCF契約(仮想サーバ2台以上)
・グローバルIP1個(IDCF管理画面上はIPアドレス)
・実施したOSはCentOS7

冗長化を行う理由

用意されているルーターを使用するとhttpsの場合、アクセス元IPが取得できなくなります。
そのため、ルーターを返さず直接apache等で受け取る必要があります。
また、冗長化していないと安全性が低いため冗長化も必用となってきます。

APIコマンドinstall

keepalivedでの冗長化を実現するためには、
管理画面上の設定では不可能なため、
APIをinstall必要があります。
設定するのはmasterサーバの1台だけです。su – curl -kL https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python
yum -y install libxml2 libxml2-devel libxslt libxslt-devel gcc python-devel
pip install git+https://github.com/idcf/cloudstack-api
cloudstack-api –version
—–
cloudstack-api v0.10.2
—–

API設定

vim ~/.idcfrc
—–
[account]
host=エンドポイント
api_key=API Key
secret_key=Secret Key
—–
chmod 600 ~/.idcfrc
# 下記表示されればok
cloudstack-api listZones
—–
{
“listzonesresponse”: {
“count”: 3,
“zone”: [
{
“allocationstate”: “Enabled”,
“dhcpprovider”: “VirtualRouter”,
“id”: “xxxx”,
“localstorageenabled”: true,
“name”: “tesla”,
etc…
—–

サーバに2個目のIPを付与

# 仮想マシンIDの確認
cloudstack-api listVirtualMachines -t displayname,id
—–
+————–+————————————–+
| displayname | id |
+————–+————————————–+
| test | 1234567890 |
—–
# NICの確認
cloudstack-api listNics –virtualmachineid 1234567890
—–
{
“listnicsresponse”: {
“count”: 1,
“nic”: [
{
“gateway”: “10.3.0.1”,
“id”: “abvdefg”,
“ipaddress”: “10.3.0.2”,
“isdefault”: true,
“macaddress”: “xx:xx:xx:xx:xx”,
“netmask”: “xxx.xxx.xxx.xxx.xxx”,
“networkid”: “xxxxxxx”
}
]
}
}
—–
# サーバにIPを付与
cloudstack-api addIpToNic –nicid abvdefg –ipaddress 10.3.0.3
# secondaryipが指定されているか確認
cloudstack-api listNics –virtualmachineid 1234567890
—–
{
“listnicsresponse”: {
“count”: 1,
“nic”: [
{
“gateway”: “10.3.0.1”,
“id”: “abvdefg”,
“ipaddress”: “10.3.0.2”,
“isdefault”: true,
“macaddress”: “xx:xx:xx:xx:xx”,
“netmask”: “xxx.xxx.xxx.xxx.xxx”,
“networkid”: “xxxxxxx”
“secondaryip”: [
{
“id”: “zxcvasdf”,
“ipaddress”: “10.3.0.3”
}
]
}
]
}
}
—–

NAT設定

# グローバルIPのリスト取得
cloudstack-api listPublicIpAddresses -t ipaddress,id
—–
+—————–+————————————–+
| ipaddress | id |
+—————–+————————————–+
| 210.140.111.111 | aaaaaa |
——
# ローカルIPとグローバルIPのNAT設定
cloudstack-api enableStaticNat –ipaddressid aaaaaa –virtualmachineid 1234567890 –vmguestip 10.3.0.3
管理画面メニューのIPアドレスから「210.140.111.111」がNAT設定されているか確認できます。

keepalived設定

後は普通にkeepalivedの設定をするだけです。

記事を共有

最近人気な記事