AWS Direct Connect 実装・設定ガイド - 接続確立から運用開始まで

AWS Direct Connectの実装は、計画段階から運用開始まで複数のフェーズに分かれています。本記事では、具体的な実装手順と設定方法を、実際の作業フローに沿って詳しく解説します。

実装プロジェクトの全体フロー

プロジェクトフェーズ

AWS Direct Connect実装プロジェクトは、以下の5つの主要フェーズで構成されます。

  1. 要件定義・設計フェーズ (2-4週間)
  2. 接続申込・承認フェーズ (2-8週間)
  3. 物理接続・構築フェーズ (1-2週間)
  4. 設定・テストフェーズ (1-2週間)
  5. 運用開始・最適化フェーズ (継続)

実装チームの役割

ネットワークエンジニア

  • アーキテクチャ設計
  • BGP設定
  • ルーティング設計

AWSエンジニア

  • AWSリソース設定
  • VPC設定
  • セキュリティ設定

プロジェクトマネージャー

  • スケジュール管理
  • ステークホルダー調整
  • リスク管理

事前準備と要件定義

ネットワーク要件の明確化

実装開始前に、以下の要件を詳細に定義します。

帯域幅要件 現在および将来のトラフィック予測に基づいて、適切な接続速度を決定します。

yaml
帯域幅分析例:
  現在の使用量:
    平均: 800Mbps
    ピーク: 1.2Gbps
    成長率: 年20%
  
  推奨接続速度:
    プライマリ: 10Gbps
    セカンダリ: 10Gbps
    理由: 将来の成長とバースト対応

接続先リソース 接続するAWSリソースとその所在を明確にします。

  • VPC: リージョンとCIDRブロック
  • AWSサービス: S3、DynamoDB等のパブリックサービス
  • 優先度: ビジネス重要度に基づく優先順位

IPアドレス設計

BGP用アドレス設計 Direct Connect接続用のIPアドレス範囲を設計します。

yaml
IP設計例:
  プライベートVIF:
    顧客側: 192.168.100.1/30
    AWS側: 192.168.100.2/30
    VLAN: 100
  
  パブリックVIF:
    顧客側: 203.0.113.1/30
    AWS側: 203.0.113.2/30
    VLAN: 200
  
  BGP設定:
    顧客ASN: 65001
    AWS ASN: 64512

専用接続の申込みプロセス

AWS Management Consoleでの申込み

接続作成手順

  1. AWS Management ConsoleでDirect Connectサービスにアクセス
  2. 「Create Connection」を選択
  3. 接続詳細を入力
yaml
接続設定例:
  Name: Company-Primary-DX
  Location: Tokyo Direct Connect Location
  Port Speed: 10Gbps
  VLAN: Customer provided

Letter of Authorization(LOA-CFA)の取得 AWSが発行する認証書類で、データセンター事業者での物理接続に必要です。

データセンター事業者との調整

クロスコネクト申込み LOA-CFAを使用して、データセンター事業者にクロスコネクト作業を依頼します。

機器配置 Direct Connectロケーションに顧客機器を配置する場合は、ラック、電源、冷却の手配が必要です。

物理接続の確立

機器設置と配線

必要機器

  • ルーター: BGP対応、適切なインターフェース
  • 光トランシーバー: 接続速度に対応
  • パッチケーブル: 適切な長さとコネクタ

配線確認 物理的な接続が完了したら、以下を確認します。

  • 光信号レベル
  • リンク状態
  • インターフェース統計情報

接続状態の確認

AWS側での確認 AWS Management Consoleで接続状態を確認します。

bash
# CLI での確認例
aws directconnect describe-connections --connection-id dxcon-xxxxxxxx

# 期待される状態
{
    "connections": [
        {
            "connectionState": "available",
            "bandwidth": "10Gbps",
            "location": "Tokyo"
        }
    ]
}

仮想インターフェース(VIF)の設定

プライベートVIFの作成

作成手順

  1. AWS Management ConsoleでVIF作成を開始
  2. VIFタイプで「Private」を選択
  3. 必要なパラメータを入力
yaml
プライベートVIF設定例:
  Name: Company-Private-VIF
  VLAN: 100
  BGP ASN: 65001
  Customer IP: 192.168.100.1/30
  Amazon IP: 192.168.100.2/30
  BGP Auth Key: 自動生成または手動設定
  Target VPC: vpc-xxxxxxxx

パブリックVIFの設定

パブリックVIFは、AWSパブリックサービスへのアクセスに使用します。

yaml
パブリックVIF設定例:
  Name: Company-Public-VIF
  VLAN: 200
  BGP ASN: 65001
  Customer IP: 203.0.113.1/30
  Amazon IP: 203.0.113.2/30
  Prefixes to advertise: 203.0.113.0/24

BGP設定の実装

顧客ルーター設定例(Cisco IOS)

bash
# インターフェース設定
interface GigabitEthernet0/0/0.100
 encapsulation dot1Q 100
 ip address 192.168.100.1 255.255.255.252
 no shutdown

# BGP設定
router bgp 65001
 bgp router-id 192.168.100.1
 neighbor 192.168.100.2 remote-as 64512
 neighbor 192.168.100.2 password BGP_AUTH_KEY
 
 address-family ipv4
  neighbor 192.168.100.2 activate
  network 10.0.0.0 mask 255.0.0.0
  neighbor 192.168.100.2 prefix-list AWS-IN in
  neighbor 192.168.100.2 prefix-list CUSTOMER-OUT out
 exit-address-family

# プレフィックスリスト
ip prefix-list AWS-IN permit 172.16.0.0/16
ip prefix-list CUSTOMER-OUT permit 10.0.0.0/8

テストと検証

接続性テスト

基本接続確認

bash
# BGPセッション状態確認
show ip bgp summary

# ルーティングテーブル確認
show ip route bgp

# インターフェース統計確認
show interface gigabitethernet0/0/0.100

エンドツーエンドテスト

bash
# VPC内リソースへの疎通確認
ping 172.16.1.10

# パブリックサービスへの疎通確認
ping s3.ap-northeast-1.amazonaws.com

# DNS解決確認
nslookup ec2.amazonaws.com

パフォーマンステスト

帯域幅テスト

bash
# iperf3を使用した帯域幅測定
# VPC内のEC2インスタンスでサーバー起動
iperf3 -s

# オンプレミスからクライアント実行
iperf3 -c 172.16.1.10 -t 60 -P 4

レイテンシーテスト

bash
# 継続的なping測定
ping -c 100 172.16.1.10

# MTR(My Traceroute)による経路確認
mtr --report --report-cycles 100 172.16.1.10

冗長性テスト

フェイルオーバーテスト

  1. プライマリ接続を意図的に切断
  2. トラフィックがセカンダリ接続に切り替わることを確認
  3. 切り替え時間とパケットロスを測定
  4. プライマリ接続復旧後の動作確認

セキュリティ設定

アクセス制御の実装

BGPルートフィルタリング

bash
# 受信ルートフィルター
ip prefix-list AWS-ROUTES permit 172.16.0.0/16 le 24

# 送信ルートフィルター  
ip prefix-list ADVERTISE-TO-AWS permit 10.0.0.0/8 le 24

router bgp 65001
 neighbor 192.168.100.2 prefix-list AWS-ROUTES in
 neighbor 192.168.100.2 prefix-list ADVERTISE-TO-AWS out

セキュリティグループとNACL VPC側でのアクセス制御も適切に設定します。

yaml
セキュリティグループ例:
  Name: DirectConnect-Access
  Inbound Rules:
    - Protocol: TCP
      Port: 443
      Source: 10.0.0.0/8
    - Protocol: TCP  
      Port: 22
      Source: 10.1.0.0/16

監視設定

CloudWatchアラーム設定

yaml
アラーム設定例:
  ConnectionState:
    Metric: AWS/DX/ConnectionState
    Threshold: 0 (Down状態)
    Action: SNS通知
  
  BandwidthUtilization:
    Metric: AWS/DX/ConnectionBpsEgress
    Threshold: 8Gbps (80%使用率)
    Action: 運用チーム通知

ログ設定

bash
# VPC Flow Logs有効化
aws ec2 create-flow-logs \
    --resource-type VPC \
    --resource-ids vpc-xxxxxxxx \
    --traffic-type ALL \
    --log-destination-type cloud-watch-logs \
    --log-group-name DirectConnect-FlowLogs

運用開始とカットオーバー

段階的移行

パイロットテスト 一部のワークロードを対象にした小規模なテストを実施します。

  1. 非本番環境でのテスト
  2. 低優先度ワークロードでの試行
  3. 段階的な本番ワークロード移行

カットオーバー計画

切り替え手順

yaml
カットオーバー手順:
  事前準備:
    - 全関係者への通知
    - バックアウト手順の確認
    - 監視体制の強化
  
  実行手順:
    1. ルーティング優先度変更
    2. トラフィック監視
    3. 性能確認
    4. 旧接続の無効化
  
  事後確認:
    - 全システムの動作確認
    - パフォーマンス測定
    - ユーザー影響の確認

トラブルシューティング

一般的な問題と対処法

BGPセッションが確立しない

bash
# 確認項目
1. 物理接続状態
2. VLAN設定
3. IPアドレス設定
4. BGP認証キー
5. ルーティング設定

# デバッグコマンド
debug ip bgp events
debug ip bgp updates

パフォーマンスが期待値に達しない

bash
# 確認項目
1. インターフェース使用率
2. パケットドロップ
3. MTU設定
4. TCP窓サイズ
5. アプリケーション設定

監視とメンテナンス

定期メンテナンス

  • BGPセッション状態確認
  • インターフェース統計確認
  • 光信号レベル確認
  • パフォーマンス傾向分析

AWS Direct Connectの実装は複雑なプロセスですが、適切な計画と段階的なアプローチにより、安全かつ効率的に実行できます。継続的な監視と最適化により、長期的な運用効果を最大化できます。

次回の記事では、ハイブリッドクラウド構築のアーキテクチャパターンについて詳しく解説します。