【手順】iOSのAPIサーバーに必要なIPv6をEC2に設定してみた(VPC)
はじめに
構築したサーバーをiOSのAPIサーバーとして使うとき、IPv6に対応することが必須になります。
IPv6に対応していないと、下記のようなエラーが出てしまいます。
We discovered one or more bugs in your app when reviewed on iPhone and iPad running iOS 10.2.1 on Wi-Fi connected to an IPv6 network.
Appleのアプリ申請が厳しくなったようですね。
IPv6にも対応していないと、申請ができなくなってしまったようです。
まずは、現状の確認(IPv6)
1.AWSコンソールにログイン
2.IPv6に対応しているかコンソール上で確認。
[サービス]→[インスタンス]→[対象サーバーにチェック]→[説明]タブ押下
空欄になっていますね!
設定後は、赤枠内にIPv6が表示されるはずです!
IPv6設定手順
1.AWSコンソールにログイン
2.VPCの編集/作成(今回は既存のVPCを編集します。)
[サービス]→[VPC]→[VPC]→[既存のVPCにチェック]→[アクション]→[Edit CIDRs]→[Add IPv6 CIDR]→[閉じる]
3.サブネットの編集
[サービス]→[VPC]→[サブネット]→[対象のサブネットにチェック]→[サブネットのアクション]→[Edit IPv6 CIDRs]→[Add IPv6 CIDR]→[チェックを入れる]→[閉じる]
4.IPv6をインスタンスに設定
[サービス]→[EC2]→[インスタンス]→[対象のサーバーにチェック]→[アクション]→[ネットワーキング]→[Manage IP Addresses]→[新しいIPの割り当て(IPv6 Addresses)]→[更新する]
5.コンソール上で確認
[サービス]→[インスタンス]→[対象サーバーにチェック]→[説明]タブ押下
IPv6付与できた!
※プライベートIPv6を付与するために、サーバーの再起動をしたほうがいいかもしれません。
サーバー内の設定!(上記設定のみだと、VPC内でしか疎通できません。下記は、お外への通信のための設定です。)
1.対象サーバーにログインして、rootにsu
2.まずは、設定前のIPを確認
コンソールでは、設定されたがサーバー内では設定されていない????
3.IPv6を有効にする
下記設定を行います。
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
EVICE="eth0"
BOOTPROTO="dhcp"
ONBOOT="yes"
TYPE="Ethernet"
USERCTL="yes"
PEERDNS="yes"
#IPV6INIT="no" ←★コメントアウト
IPV6INIT="yes" ←★追記!
PERSISTENT_DHCLIENT="1"
DHCPV6C=yes ←★追記!
4.設定の反映
networkの再起動で、IPv6有効設定を反映させます
# systemctl restart network
5.設定後のIPv6を確認!
IPv6の欄が増えました!
# ip a
後は、下記のツールを用いてお外から通信できるか確かめてください。
IPv6対応チェックツール!
こちらで、WebサイトがIPv6に対応しているか確認できます。
こちらは、IPv6アドレスに対して、Pingを飛ばすツールです。
余談
セキュリティグループで、しっかりとIPv6の許可をしましょう!
Author And Source
この問題について(【手順】iOSのAPIサーバーに必要なIPv6をEC2に設定してみた(VPC)), 我々は、より多くの情報をここで見つけました https://qiita.com/takahashi-kazuki/items/30887e3d9f396813e700著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .