AXP(Application eXtension Platform)/1.5

バージョン 1

    AXP(Application eXtension Platform)へ戻る

     

    ここに記載した情報は、AXP 1.5.x に関する情報です。

     

    AXP1.5で強化あるいは加わった機能

    • 新しいプラットフォームのサポート ・・・ AIM2-APPRE-104-K9, ISM-SRE-300-K9
    • カーネル ・・・ Linux 2.6.22.10 カーネルのサポート
    • ゲストOS ・・・ AXPOS 1.5では、CentOS 5.2 を基本としたものに変更されています。また、これにより、CentOS 5.2のRPMもサポートしています。
    • AXPUDL ・・・ ユーザ定義のLinux環境(User Defined Linux Environment)でアプリケーションを実行することができるようになりました。

     

     

    開発システムの要件

    アプリケーションは Linux 環境で開発する必要があります。最小限のシステム要件は、次のとおりです。

    • Intel Pentium 4 CPU 1.8 GHz、40 GB ハードディスク、および 512 MB メモリ
    • C コンパイラ:GNU C Compiler(gcc)Version 3.4.3
    • CentOS 5.2 または 類似のLinux ディストリビューション

     

    開発システムの準備

    ここでは、以下のような開発環境を作成します。

    /opt/AXP
          axp-sdk.1.5.3 ... AXP SDK のインストール先
            keys ............ 開発者証明書のインストール先
            apps ............ アプリケーションの作業先
    /var/ftp ............... anonymous ftp

     

    1. CentOS 5.2 の Linux がインストールしてあるシステムを用意します。(CentOS 5.2での開発が推奨です)
    2. AXP SDKのインストール
      1. Cisco Download Software AreaのSoftware Searchにaxp-sdk.1.5.3と入力し検索します。
      2. axp-sdk.1.5.3.tar.gz をダウンロードしてください。
      3. axp-sdk を解凍します。
        [~]# ls axp*
        axp-sdk.1.5.3.tar.gz
        [~]# cd /opt
        [opt]# mkdir AXP
        [opt]# cd AXP
        [AXP]# tar zxf ~/axp-sdk.1.5.3.tar.gz
      4. パスを設定します。
        [AXP]# export PATH=$PATH:/opt/AXP/axp-sdk.1.5.3/tools
        .bashrcなどで環境変数を自動設定すると作業が便利になります。
    3. 証明書の作成と申請
      VeriSignなどの認証局から X.509 証明書を取得するか、自己署名の X.509 証明書を作成します。ここでは、自己署名の手順を示します。
      1. OpenSSL ツールを使用して、自己署名入りの X.509 証明書を作成します。
        [~]# cd /opt/AXP
        [AXP]# mkdir keys
        [AXP]# cd keys
        [keys]# openssl genrsa -out private.key 1024
        Generating RSA private key, 1024 bit long modulus
        ~省略~
        [keys]# openssl req -new -x509 -days 365 -key private.key -out dev_certificate.sig
        ~省略~
        ※開発者証明書の名前は、dev_certificate.sig とする必要があります。
        ※ISMの場合は、2048ビット長である必要があります。
      2. 証明書の申請を Evaluation Requestより行います。
      3. 自動応答メールが届き、次の指示の記載があります。
      4. 開発者証明書が承認されると、シスコから許可証明書 auth_bundle.sig が返却されます。
      5. auth_bundle.sig を /opt/AXP/keys にコピーします。

    ※ 許可証明書 auth_bundle.sig がないとアプリケーションをAXPにインストールすることができません。

    ※ 証明書の作成についての詳細は、Developer Guide - Packaging the Application - Creating Certificatesを参照してください。

     

     

    AXPプラットフォームの準備

    Cisco ISR 1841、1941、2800、2900、3800、3900 シリーズ サービス統合型ルータの利用

    アプリケーション ランタイム環境ネットワーク モジュール(APPRE)は、ISR ネットワーク モジュール上で動作し、アプリケーションがルータのパフォーマンスに影響を与えるのを防ぐ専用ハードウェア リソースを提供します。APPRE は、標準的な x86 ベースのプロセッサを使用して構築され、標準的な Linux ハードウェア向けに開発されたソリューションのための理想的な環境を提供します。

    また、Cisco Services Ready Engine(SRE)モジュールは、シスコ サービス統合型ルータ第 2 世代向けのルータ ブレードです。シスコ製、サードパーティ製、およびカスタムのアプリケーションをホストする機能を提供します。SRE モジュールには、プロセッサ、ストレージ、ネットワーク インターフェイス、およびメモリが搭載されており、ホスト ルータ リソースとは独立して動作し、最大限の並行ルーティングとアプリケーション パフォーマンスの実現を支援します。

    AXP アプリケーションをホストするために利用できる複数の APPRE モジュールまたはSREモジュールがあります。

    ハードウェア SKUProcessor/MemoryHDD
    AIM-APPRE-102-K9300MHz CPU, 256 MBCompact Flash 1G
    AIM2-APPRE-104-K9600MHz CPU 512 MBCompact Flash 2G
    NME-APPRE-302-K91GHz CPU, 512MB80G
    NME-APPRE-502-K91GHz CPU, 1GB120G
    NME-APPRE-522-K91.4GHz CPU, 2GB160G
    ISM-SRE-300-K91.06 GHz, 512 MBCompact Flash 4G
    SM-SRE-700-K91.86GHz CPU, 2 GB500G
    SM-SRE-900-K91.86GHz dual core CPU, 4 GB2x500G (RAID 0,1 support)

    詳しくは、Cisco Application eXtension Platform を参照ください。

    AXPサービスモジュールの設定については、AXPクイックスタートガイドの「ハードウェアのインストレーション」~「Cisco AXP サービス モジュールの設定」を参照してください。

    手順は、以下のようになります。

    1. IOS CLI を使用して、統合サービスエンジンインターフェイスを設定します。
      ISR# conf t
      ISR(config)# interface Integrated-Service-Engine 1/0 ※ISM/SMの場合は、int ISM 0/0 のようになります。
      ISR(config-if)# ip unnumbered GigabitEthernet0/0
      ISR(config-if)# service-module ip address <AXP側IPアドレス> <ネットマスク>
      ISR(config-if)# service-module ip default-gateway <AXP側GWアドレス>
      ISR(config-if)# no shutdown
    2. サービスモジュールへセッションを開始します。                 
      ISR# service-module Integrated-Service-Engine 1/0 session ※ISM/SMの場合は、service-module ISM 0/0 session のようになります。
      Trying a.b.c.d, 2066 ... Open
      <enter>
      se-Module>
      これよりAXPサービスモジュール上での作業になります。
    3. AXPサービスモジュールの設定を行います。
      se-Module> config t
      se-Module(config)> hostname AXP
      AXP(config)> int eth0
      AXP(config-interface)> ip address <IPアドレス> <ネットワークマスク>
      AXP(config-interface)> exit
      AXP(config)> ip route 0.0.0.0 0.0.0.0 <GWアドレス>
      AXP(config)> username sysadmin password 0 cisco
      AXP(config)> ip ssh server
      AXP(config)> end
      AXP> wr
      以上で、SSHでAXPにログインすることができるようになります。
      また、他のネットワーク設定については、Application eXtension Platform Networking Application Noteを参考にしてください。
    4. ※ ntp および timezoneの設定
      AXP> conf t
      AXP(config)> ntp server a.b.c.d
      AXP(config)> clock timezone Asia/Tokyo
      AXP(config)> end
      AXP> wr

    add-onのインストールへ進んでください。

     

     

    VMWareイメージの利用

    ISRのない方は、VMWareイメージでエミュレーションすることができます。

    ※ 2010/9現在、最新は1.5.3となっております。
    ※ VMWareイメージでは、一部機能が使えないことがあります。

    1. Cisco Download Software AreaのSoftware Searchに「axp-k9.vmw」と入力し検索します。
    2. axp-k9.vmw.1.5.3.tar.gz をダウンロード・解凍し、axp-k9.vm.vmw.1.5.3.0.vmx でVMWareを起動します。
    3. 初めてVMを起動した場合、ネットワークに関する設定を入力をします。
    4. defaulthost という表示になるので、以下のコマンドを入力し、インタフェースを設定します。
      defaulthost# config t
      defaulthost(config)# hostname AXP
      AXP(config)# user sysadmin password 0 cisco
      AXP(config)# ip ssh server
      AXP(config)# end
      AXP# wr mem
      AXP#
      以上で、SSHでAXPにログインすることができるようになります。
      ※ ntp および timezoneの設定
      AXP# conf t
      AXP(config)# ntp server a.b.c.d
      AXP(config)# clock timezone Asia/Tokyo
      AXP(config)# end
      AXP# wr
      AXP# reload

    #add-onVMWare イメージの場合、add-on は、既にインストール済みとなっています。


    add-onのインストール

    add-onをインストールするためには、ftpサーバを用意する必要があります。

    1. ここでは、開発マシンにftpサーバを用意します。
      [~]# mount /media/cdrom
      [~]# rpm -ivh /media/cdrom/CentOS/vsftpd-2.0.5-12.el5.i386.rpm
      [~]# chkconfig vsftpd on
    2. Cisco Download Software AreaのSoftware Searchに「axp-k9.nme」と入力し検索します。
    3. axp-k9.nme.1.5.3.tar.gz をダウンロードします。
    4. add-onを展開します。
      [~]# cp axp-k9.nme.1.5.3.tar.gz /var/ftp
      [~]# cd /var/ftp
      [ftp]# tar zxf axp-k9.nme.1.5.3.tar.gz
      axp-app-dev.nme.1.5.3.pkg を含め、8個のファイルが解凍されます。
    5. anonymousでftpサーバにログインしファイルがダウンロードできるか確認してください。
    6. add-onをインストールします。
      SSHで、AXPにログインします。このときのパスワードは上で設定した情報となります。
      AXP> software install add url ftp://192.168.1.36/axp-app-dev.nme.1.5.3.pkg
    7. しばらくするとAXPが再起動します。
    8. 必要に応じて、以下のパッケージをインストールしてください。
      axp-app-dev.nme.1.5.3.pkg
    9. インストールされたパッケージを確認します。
      AXP> show software packages
      Installed Packages:

      - Installer (Installer application) (1.5.3.0)
      - AXP (Virtual Server Development System) (1.5.3)
      - ios_snap (Structured Network API Support) (1.5.3.SNAP_REL_20100225)
      - Core (Service Engine OS Core) (2.5.7.0)
      - Global (Global manifest) (1.5.3)
      - iosapi (IOS CLI API) (1.5.3)
      - axpos (AXP Reference OS) (1.5.3)
      - GPL Infrastructure (Service Engine GPL Infrastructure) (2.3.7.0)
      - ios_eemclient (IOS EEM Client Library) (EEM_AXP_T_BASE_1_20091204)
      - vserialapi (Remote Serial Device support) (1.5.3)
      - eventapi (IOS Event API) (1.5.3)
      - Bootloader (Primary) (Service Engine Bootloader) (2.1.29)
      - Infrastructure (Service Engine Infrastructure) (2.5.7.0)
      - cli_plugin (CLI Plugin bundle to allow custom CLI plugin) (1.5.3)
      - Guest OS Environment (AXP Guest OS Environment (Legacy)) (1.5.3)
      - Bootloader (Secondary) (Service Engine Bootloader) (2.1.29.0)
      - ios_mosipc (Cisco Multi-OS IPC support) (1.5.3.OMNI_TAHOE_MOS_20100421)
      - timezone (Time Zone Definitions) (1.0.2009g.1)
      - nfsclient (NFS Client) (1.5.3)
      - axpsystemapi (AXP standard services(AXP SysInfo, SysOp, CLI API)) (1.5.3)

      Installed Plug-ins:

      - app_dev (Application Debugging Add-on Package) (1.5.3)
      インフラストラクチャアドオン パッケージのコピーは、ポストインストレーション時に仮想インスタンスでインスタンス化されます。インフラストラクチャアドオンパッケージはファイルシステムにありますが、仮想インスタンス間で共有されます。これに対して、サードパーティのアドオンパッケージは、1 つの仮想インスタンス内にサードパーティのアプリケーションが含まれているパッケージです。各サードパーティアプリケーションに、仮想インスタンスが 1 つだけ存在します。SDK には、複数のパッケージをコンパイルして 1 つのバンドルにする、バンドルツールも用意されています。