ぼぶろぐ -18ページ目

ぼぶろぐ

以前は、あいらぶLinux♪というタイトルでしたが、
最近はLinux以外のことも書いているので、タイトルを変更しました。
ぼぶちゃんのぶろぐでぼぶろぐです。

今日は、CM re:Growth 2016 SAPPOROに参加してきました!

先日、ラスベガスで行われた re:Invent で発表された内容の説明だったので、行けなかった私にとってはとてもありがたいイベントでした。

 

CM re:Growth 2016 SAPPORO【re:Invent 復習SP】 #cmdevio

https://classmethod.connpass.com/event/43332/

 

以下、メモです。

 

1     re:Invent     20分でわかる re:Invent で発表された最新 AWS サービスの全て!
クラスメソッド(株) AWSコンサルティング部 佐々木 大輔
 
re:Invent 学習型カンファレンス 学習できる展示や資格の試験が受験できたりする
キーノートは2回あって、Day1はビジネス寄り、Day2はテクニカル寄りの発表が多い
 
Day1
 
EC2インスタンスの拡充
 T2により大きなインスタンスが用意された
 R4 大容量メモリを搭載したインスタンス
 I3 ハイI/Oを提供
 C5 SkylakeコアのXeonを搭載したインスタンス
 F1 FPGAを利用可能なインスタンス
 EC2 Elastic GPUs どのインスタンスにも取り付け可能なGPUs
 
Amazon Lightsail
 仮想サーバ データ転送料金が含まれた定額? これも従量課金だったような…
 
Amazon Athena
 S3においたファイルに対して、SQLでクエリを実行できる
 バージニア、オレゴンで利用できる
 CSV/TSV/JSON/Apache logをサポート
 
Amazon Rekognition
 画像認識のマネージドサービス
 画像のオブジェクトを認識する(人、シチュエーションなど)
 2次元でも認識可能
 
Amazon Polly
 テキストを読み上げるサービス
 読み上げたり、mp3ファイルで出力できる
 
Amazon Lex
 音声かテキストメッセージに応答するチャットボット開発を容易にするサービス
 人がしゃべったことに対して、コマンドを発行したりすることができる
 Amazon Alexaと同等
 
Amazon Aurora
 PostgreSQL互換のAurora
 
Amazon Greengrass
 IoTデバイスとゲートウェイデバイス、AWS上のリソースの連携を容易にできる
 ゲートウェイでlambdaファンクションが実行できる
 
AWS Snowball Edge
 100TBの容量 クラスタリングをサポート
 Greengrassを実装している
 
AWS Snowmobile
 トレーラーでハードディスクと電源と消火設備
 エキサバイトのデータ移行アプライアンス
 Snowballでも運べない容量を運ぶことができる
 
Day2
 
EC2 Systems Manager
 EC2とオンプレミス環境を容易に管理する
 コマンド発行やWindowsUpdateもできる
 
AWS Code Build
 ビルドとテストが実行可能なマネージドサービス
 
AWS X-Ray
 EC2インスタンスやその他の基板上で実行されるコードからトレースデータを補足できる
 どこがボトルネックになっているかを確認することができる
 
Personal Health Dashboard
 メンテナンスイベントを集約するダッシュボード機能を提供
 通知後の自動アクションを、CloudWatch EventやLambdaと連携可能
 
AWS Shield
 マネージドDDoSプロテクションサービス
 Standardは追加費用なしで、利用可能
 Advancedは追加費用あり DDoSレスポンスチームに24/365アクセス可能 月3000ドル
 
AWS Pinpoint
 ターゲットプッシュ通知サービス
 ユーザの行動分析をして、グルーピング(セグメンテーション)をして、プッシュ通知をすることができる
 
AWS Glue
 データカタログの作成とデータの加工・ロードが実現が可能なマネージドサービス
 Quicksightと合わせるとフルマネージドでデータ分析ができるようになる
 
AWS Batch
 フルマネージドバッチ処理分析サービス
 
