そうだ!CNAMEで⾏行行こう!!
『CNAMEカメレオンパターン』
AWS勉強会  in  北北海道札幌!
Developers.IO  Meetup  05
classmethod.jp 1
2014/06/28 三井⽥田誠
⾃自⼰己紹介
ü  三井⽥田誠(みいだ  まこと)
ü  AWSコンサルティング部オペレーションチーム
ü  主に運⽤用保守・サポートデスクを担当してます
ü  前職は、某MSPでリモート運⽤用監視してました
ü  好きなAWSサービス(ツール):aws-‐‑‒cli
ü  Twitter:  @macotomii
classmethod.jp 2
突然ですが・・・
ü  EC2インスタンスに:
ü  ホスト名でつなぎますか?
ü  IPアドレスでつなぎますか?
ü  ホスト名を使う⽅方、DNSには:
ü  グローバルIPを登録しますか?
ü  ローカルIPを登録しますか?
ü  両⽅方登録しますか?  =>  管理理⼤大変ではありませんか?
classmethod.jp 3
EC2の2つのDNS名
ü  Public  DNS名
例例)ec2-‐‑‒XX-‐‑‒XX-‐‑‒XX-‐‑‒XX.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com
ü  Private  DNS名
例例)ip-‐‑‒YY-‐‑‒YY-‐‑‒YY-‐‑‒YY.ap-‐‑‒northeast-‐‑‒1.compute.internal
classmethod.jp 4
EC2の2つのDNS名
classmethod.jp 5
Elastic  IP  (EIP)  なし
Elastic  IP  (EIP)  あり
Public  DNSにpingしてみる
[ec2-‐‑‒user@ip-‐‑‒172-‐‑‒31-‐‑‒2-‐‑‒116  ~∼]$  ping  -‐‑‒nc  3  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com
PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (172.31.20.97)  56(84)  bytes  of  data.
64  bytes  from  172.31.20.97:  icmp_̲seq=1  ttl=64  time=4.53  ms
64  bytes  from  172.31.20.97:  icmp_̲seq=2  ttl=64  time=2.37  ms
64  bytes  from  172.31.20.97:  icmp_̲seq=3  ttl=64  time=2.38  ms
classmethod.jp 6
[ec2-‐‑‒user@ip-‐‑‒192-‐‑‒168-‐‑‒0-‐‑‒163  ~∼]$  ping  -‐‑‒nc  3  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com
PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (54.92.7.41)  56(84)  bytes  of  data.
64  bytes  from  54.92.7.41:  icmp_̲seq=1  ttl=63  time=3.42  ms
64  bytes  from  54.92.7.41:  icmp_̲seq=2  ttl=63  time=3.24  ms
64  bytes  from  54.92.7.41:  icmp_̲seq=3  ttl=63  time=16.5  ms
?
IPアドレスが違いますね
EC2が使うリゾルバは?
classmethod.jp 7
[ec2-user@ip-172-31-2-116 ~]$ cat /etc/resolv.conf!
; generated by /sbin/dhclient-script!
search ap-northeast-1.compute.internal!
nameserver 172.31.0.2
[ec2-user@ip-192-168-0-163 ~]$ cat /etc/resolv.conf!
; generated by /sbin/dhclient-script!
search ap-northeast-1.compute.internal!
nameserver 192.168.0.2
ü  VPC内のアドレスが⾃自動的に設定されます
つまり・・・
Public  DNS  =  パブリックIP
Private  DNS  =  プライベートIP  のはずですが、
Public  DNSは、環境によって正引き結果が異異ります。
公式ドキュメント(EC2ユーザガイド)
http://docs.aws.amazon.com/ja_̲jp/AWSEC2/latest/UserGuide/using-‐‑‒instance-‐‑‒addressing.html
『パブリック  IP  アドレスを持つインスタンスのそれぞれに、外部  DNS  ホスト名が付与されます。外部  DNS  ホスト
名を解決すると、インスタンスのパブリック  IP  アドレス(インスタンスのネットワークの外部の場合)およびインス
タンスのプライベート  IP  アドレス(インスタンスのネットワーク内からの場合)となります。』
classmethod.jp 8
環境 Public  DNS Private  DNS 備考
AWS外 パブリックIP 正引き不不可
AWS
(VPC)
同VPC プライベートIP プライベートIP
別VPC パブリックIP プライベートIP 名前解決できても別VPCにプ
ライベートIPでアクセスは出
来ません
AWS
(Classic)
AWS上 プライベートIP プライベートIP 別アカウント間でもローカル
通信扱いが出来ました
この仕組みを応⽤用してみよう
ü  外からも内部でも、同じホスト名で接続しよう!
ü  下記のようなRRをDNSサーバ追加してみます
ü  CNAMEを使うのがポイント
classmethod.jp 9
ホスト名にpingしてみる
ü  同じホスト名を使って、違うIPアドレスにpingできました
classmethod.jp 10
[ec2-‐‑‒user@ip-‐‑‒172-‐‑‒31-‐‑‒2-‐‑‒116  ~∼]$  ping  -‐‑‒nc  3  meetup_̲on_̲vpc1-‐‑‒2
PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (172.31.20.97)  56(84)  bytes  of  data.
64  bytes  from  172.31.20.97:  icmp_̲seq=1  ttl=64  time=2.32  ms
64  bytes  from  172.31.20.97:  icmp_̲seq=2  ttl=64  time=2.30  ms
64  bytes  from  172.31.20.97:  icmp_̲seq=3  ttl=64  time=2.39  ms
[ec2-‐‑‒user@ip-‐‑‒192-‐‑‒168-‐‑‒0-‐‑‒163  ~∼]$  ping  -‐‑‒nc  3  meetup_̲on_̲vpc1-‐‑‒2
PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (54.92.7.41)  56(84)  bytes  of  data.
64  bytes  from  54.92.7.41:  icmp_̲seq=1  ttl=63  time=3.04  ms
64  bytes  from  54.92.7.41:  icmp_̲seq=2  ttl=63  time=3.21  ms
64  bytes  from  54.92.7.41:  icmp_̲seq=3  ttl=63  time=3.02  ms
まとめ
•  ホスト名登録のもう1つのベストプラクティス
ホスト名 IN  A  54.238.x.x
ホスト名.local IN  A  10.200.10.10
ホスト名 IN  CNAME  ec2-‐‑‒xx-‐‑‒xx-‐‑‒xx-‐‑‒xx.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com
•  効果
–  設定は1つのRRだけ
–  ホスト名を使い分けなくて良良い!
–  セキュリティグループ周りのトラブル発⽣生の減少!
–  通信料料の最適化
–  DHCPオプションを適切切に設定すると、FQDNではなく、本当にホスト名だけでもOK
•  Cloud  Design  Pattern  (CDP)候補『CNAMEカメレオンパターン』!?  >_̲<;
(『CAMEカメ  レオン  パターン』ではありません・・・)
classmethod.jp 11
ご清聴ありがとうございました

