CentOS6.5.1でNATフェイルオーバ(CDP:High Availability NATパターン)構築手順まとめ [corosync + pacemaker + crmコマンド+AWS SDK for PHP]
iptables, ntpd, postfix, openldap, phpldapadminをインストールした冗長化されたNATインスタンスを作るメモ NATインスタンスに、iptables, ntpd, postfix, openldap, phpldapadminなど様々なソフトウェアをインストールし、 万能共通管理サーバと言えるようなものを構築する必要がありました。 今回は、その構築方法をこれまでのブログ記事を参照する形でまとめてみました。 ○High Availability NATの構築 NATインスタンスの構築は下記を参照下さい。 CloutInitでNATインスタンス(iptables)を構築 High Availability NAT化は下記を参照下さい。 High Availability NATの作成(CentOS6) ○ntpdの設定 ntpdの設定と参照EC2に対
以前紹介した記事「cloud-initでUser Dataを使ってEC2を最初に起動した時のみ任意のスクリプトを実行する」にて 初回起動時に任意のスクリプトを実行できるようにしました。 そこで今回は、こちらの記事「VPCのNATインスタンスを作ってみる(iptables編)」で紹介している EC2上のNATインスタンスの構築(iptables関連)を、初回起動時に自動で行ってみました。 構築スクリプトは以下を利用しています。 suz-lab-centos-ami:suz-lab_nat #!/bin/sh set -e trap 'echo "NG: $?"' ERR FROM="net.ipv4.ip_forward = 0" TO="net.ipv4.ip_forward = 1" cp /etc/sysctl.conf /etc/sysctl.conf.org sed -e "s/$
まず、NATインスタンス(EC2)はAmazon VPCのNATインスタンスを作ってみる(iptables編)の記事で紹介したように 作ることができます。 このNATインスタンスを通過する通信をログに出力する方法です。 (様々な方法があると思いますがiptablesを使った方法になります) ○一旦iptablesを初期化 # iptables -t nat -F # iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destina
今回は、先日書籍(Amazon Web Servicesクラウドデザインパターン設計ガイド)が発売された Cloud Design Pattern(CDP)の記事になります。 今回の対象は「OnDemand NATパターン」です。 最近、「re:Invent」と呼ばれるAWSのイベントに参加したのですが、 結構、セッションでCloudFormationを使っていて、 「5分でできるぜ!」「3秒でできないのか?」 的な感じだったので、V2へのアップデートも兼ねて、注意点も下記のように更新しました。 メンテナンス時はNATインスタンスの立ち上げからサブネットのルーティングの 調整まで行うので、オペレーションミスが起こらないようにスクリプトで自動化、 もしくは CloudFormation のテンプレート化すると安全であり、 素早く用意もできる。 (といってもCloudFormatiomを入れた
以前、@c9katayamaさんが、VPCでアベイラビリティゾーン越しにプライベートIPを共有するの記事でVPCのルーティングを変更することでAZをまたいだFloating IPパターンのようなフェイルオーバーを実現する方法を紹介してくれました。 上記のブログでは、ルーティングテーブルの変更を手動(AWS Management Console)で行なっていましたが、最終的にはHeatbeat(Pacemaker)等で自動化したいと考えるはずなので、ルーティングを変更するPHPスクリプトを作成してみました。 #!/usr/bin/php require_once("/opt/aws/php/default/sdk.class.php"); define("TABLE", "rtb-6cd63105"); define("CIDR" , "0.0.0.0/0"); define("NAT" ,
前回、Amazon VPCのNATインスタンスを作ってみる(iptables編)の記事を紹介しました。 しかしiptablesでは、IPアドレス/ポート単位でしかアウトバウンドの制限ができないので、少し高度な制限(DNS名等)を可能とするため、さらにSquidを経由させることにしました。 はじめに、Squidのインストールです。 # yum -y install squid # chkconfig squid on # chkconfig --list squid squid 0:off 1:off 2:on 3:on 4:on 5:on 6:off 設定ファイルは下記のようにしています。 # cat /etc/squid/squid.conf visible_hostname unknown http_port 3128 transparent forwarded_for off cac
Amazon VPCのNATインスタンスを作ってみる(環境準備編)の記事で、実験する環境ができたので、今回は、iptablesを利用して、実際にNATインスタンスとして動作するようにしてみます。 以下がNATインスタンス上での作業になります。 まずは、IPv4の転送が有効になるように、カーネルパラメータ(net.ipv4.ip_forward)の設定を0から1にします。 # cat /etc/sysctl.conf ... # Controls IP packet forwarding #net.ipv4.ip_forward = 0 net.ipv4.ip_forward = 1 ... この設定を反映します。 # sysctl -p net.ipv4.ip_forward = 1 ... そして、下記のようにiptablesでIPマスカレードの設定を行います。 (上記の設定でNATイン
はじめに、NATインスタンスを配置するサブネットを用意します。 このサブネットのルーティングは下記のように0.0.0.0/0がInternet Gatewayに向くようにしておきます。 そして、このサブネット上にNATインスタンスにするEC2インスタンスを起動し、他の宛先のトラフィックも 受け付ける為、下記のようにSource / Dest CheckをDisableにします。 Source / Dest CheckをDisableにする際には、対象をインスタンスかENIか選択することになりますが、 今回はインスタンスを対象にしています。 (インスタンスにデフォルトで付いているENIが対象となります) 次に、上記のNATインスタンスを利用するサブネットを用意します。 このサブネットのルーティングは下記のように0.0.0.0/0がNATインスタンスに向くようにします。 下記のように0.0.0
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く