AWS Step Function
 ワークフローが複雑で、条件文気が発生するような処理を容易にデザインおよびステップ管理できるサービス
 
Lambda@Edge
 Lambdaベースの処理をCloudFrontのエッジロケーションで実行し、リアルタイムにヘッダー、URLなどの編集が可能なサービス
 
 
2     re:Invent     re:Inventで発表された新サービス・新機能(1)
クラスメソッド(株) データインテグレーション部 石川 覚
 
ビックデータ観点
 
新サービスのピックアップ
 Amazon Glue
  ETLサービス データを取り込んで、変換して、データを処理しやすい形に変換する
  
  Data Catalog
  Job Authoring データ連携のロジックを自動生成、コード生成
  Job Execution データドリブン、スケジュールベースにスケーラブル
 
 Amazon Athena
  標準SQLを用いて、S3上のデータにSQLをなげられる
  すぐ使える、直接クエリできる、サーバレス、数秒で結果が得られる(並列処理して高速処理)
  データソース 分散SQLエンジンPrestoでクエリ実行、様々なデータフォーマットに対応、圧縮フォーマットもサポート、結果はS3に保管される
  S3のストリームデータにも対応、Athena未対応リージョンのS3に対しても実行可能(データの転送費用がかかる)、従量課金
  パーティショニング 階層に分けることができる
  利用費 実行したクエリにのみ、各クエリでスキャンされたデータ量、失敗したクエリは対象外
  利用費削減 データ圧縮、カラムなフォーマット、パーティショニング
  利用用途 データレイクのデータ分析向け、一時テーブルや中間テーブル
  いますぐ利用できる
 
 まとめ
  データレイク Athena
  データウェアハウス Redshift
  高度な分析 EMR
  これらをつなげるもの Glue
 
 
4     re:Invent     re:Inventで発表された新サービス・新機能(3)
クラスメソッド(株) AWSコンサルティング部 渡辺 修司
 
SSM(Simple Systems Manager)
 特定のコマンドを実行、サーバ情報の収集、定期アップデート、メンテやデプロイの自動化、SSMエージェント必須、Windowsサーバ対応
 自動化したいタスクの実行管理
  システム情報の収集、OSのパッチ適用、ソフトウェアアップデート、AMIの作成、OS設定の更新
 SSM対応サーバ Amazon Linux Rdhat Ubuntu Windows server オンプレミスサーバ ※SSMエージェントをインストールする必要がある
 SSM管理インスタンスに必要なこと エージェントのインストール、適切なポリシー
 
 サーバの情報を収集 OSの情報、インストール済みアプリケーション、メタ情報
  Custum Inventory システム固有の情報 S3にアウトプットすることもできる
 Run Command サーバ上でコマンドを実行する 管理用コマンドの実行、パッチ適用、アプリケーションのインストール
  マネコン、CLIで実行する、複数サーバに実行可能、即時実行
  SNSフック、実行結果はコンソールから確認できる(S3にもアウトプットできる)
  コマンドの並列実行
 Statement サーバの状態を一定に保つ
  定義された状態にする ほとんどRunCommandと一緒
 Association DocumentとScheduleを関連付ける どのサーバでどのタスクをいつ実行するかの定義
 スケジュール
 
 サーバにログインしないで、マネコンからコマンド実行できたりするのはいいかも
 
 
3     re:Invent     re:Inventで発表された新サービス・新機能(2)
クラスメソッド(株) AWSコンサルティング部 平田 圭
 
Amazon AI
 Amazon Lex、Amazon Rekognition、Amazon Polly
 
Amazon Polly
 自然な発話によるText to speech
 より人間に近い識別、人間とのインタラクション
 
 TTS(Text to speach)
 より自然な発話を実現
 PLS、SSMLによる拡張 コードを書くことで抑揚をつけることができる 発話記号を使う 発話の指定(SSML)
 高速な応答 例:電話の自動応答に利用
 作成済みの音声は再利用可能
 47の声、24の言語(日本語を含む)
 
 料金 $4/1 million char 無料枠がある
 
 