More Related Content

PDF
S3・EBSの概要と勘所
PDF
Classmethod awsstudy ec2rds20160114
PDF
Aws その他の概要と勘所
PDF
01 にしうち awsを簡単にご紹介_001
PDF
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
PDF
02 citynet awsセミナー_活用事例(やってみた)
PDF
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)
PPTX
20130406 awsのいろんな使い道@jawsug名古屋
S3・EBSの概要と勘所
Classmethod awsstudy ec2rds20160114
Aws その他の概要と勘所
01 にしうち awsを簡単にご紹介_001
04 citynet awsセミナー_クラウドでビックデータのスモールスタート
02 citynet awsセミナー_活用事例(やってみた)
03 citynet awsセミナー_クラウドデザインパターン(中小企業、自治体)
20130406 awsのいろんな使い道@jawsug名古屋

What's hot (20)

PDF
JAWS-UG中央線東海支部ハンズオン
PDF
20130222 osc13tk osc.cms
PDF
第6回はじめてのAws jaws ug-iwata
PPTX
AWS で VDI / DaaS っぽいものを作ってみた
PDF
Open stack swift is too Enterprise? 2014/12/01 advent cal
PPTX
(2016/4)春のaws勉強会
PPT
インフラエンジニアデイ Sousousha20100520 01
ODP
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
PDF
第1回 一撃サーバー構築シェルスクリプト勉強会
PPTX
Cloudstack nested kvm検証環境
PPTX
AWS はじめの一歩
PDF
サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用
PDF
Fabric + Amazon EC2で快適サポート生活 #PyFes
PPT
アメーバピグにおける自作サーバ運用
PPTX
ネットワーク構成から考える AWS IaaS 管理
PPTX
Tuning maniax 2014 2nd stage linux編
PDF
20121026 AWSで行こうupdate版
PPT
なぜAWSを選ぶのか
PDF
私のEC2 2015振り返り
PDF
CDP(キャンペーンサイト編)
JAWS-UG中央線東海支部ハンズオン
20130222 osc13tk osc.cms
第6回はじめてのAws jaws ug-iwata
AWS で VDI / DaaS っぽいものを作ってみた
Open stack swift is too Enterprise? 2014/12/01 advent cal
(2016/4)春のaws勉強会
インフラエンジニアデイ Sousousha20100520 01
第4回 一撃サーバー構築シェルスクリプト勉強会(もくもく) 発表資料 - さくらのクラウド操作案内
第1回 一撃サーバー構築シェルスクリプト勉強会
Cloudstack nested kvm検証環境
AWS はじめの一歩
サーバレス構成の運用・監視と自社製Data○ogもどきの話 公開用
Fabric + Amazon EC2で快適サポート生活 #PyFes
アメーバピグにおける自作サーバ運用
ネットワーク構成から考える AWS IaaS 管理
Tuning maniax 2014 2nd stage linux編
20121026 AWSで行こうupdate版
なぜAWSを選ぶのか
私のEC2 2015振り返り
CDP(キャンペーンサイト編)
Ad

