refs:
aws■Amazon VPC(Virtual Private Cloud)
仮想サーバや各種サービスをプライベートなネットワークで接続
refs:
・
Amazon Virtual Private Cloud (VPC) ドキュメント | アマゾン ウェブ サービス(AWS 日本語・
senario for amazon vpcメジャーな4パターンある
○ネットワークACL(Access control list)はサブネットのinbound,outboundトラフィックを制御するフィイアウォールとして動作するセキュリティのオプションレイヤ
refs:
ネットワークACL○VPCのセキュリティについて。security groupとnetwork ACLの違い
refs :
vpcのセキュリティセキュリティグループとnetwork aclの違いについて。また、最後の図がvpc,virtual private gateway,internet gateway,router,routing table,network ACL,subnet,security group,instanceの関係性をシンプルに表していて解りやすい。
AWS Identity and Access Managementを使用すると、組織内の誰がsecurity groupやnetwork ACLを作成管理できるようにするかをコントロールできる。例えば、ネットワーク管理者だけにその権限を与え、インスタンスの起動のみが必要な作業員には付与しないようにするとか
○route tableは、ネットワークの経路を判断する際に使用されるルートと呼ばれる一連のルールが含まれる。vpcの各さぶねっとをルートテーブルに関連づける必要がある。サブネットのルーティングはこのテーブルによってコントロールされる。・・・
ref:
ルートテーブル○internet gateway
refs
・vpcとインターネットゲートウェイをセットアップする
・インターネットゲートウェイをvpcに追加する
・イ
ンターネットからvpc上にec2接続■slideshare
refs :
20120803 Amazon VPCを極める・SPOF(Single point of failure)単一障害点:
・heartbeat:ネットワーク上で、PCやネットワーク機器自身が正常に動作している事を外部に知らせるための信号
・ENI(Elastice network interface):サブネット間の通信は禁止。ウェブIPアドレスとMACアドレスを持つNICそのもの。サブネット間にまたがってインスタンスを配置できる。
refs:
Amazon VPCトレーニング-VPCの説明refs : マイスターシリーズ、amazon VPC VPN & Direct connect
・VPN通信プロトコルをBGPかStaticから選択
refs : [
AWSマイスターシリーズ] Amazon Virtual Private Cloud (VPC)・Classic EC2/Default VPC/通常のVPCの違い
・各subnetはroute tableを持っている。設定を変更する事でデータの流れを制御可能。public subnetのroute table,private subnetのroute tableの例が書いてある。public subnetの方はIGWへのルーティングがあるのでインターネットへアクセス可能。
・private
subnetから外部のインターネットへアクセスしたい場合、NATが必要。NAT Instanceを使う事でGlobal
IPを設定する事なく外部へのアクセスが可能。AWSにNAT用のEC2 AMIがある。private subnetのroute tableにNAT
Instanceの設定行を追加する必要がある。
・EC2 Seruciry GropuとVPN Security GroupとNetwork ACL。Instanceレベルとsubnetレベルのin/outのアクセス制御が可能。これら3つのイメージがしやすい図
・Elastic Network Interface。VPC上の仮想ネットワークインターフェース。ENIはprivate IP,MACアドレス,Elastice IP,security groupと紐付け可能。
・VPN,VPN Gateway,Customer Gateway。VPN Connectionを作成後、Configurationファイルをダウンロードし、オンプレのVPN routerの設定を実施する
・VPCを使ったときに料金について
・Direct Connetについても書いてある
refs :
Amazon Virtual Private Cloud (VPC) by Default・vpc for everyone
・default VPNについて。常にVPCに属する、消さなければ。という意味でvpc for everyone。これがない場合、かつ、何もVPCを作らないとClasic EC2になる
・VPCに出来てec2-classicには出来ない事色々
・default VPCやdefault subnetを削除した場合、再作成は要カスタマサポート
・新APIは、VPC内のDB security groupを取り扱わない
■inbound,outbound,destination,source
vpcのsecurity group,network ACLでは、inbount,outboundを設定する。inboundはsource,outboundはdestination。inboundは外から入ってくる、outboundは外へ出て行く。
■IAM(AWS Identity and Access Management)
AWS Identity and Access Managementを使用すると、組織内の誰がsecurity groupやnetwork
ACLを作成管理できるようにするかをコントロールできる。例えば、ネットワーク管理者だけにその権限を与え、インスタンスの起動のみが必要な作業員には
付与しないようにするとか 。詳細は「
amazon vpcのリソースに対するアクセスの制御」
refs:I
AM■用語
・ENIs(Elastic Network Interfaces):VPC上で実現する仮想ネットワークインタフェースを複数持てる機能。インスタンスによって、割り当てられる数が異なる
・NACL(Network Access Control):個々のsubnetごとにアクセス制御が可能。Inbound,Outboundに対して設定が可能。
■本(実装ガイド)
・EBSのマウンド場所は、linuxなら/dev/sdfから/dev/sdp/
■EBSディスクの増設
・rootボリューム一つのとき
[root@ip-172-255-255-203 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 1.3G 6.6G 17% /
tmpfs 298M 0 298M 0% /dev/shm
[root@ip-172-255-255-203 ~]# fdisk -l
ディスク /dev/xvda1: 8589 MB, 8589934592 バイト
ヘッド 255, セクタ 63, シリンダ 1044
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
[root@ip-172-255-255-255 ~]# ls -l /dev/sd*
lrwxrwxrwx 1 root root 5 2月 8 04:57 2014 /dev/sda1 -> xvda1
[root@ip-172-255-255-255 ~]#
・consoleからEBSを新規作成する。このとき、Availability zoneはマウントするec2と同じ場所にする。snapshotはno snapshotoにしてみた。できたら、ec2に/dev/sdfにマウントする。再度sshで接続して確認
[root@ip-172-255-255-203 ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 1.3G 6.6G 17% /
tmpfs 298M 0 298M 0% /dev/shm
[root@ip-172-255-255-203 ~]# fdisk -l
ディスク /dev/xvda1: 8589 MB, 8589934592 バイト
ヘッド 255, セクタ 63, シリンダ 1044
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
ディスク /dev/xvdf: 5368 MB, 5368709120 バイト
ヘッド 255, セクタ 63, シリンダ 652
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00000000
[root@ip-172-255-255-203 ~]# ls -l /dev/sd*
lrwxrwxrwx 1 root root 5 2月 8 05:06 2014 /dev/sda1 -> xvda1
lrwxrwxrwx 1 root root 4 2月 8 05:06 2014 /dev/sdf -> xvdf
[root@ip-172-255-255-203 ~]#
fdisk,lsでは追加ディスクは見えるけど、dfではまた。マウントする必要がある。
まずはファイルシステムの作成。mkfsを実行すると、ディスクの内容は全て失われるから注意
# sudo mkfs -t ext4 /dev/sdf
mke2fs 1.42.3 (14-May-2012)
Filesystem label=
マウント
# sudo mkdir /ebs1
# sudo mount /dev/sdf /ebs1/
確認。おっけ
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/xvda1 7.9G 1.3G 6.6G 17% /
tmpfs 298M 0 298M 0% /dev/shm
/dev/xvdf 5.0G 138M 4.6G 3% /ebs1
■ディスク容量の増量
増量したいebsのスナップショットを作成する。スナップショットから増量したebsを作成。使用中のebsをデタッチ。増量したebsをアタッチ。ec2を起動。最後にsshで接続して増量した未フォーマット部分の容量を使えるようにresuze2fsでファイルシステムを再構築する必要がある。
$sudo resize2fs /dev/sda1
再構築できたかどうかは前後でdfコマンドを実行し確認できる。
■DNS,route53の設定
DNS変更後はすぐに更新が反映されない。一日待ってちょっと設定が間違っていたとか非効率な結果にならないために、正しく設定されたかどうかをnslookupで確認できる。
○お名前ドットコムのDNS,nslookup,dig
例えば、hoge.infoというドメインを取得していてwww.hoge.infoというサブドメインは設定済み。新規にhoge.hoge.infoサブドメインを追加したい。お名前どっとこむを使っている場合、Aレコードでaiueo.hoge.infoをIPで追加する。「転送用のネームサーバー(01.dnsv.jp / 02.dnsv.jp / 03.dnsv.jp / 04.dnsv.jp)に変更する」にチェックを入れて、設定を更新する。これで完了した訳だけど、aiueo.hoge.infoが本当にただしいかどうかは反映されるまではわからない。なのでnslookupで確認する。もしくはdig
$nslookup
> aiueo.hoge.info
Server: 192.168.13.1
Address: 192.168.13.1#53
** server can't find aiueo.hoge.info: NXDOMAIN
アクセス先のネームサーバを変更する。01.dnsv.jpはおなまえドットコムのネームサーバ。
> server 01.dnsv.jp
Default server: 01.dnsv.jp
Address: 157.7.32.53#53
もう一回
> aiueo.hoge.info
Server: 01.dnsv.jp
Address: 157.7.32.53#53
Name: aiueo.hoge.info
Address: ***.***.***.31
今度は成功してIPアドレスがかえってきた
○dig
nslookupはdnsからの応答を整形して表示するが、digはなるべくそのまま表示してくれる。なので、nslookupより詳細な情報を表示してくれるから解る事が多い。
$ dig aiueo.hoge.info
$ dig hoge.info #サブドメインなし
refs :
digコマンドとnslookupコマンドの違いとは? ○route53を使う。
上ではおなまえドットコムのDNSを使ったけど、route53のdnsも使用できる。route53でcreate Hosted Zoneを押し、Domain nameにhoge.infoを入力しcreateする。これでhoge.infoのドメインの行が一行でき、delegation setが4つ表示される。これがroute53のネームサーバ。これについてはまた後で。追加されたhoge.infoにチェックを入れ、Go to record setをおす。TypeがNSのレコードが4つ(さっきのdelegation set。name serverの略でしょう)、SOAがhoge.infoの行がある。create Record setを押し、Aレコードを追加してみる。サブドメインとIPアドレスを入力してcreateを押せばAレコードができる。これでroute53の設定を終了したけど、この段階ではルートDNSから辿れないから設定がインタネット側で見れない。なので、route53のDNSサーバ群をルートDNSサーバから辿れるように構成する。route53のサーバ群は前に話したdelegation setの4つ。これらをレジストラに申請すればルートDNSサーバから辿れるようになる。おなまえドットコムの場合、ネームサーバの変更画面で「他のネームサーバを利用」をチェックし、プライマリネームサーバとセカンダリネームサーバ、3、4に入力して適用する。これでおけ。すぐには反映されないので、しっかりとnslookupで確認しておく事。
ちなみにroute53のネームサーバを他のネームサーバを利用から登録すると、おなまえドットコムで設定しているDNSレコードの設定は書いていても全て無効になるので注意・・・
■s3とのでーたのやりとり
s3とは標準的なHTTPで通信。それに対してec2は通信プロトコルに制限はない。write proxyパターンは直接s3にアップロードする訳でなく、ec2を経由してs3に転送する。ec2からs3はhttpだけど高速な専用線で通信できる。
クライアントとec2間はftp,scp,httpなどがあるけど、udpを使うと高速かできる。そのためのテクノロジーはasperaやtsunami UPDなどがある。tsunami udpはunix系のソフト
■security groupのssh
ec2のsshのsecurity groupのsourceを0.0.0.0/0と全て開いておくのが心配な場合、今使用している自分のグローバルIPを調べて、グローバルIP/32(Custom TCP rule)にすればいい
■ec2起動時にinitializeで止まる。起動エラーが出る。
root ebsからsnapshotを作成、そのsnapshotからamiを作成、そのamiからlaunchでec2を作成。このec2作成後、start時にinitilize状態で停止し、sshで接続しようとしてもできない状況が発生した。ec2のgey system logを見ると、下のkernel panicが発生している・・・
XT3-fs: sda1: couldn't mount because of unsupported optional features (240).:
EXT2-fs: sda1: couldn't mount because of unsupported optional features (240).
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(8,1)
availabitiy zoneの指定などもあっているはず・・・調べてみたら、ebs volumeのsnapshotからami imageを作成する時にkernel IDをUse defaultではなく何か指定する必要があるらしい。
refs:
ebs snapshot copyしたものを使ってamiを作成、起動してみる■ec2のkeypair変更
aws console画面からkeypairを変更しようとしてもできなかったので(自分が知らないだけでもしかしたらできるかも)、ec2のkeypair変更方法について(自己責任でお願いします)。他のec2を変更したいkeypairで作成する。このec2インスタンスの$HOME/.ssh/authorized_keysファイルを元の同じファイルに上書きすればいい。ただ、今これを試してみてaws console画面で見ると、key pair nameは変更前のkey pairのまま…時間が経ってかわってくれるといいんだけど、変わらないなら一人で使うインスタンス以外はやらないほうがいい。