5     re:Invent     re:Inventで発表された新サービス・新機能(4)
クラスメソッド(株) AWSコンサルティング部 清野 剛史
 
Amazon AI
 
機械学習 人間が定期を決める
深層学習 機械が定義を見つける
 
Amazon Rekognition
 オブジェクトの認識機能
 顔認識機能
 個人比較
 顔認証機能 もうすでにあるデータの中に同じものがあるかどうか
 
 S3にアップして画像を上げて、APIで指定する
 
Amazon Lex
 Alexaの設計が元になっている
 定義した内容を返すことができる

前回からの続きで、今回はIPv6のDNSまわりの設定がどのくらいできるかを確認してみました。

 

デフォルトの設定だと、AmazonLinuxのDNSサーバの設定はIPv4しか設定されていませんでした。

$ cat /etc/resolv.conf
options timeout:2 attempts:5
; generated by /sbin/dhclient-script
search us-east-2.compute.internal
nameserver 10.0.0.2

 

ただ、この状態でもIPv6の名前解決はできます。

DNSサーバ自体に設定されているIPアドレスがIPv4でも、DNSの設定にはAAAAレコードを登録することができるので、IPv6の名前解決ができます。

 

$ dig google.com aaaa

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.51.amzn1 <<>> google.com aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2895
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.                    IN      AAAA

;; ANSWER SECTION:
google.com.             6       IN      AAAA    2a00:1450:400b:c00::71

;; Query time: 1 msec
;; SERVER: 10.0.0.2#53(10.0.0.2)
;; WHEN: Mon Dec 12 01:50:56 2016
;; MSG SIZE  rcvd: 56

 

せっかくIPv6アドレスが使えるようになったので、DNSサーバもIPv6にしてみます。

まず試しにDHCPオプションセットで指定できるかをやってみましたが、IPv6アドレスの指定ができませんでした。

 

 

 

なので、手動で変更しました。

まずは、インターフェースの設定を変更します。

 

$ sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
TYPE=Ethernet
USERCTL=yes
PEERDNS=no ←PEERDNSの設定を no に変更する
DHCPV6C=yes
DHCPV6C_OPTIONS=-nw
PERSISTENT_DHCLIENT=yes
RES_OPTIONS="timeout:2 attempts:5"
DHCP_ARP_CHECK=no

 

PEERDNSの設定をnoにしないと、/etc/resolv.confの設定を変更しても、DHCPに問い合わせた時に取得するDNSサーバ情報を/etc/resolv.confに上書きしてしまいます。

 

その後、/etc/resolv.confを変更して、ネットワークの再起動をします。

 

$ vi /etc/resolv.conf

"/etc/resolv.conf" 4L, 120Coptions timeout:2 attempts:5
; generated by /sbin/dhclient-script
search us-east-2.compute.internal
nameserver 2001:4860:4860::8888 ←IPv6のDNSサーバを指定する

$ sudo network restartservice
Shutting down interface eth0:  [  OK  ]
Shutting down loopback interface:  [  OK  ]
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  
Determining IP information for eth0... done.

Determining IPv6 information for eth0... done.
[  OK  ]

 

もう一度、名前解決をしてみます。

 

$ dig google.com aaaa

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.51.amzn1 <<>> google.com aaaa
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52126
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;google.com.            IN    AAAA

;; ANSWER SECTION:
google.com.        299    IN    AAAA    2607:f8b0:400a:807::200e

;; Query time: 21 msec
;; SERVER: 2001:4860:4860::8888#53(2001:4860:4860::8888)
;; WHEN: Mon Dec 12 01:52:17 2016
;; MSG SIZE  rcvd: 56

 

今度は、DNSサーバへの問い合わせもIPv6で行うようになっています。

AWSでVPCがIPv6をサポートしました。

まずはオハイオリージョンのみで、これから他のリージョンでも使えるようになるようです。

 