Viewers also liked (8)

PDF
Cloud Programing for beginner
PPTX
帰ってきました
PDF
Amazon Kinesis developersio-meetup-05
PDF
20140628-developers-io-meetup-sapporo
PPTX
20140627_packer
PPTX
Web Speech APIとWeb MIDI APIでいっこく堂をしてみる
PDF
Run Spark on EMRってどんな仕組みになってるの?
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
Cloud Programing for beginner
帰ってきました
Amazon Kinesis developersio-meetup-05
20140628-developers-io-meetup-sapporo
20140627_packer
Web Speech APIとWeb MIDI APIでいっこく堂をしてみる
Run Spark on EMRってどんな仕組みになってるの?
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
Ad

Similar to CNAMEカメレオンパターン - Developers.IO Meetup 05 (20)

PDF
コスト削減から考えるAWSの効果的な利用方法
PDF
AWS運用自動化への第一歩 
PDF
フルマネージドのポイントシステム
PDF
スタートアップでのAWS(Amazon Web Services)活用事例
PDF
AWSサポートを利⽤して考えたコト
PDF
クラウド時代の人材育成
PDF
Eight meets AWS
PPTX
20121221 AWS re:Invent 凱旋報告
PDF
Serverless Meetup Tokyo #2 オープニング
PDF
ゲームのインフラをAwsで実戦tips全て見せます
PPTX
20140905 AWS Night in ITHD LT2
PDF
VUXデザイナー
PPTX
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
PDF
セキュリティの基本とWordPress
PDF
JAWS DAYS 2017 Mafia Talk
PDF
初心者向けWebinar スケーラブルWebアプリケーションの構築
PDF
jaws aws-nuke
PPTX
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
ODP
別の角度からAWSを眺めてみた話
PDF
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~
コスト削減から考えるAWSの効果的な利用方法
AWS運用自動化への第一歩 
フルマネージドのポイントシステム
スタートアップでのAWS(Amazon Web Services)活用事例
AWSサポートを利⽤して考えたコト
クラウド時代の人材育成
Eight meets AWS
20121221 AWS re:Invent 凱旋報告
Serverless Meetup Tokyo #2 オープニング
ゲームのインフラをAwsで実戦tips全て見せます
20140905 AWS Night in ITHD LT2
VUXデザイナー
Windowsシステムの AWS移行とMulti-AZ化 - JAWS DAYS 2015
セキュリティの基本とWordPress
JAWS DAYS 2017 Mafia Talk
初心者向けWebinar スケーラブルWebアプリケーションの構築
jaws aws-nuke
JAWS-UG三都物語_企業でのAWS導入のエントリーポイント
別の角度からAWSを眺めてみた話
【改訂版】Amazon Web Service 基本の「き」 ~Amazon EC2でWebサーバを公開してみよう!~