New – IPv6 Support for EC2 Instances in Virtual Private Clouds
https://aws.amazon.com/blogs/aws/new-ipv6-support-for-ec2-instances-in-virtual-private-clouds/

 

まずはどんな感じか見てみたかったので、VPCを作ってみました。

 

リージョンをオハイオに変更して、VPCを作成します。

IPv6 CIDR block Amazon provided IPv6 CIDR block を選択して、作成をクリックします。

 

IPv6がアサインされたVPCが作成されます。

 

サブネットを作成します。

・VPCは先ほど作成したVPCを選択します。

IPv6 CIDR blockSpecify a custom IPv6 CIDRを選択します。

・必要に応じてアサインするIPv6アドレスを変更できます(以下の例では、2600:1f16:05b2:e9xx::/64で、このxxを変更することができます)。

・作成をクリックします。

 

IPv6がアサインされたサブネットができました。

 

インターネットゲートウェイを作成します。

 

作成したインターネットゲートウェイを先ほど作成したVPCにアタッチします。

 

ルートテーブルを追加します。

・IPv4とIPv6のデフォルトルートを追加します。

 

Amazon LinuxのEC2インスタンスを作成します。

IPv4だけのときとは違うところだけ書いておきます。

 

インスタンスの詳細の設定で、Auto-assign IPv6 IPという項目があります。

今回は、自動アサインにしてみました。

 

セキュリティグループの設定で、IPv4とIPv6の両方が設定できます。

 

インスタンスを作成するとこんな感じになりました。

IPv6アドレスが2つアサインされていました。

 

ログインしてコマンドを実行してみました。

・ifconfig