CNAMEカメレオンパターン - Developers.IO Meetup 05

  • 2. ⾃自⼰己紹介 ü  三井⽥田誠(みいだ  まこと) ü  AWSコンサルティング部オペレーションチーム ü  主に運⽤用保守・サポートデスクを担当してます ü  前職は、某MSPでリモート運⽤用監視してました ü  好きなAWSサービス(ツール):aws-‐‑‒cli ü  Twitter:  @macotomii classmethod.jp 2
  • 3. 突然ですが・・・ ü  EC2インスタンスに: ü  ホスト名でつなぎますか? ü  IPアドレスでつなぎますか? ü  ホスト名を使う⽅方、DNSには: ü  グローバルIPを登録しますか? ü  ローカルIPを登録しますか? ü  両⽅方登録しますか?  =>  管理理⼤大変ではありませんか? classmethod.jp 3
  • 4. EC2の2つのDNS名 ü  Public  DNS名 例例)ec2-‐‑‒XX-‐‑‒XX-‐‑‒XX-‐‑‒XX.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com ü  Private  DNS名 例例)ip-‐‑‒YY-‐‑‒YY-‐‑‒YY-‐‑‒YY.ap-‐‑‒northeast-‐‑‒1.compute.internal classmethod.jp 4
  • 5. EC2の2つのDNS名 classmethod.jp 5 Elastic  IP  (EIP)  なし Elastic  IP  (EIP)  あり
  • 6. Public  DNSにpingしてみる [ec2-‐‑‒user@ip-‐‑‒172-‐‑‒31-‐‑‒2-‐‑‒116  ~∼]$  ping  -‐‑‒nc  3  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (172.31.20.97)  56(84)  bytes  of  data. 64  bytes  from  172.31.20.97:  icmp_̲seq=1  ttl=64  time=4.53  ms 64  bytes  from  172.31.20.97:  icmp_̲seq=2  ttl=64  time=2.37  ms 64  bytes  from  172.31.20.97:  icmp_̲seq=3  ttl=64  time=2.38  ms classmethod.jp 6 [ec2-‐‑‒user@ip-‐‑‒192-‐‑‒168-‐‑‒0-‐‑‒163  ~∼]$  ping  -‐‑‒nc  3  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (54.92.7.41)  56(84)  bytes  of  data. 64  bytes  from  54.92.7.41:  icmp_̲seq=1  ttl=63  time=3.42  ms 64  bytes  from  54.92.7.41:  icmp_̲seq=2  ttl=63  time=3.24  ms 64  bytes  from  54.92.7.41:  icmp_̲seq=3  ttl=63  time=16.5  ms ? IPアドレスが違いますね
  • 7. EC2が使うリゾルバは? classmethod.jp 7 [ec2-user@ip-172-31-2-116 ~]$ cat /etc/resolv.conf! ; generated by /sbin/dhclient-script! search ap-northeast-1.compute.internal! nameserver 172.31.0.2 [ec2-user@ip-192-168-0-163 ~]$ cat /etc/resolv.conf! ; generated by /sbin/dhclient-script! search ap-northeast-1.compute.internal! nameserver 192.168.0.2 ü  VPC内のアドレスが⾃自動的に設定されます
  • 8. つまり・・・ Public  DNS  =  パブリックIP Private  DNS  =  プライベートIP  のはずですが、 Public  DNSは、環境によって正引き結果が異異ります。 公式ドキュメント(EC2ユーザガイド) http://docs.aws.amazon.com/ja_̲jp/AWSEC2/latest/UserGuide/using-‐‑‒instance-‐‑‒addressing.html 『パブリック  IP  アドレスを持つインスタンスのそれぞれに、外部  DNS  ホスト名が付与されます。外部  DNS  ホスト 名を解決すると、インスタンスのパブリック  IP  アドレス(インスタンスのネットワークの外部の場合)およびインス タンスのプライベート  IP  アドレス(インスタンスのネットワーク内からの場合)となります。』 classmethod.jp 8 環境 Public  DNS Private  DNS 備考 AWS外 パブリックIP 正引き不不可 AWS (VPC) 同VPC プライベートIP プライベートIP 別VPC パブリックIP プライベートIP 名前解決できても別VPCにプ ライベートIPでアクセスは出 来ません AWS (Classic) AWS上 プライベートIP プライベートIP 別アカウント間でもローカル 通信扱いが出来ました
  • 10. ホスト名にpingしてみる ü  同じホスト名を使って、違うIPアドレスにpingできました classmethod.jp 10 [ec2-‐‑‒user@ip-‐‑‒172-‐‑‒31-‐‑‒2-‐‑‒116  ~∼]$  ping  -‐‑‒nc  3  meetup_̲on_̲vpc1-‐‑‒2 PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (172.31.20.97)  56(84)  bytes  of  data. 64  bytes  from  172.31.20.97:  icmp_̲seq=1  ttl=64  time=2.32  ms 64  bytes  from  172.31.20.97:  icmp_̲seq=2  ttl=64  time=2.30  ms 64  bytes  from  172.31.20.97:  icmp_̲seq=3  ttl=64  time=2.39  ms [ec2-‐‑‒user@ip-‐‑‒192-‐‑‒168-‐‑‒0-‐‑‒163  ~∼]$  ping  -‐‑‒nc  3  meetup_̲on_̲vpc1-‐‑‒2 PING  ec2-‐‑‒54-‐‑‒92-‐‑‒7-‐‑‒41.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com  (54.92.7.41)  56(84)  bytes  of  data. 64  bytes  from  54.92.7.41:  icmp_̲seq=1  ttl=63  time=3.04  ms 64  bytes  from  54.92.7.41:  icmp_̲seq=2  ttl=63  time=3.21  ms 64  bytes  from  54.92.7.41:  icmp_̲seq=3  ttl=63  time=3.02  ms
  • 11. まとめ •  ホスト名登録のもう1つのベストプラクティス ホスト名 IN  A  54.238.x.x ホスト名.local IN  A  10.200.10.10 ホスト名 IN  CNAME  ec2-‐‑‒xx-‐‑‒xx-‐‑‒xx-‐‑‒xx.ap-‐‑‒northeast-‐‑‒1.compute.amazonaws.com •  効果 –  設定は1つのRRだけ –  ホスト名を使い分けなくて良良い! –  セキュリティグループ周りのトラブル発⽣生の減少! –  通信料料の最適化 –  DHCPオプションを適切切に設定すると、FQDNではなく、本当にホスト名だけでもOK •  Cloud  Design  Pattern  (CDP)候補『CNAMEカメレオンパターン』!?  >_̲<; (『CAMEカメ  レオン  パターン』ではありません・・・) classmethod.jp 11