[ec2-user@ip-10-0-0-11 etc]$ sudo ifconfig -a
eth0      Link encap:Ethernet  HWaddr 0A:0D:E7:72:26:6F
          inet addr:10.0.0.11  Bcast:10.0.0.31  Mask:255.255.255.224
          inet6 addr: fe80::80d:e7ff:fe72:266f/64 Scope:Link
          inet6 addr: 2600:1f16:5b2:e900:bc5a:dea9:a52a:67bd/64 Scope:Global
          inet6 addr: 2600:1f16:5b2:e900:ac1b:a0b4:5fef:c3e5/64 Scope:Global

          UP BROADCAST RUNNING MULTICAST  MTU:9001  Metric:1
          RX packets:32316 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14057 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:41733431 (39.8 MiB)  TX bytes:866772 (846.4 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:2 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:140 (140.0 b)  TX bytes:140 (140.0 b)

・ping6 (2001:4860:4860::8844はGoogle Public DNSです)

[ec2-user@ip-10-0-0-11 ~]$ ping6 2001:4860:4860::8844
PING 2001:4860:4860::8844(2001:4860:4860::8844) 56 data bytes
64 bytes from 2001:4860:4860::8844: icmp_seq=1 ttl=46 time=19.5 ms
64 bytes from 2001:4860:4860::8844: icmp_seq=2 ttl=46 time=19.4 ms
64 bytes from 2001:4860:4860::8844: icmp_seq=3 ttl=46 time=19.3 ms
64 bytes from 2001:4860:4860::8844: icmp_seq=4 ttl=46 time=19.3 ms
64 bytes from 2001:4860:4860::8844: icmp_seq=5 ttl=46 time=19.3 ms
64 bytes from 2001:4860:4860::8844: icmp_seq=6 ttl=46 time=19.3 ms
64 bytes from 2001:4860:4860::8844: icmp_seq=7 ttl=46 time=19.3 ms
64 bytes from 2001:4860:4860::8844: icmp_seq=8 ttl=46 time=19.4 ms
^C
--- 2001:4860:4860::8844 ping statistics ---
8 packets transmitted, 8 received, 0% packet loss, time 7010ms
rtt min/avg/max/mdev = 19.348/19.417/19.576/0.154 ms

・traceroute6

[ec2-user@ip-10-0-0-11 ~]$ traceroute6 2001:4860:4860::8844
traceroute to 2001:4860:4860::8844 (2001:4860:4860::8844), 30 hops max, 80 byte packets
 1  2620:107:4000:4702:8000:0:6440:1280 (2620:107:4000:4702:8000:0:6440:1280)  10.294 ms  10.285 ms 2620:107:4000:4702:8000:0:6440:1300 (2620:107:4000:4702:8000:0:6440:1300)  1.824 ms
 2  2620:107:4000:4702::6440:c47a (2620:107:4000:4702::6440:c47a)  7.953 ms 2620:107:4000:4702::6440:c47e (2620:107:4000:4702::6440:c47e)  0.548 ms 2620:107:4000:4702::6440:c468 (2620:107:4000:4702::6440:c468)  9.256 ms
 3  2620:107:4000:4702::6440:c461 (2620:107:4000:4702::6440:c461)  18.660 ms 2620:107:4000:4702::6440:c471 (2620:107:4000:4702::6440:c471)  7.601 ms 2620:107:4000:4702::6440:c470 (2620:107:4000:4702::6440:c470)  8.204 ms
 4  2620:107:4000:4702:8000:0:6440:1121 (2620:107:4000:4702:8000:0:6440:1121)  0.500 ms 2620:107:4000:4702:8000:0:6440:1003 (2620:107:4000:4702:8000:0:6440:1003)  0.496 ms 2620:107:4000:4702:8000:0:6440:10e5 (2620:107:4000:4702:8000:0:6440:10e5)  0.478 ms
 5  2620:107:4000:9::15 (2620:107:4000:9::15)  10.692 ms  10.739 ms  10.638 ms
 6  2620:107:4000:9::21 (2620:107:4000:9::21)  10.951 ms  10.449 ms 2620:107:4000:9::1f (2620:107:4000:9::1f)  12.310 ms
 7  2620:107:4000:9::18 (2620:107:4000:9::18)  10.326 ms 2620:107:4000:9::19 (2620:107:4000:9::19)  10.103 ms 2620:107:4000:9::18 (2620:107:4000:9::18)  10.333 ms
 8  2620:107:4000:ff::62 (2620:107:4000:ff::62)  9.530 ms  9.307 ms 2620:107:4000:ff::63 (2620:107:4000:ff::63)  10.420 ms
 9  2620:107:4000:ff::58 (2620:107:4000:ff::58)  9.797 ms 2620:107:4000:ff::59 (2620:107:4000:ff::59)  10.784 ms  10.741 ms
10  * * *
11  2001:559:0:a::12 (2001:559:0:a::12)  10.349 ms  9.712 ms  9.596 ms
12  2620:107:4008:36::2 (2620:107:4008:36::2)  9.555 ms  9.560 ms  9.566 ms
13  2001:4860::1:0:aa79 (2001:4860::1:0:aa79)  10.287 ms 2001:4860::1:0:cb45 (2001:4860::1:0:cb45)  9.561 ms 2001:4860::1:0:aa79 (2001:4860::1:0:aa79)  10.273 ms
14  2001:4860::c:4000:d5ff (2001:4860::c:4000:d5ff)  19.443 ms 2001:4860::c:4000:d64b (2001:4860::c:4000:d64b)  20.409 ms 2001:4860::c:4000:d2a0 (2001:4860::c:4000:d2a0)  9.988 ms
15  2001:4860::8:4000:cbc2 (2001:4860::8:4000:cbc2)  19.593 ms 2001:4860::8:0:b0e2 (2001:4860::8:0:b0e2)  20.050 ms  19.491 ms
16  2001:4860::2:0:7340 (2001:4860::2:0:7340)  19.493 ms 2001:4860::2:0:733f (2001:4860::2:0:733f)  22.004 ms  20.365 ms
17  google-public-dns-b.google.com (2001:4860:4860::8844)  19.217 ms  19.268 ms  19.342 ms

IPv6通信ができることを確認しました。

もう少し、動作について確認していきます。