<docbook><section><title>VirtEBSBackedBYOLAMI</title><title> Deploying the EBS-backed BYOL Virtuoso EC2 AMI</title> Deploying the EBS-backed BYOL Virtuoso EC2 AMI
<bridgehead class="http://www.w3.org/1999/xhtml:h2">Introduction</bridgehead>
<para>In addition to the <ulink url="VirtInstallationEC2">Instance-backed EC2 AMI</ulink> that has been in existence since 2008, Virtuoso is now also available as an EBS-backed EC2 AMI based on your choice of License Model -- </para>
<itemizedlist mark="bullet" spacing="compact"><listitem>Bring You Own License, or BYOL (documented here) </listitem>
<listitem><ulink url="VirtPayAsYouGoEBSBackedAMI">Pay As You Go, or PAGO</ulink></listitem>
</itemizedlist><para>With either License Model, you will be starting with a preconfigured Virtuoso instance.
 The fundamental benefits provided by this type of AMI include:</para>
<itemizedlist mark="bullet" spacing="compact"><listitem>Virtuoso is preinstalled and tuned for the host operating system </listitem>
<listitem>You can start and stop this Virtuoso instance without having to terminate its host AMI</listitem>
</itemizedlist><para>BYOL simply requires that you acquire a Virtuoso License, as you would for any other deployment, and then apply that license to the preconfigured Virtuoso instance that awaits you in the Amazon EC2 Cloud.</para>
<para> </para>
<bridgehead class="http://www.w3.org/1999/xhtml:h2"> Prerequisites</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem>An <ulink url="https://aws-portal.amazon.com/gp/aws/developer/registration/index.html/103-7399647-0537426?">Amazon Web Services</ulink> (AWS) account.
</listitem>
<listitem>Recently created AWS accounts will have been automatically signed up for the <ulink url="http://www.amazon.com/b/ref=sc_fe_l_2?ie=UTF8&amp;node=201590011&amp;no=3435361&amp;me=A36L942TSJ2AJA">Amazon S3 and EC2 Web Service</ulink>.
If you created your AWS account a long time ago, you may now need to manually sign up for these services.
</listitem>
<listitem>A Virtuoso commercial license for Linux, purchased from the <ulink url="http://virtuoso.openlinksw.com/offers/offers.vsp?os=http%3A%2F%2Fwww.openlinksw.com%2Fontology%2Fsoftware%23GenericLinux">Virtuoso Web Site</ulink>.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_11.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_11.png" /></figure></ulink> </listitem>
</itemizedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Setup &amp; Instantiation of the EBS-backed BYOL Virtuoso AMI</bridgehead>
<orderedlist spacing="compact"><listitem>From the <ulink url="https://console.aws.amazon.com/ec2/home">AWS Management Console</ulink>, select <emphasis>Launch Instances</emphasis>.
</listitem>
<listitem>You will need to choose an AMI.
 In the <emphasis>Community AMIs</emphasis> tab, type <emphasis>Virtuoso 7.1</emphasis> in the search box to find the relevant images published by <ulink url="OpenLink">OpenLink</ulink> —     <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_01.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_01.png" /></figure></ulink>  
<table><title /><tgroup><thead /><tbody>
<row />
<row><entry>64-bit </entry><entry>   ami-c04220a8   </entry><entry>   Virtuoso 7.1 (for Red Hat Enterprise Linux)   </entry></row>
</tbody></tgroup></table>
  </listitem>
<listitem>Choose the Instance Type the AMI is to be instantiated with.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_02.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_02.png" /></figure></ulink>  </listitem>
<listitem>Configure your Instance Details.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_03.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_03.png" /></figure></ulink>  </listitem>
<listitem>Add Storage, selecting a suitably sized storage device.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_04.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_04.png" /></figure></ulink>  </listitem>
<listitem>Tag the Instance(s) with a suitable name for your own purposes.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_05.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_05.png" /></figure></ulink>  </listitem>
<listitem>Configure network access security.
 Note that port 22 is always required for ssh access to the AMI, and port 80 is needed for HTTP access to the Virtuoso server instance.
 Access to port 1111 may also be needed, if access to the Virtuoso SQL port is required, and/or port 443, if HTTP+TLS will be needed.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_06.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_06.png" /></figure></ulink>  </listitem>
<listitem>Review the Instance settings before clicking <emphasis>Launch</emphasis> to instantiate the AMI.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_07.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_07.png" /></figure></ulink>  </listitem>
<listitem>Select a suitable pre-existing security key pair, or choose to create a new pair, for instance instantiation and access, and Launch the instance.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_08.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_08.png" /></figure></ulink>  </listitem>
<listitem>The Launch Status page will be displayed for tracking progress.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_09.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_09.png" /></figure></ulink>  </listitem>
<listitem>Once complete, view the Launched Instance page in AWS console to see the instantiated AMI.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_10.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_10.png" /></figure></ulink> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> After AMI Instantiation</bridgehead>
<orderedlist spacing="compact"><listitem>Locate the security key selected or created above, and run the command — <programlisting>chmod 600 MyKeyPair.pem
</programlisting></listitem>
<listitem>Copy your Virtuoso license file (virtuoso.lic) to the AMI instance, using the default &quot;ec2-user&quot; that has &quot;sudo&quot; rights, with the command — <programlisting>scp -i MyKeyPair.pem virtuoso.lic ec2-user@your-ec2-instance-cname:~/
</programlisting></listitem>
<listitem>Connect to the EC2 AMI Server using the default &quot;ec2-user&quot; that has &quot;sudo&quot; rights, with the command — <programlisting>ssh -i MyKeyPair.pem ec2-user@your-ec2-instance-cname
</programlisting></listitem>
<listitem>The Virtuoso EC2 AMI installation is located in /opt/virtuoso.
 Run the following commands to navigate to this location, and set the Virtuoso server environment variables — <programlisting>cd /opt/virtuoso
. ./virtuoso-environment.sh
</programlisting></listitem>
<listitem>Run the following command to copy the Virtuoso license to the bin directory of your Virtuoso installation <programlisting>sudo cp ~/virtuoso.lic bin/virtuoso.lic
</programlisting></listitem>
<listitem>Run the following command to start the default Virtuoso database located in the database directory.
<programlisting>sudo bin/virtuoso-start.sh database
</programlisting></listitem>
<listitem>The Virtuoso instance should now be running.
 This can be verified by checking the virtuoso.log file in the database directory, with a command like this: <programlisting>tail -n 100 database/virtuoso.log
</programlisting>Output will look something like this: <programlisting>
		Mon Jan 19 2015
10:35:25 { Loading plugin 2: Type `plain&#39;, file `mediawiki&#39; in `../hosting&#39;
10:35:25   MediaWiki version 0.1 from OpenLink Software
10:35:25   Support functions for MediaWiki collaboration tool
10:35:25   SUCCESS plugin 2: loaded from ../hosting/mediawiki.so }
10:35:25 { Loading plugin 3: Type `plain&#39;, file `creolewiki&#39; in `../hosting&#39;
10:35:25   CreoleWiki version 0.1 from OpenLink Software
10:35:25   Support functions for CreoleWiki collaboration tool
10:35:25   SUCCESS plugin 3: loaded from ../hosting/creolewiki.so }
10:35:25 { Loading plugin 4: Type `plain&#39;, file `im&#39; in `../hosting&#39;
10:35:25   IM version 0.61 from OpenLink Software
10:35:25   Support functions for Image Magick 6.6.6
10:35:25   SUCCESS plugin 4: loaded from ../hosting/im.so }
10:35:25 { Loading plugin 5: Type `plain&#39;, file `wbxml2&#39; in `../hosting&#39;
10:35:25   FAILED  plugin 5: Unable to locate file }
10:35:25 { Loading plugin 7: Type `Hosting&#39;, file `hosting_php.so&#39; in `../hosting&#39;
10:35:25   FAILED  plugin 7: Unable to locate file }
10:35:25 { Loading plugin 8: Type `plain&#39;, file `qrcode&#39; in `../hosting&#39;
10:35:25   FAILED  plugin 8: Unable to locate file }
10:35:25 { Loading plugin 12: Type `plain&#39;, file `hslookup.so&#39; in `../hosting&#39;
10:35:25   FAILED  plugin 12: Unable to locate file }
10:35:25 OpenLink Virtuoso Universal Server
10:35:25 Version 07.10.3211-pthreads for Linux as of Dec 15 2014
10:35:25 uses parts of OpenSSL, PCRE, Html Tidy
10:35:25 Registered to OpenLink Virtuoso (Internal Use)
10:35:25 Personal Edition license for 10 connections
10:35:25 Issued by OpenLink Software
10:35:25 Enabled Cluster Extension
10:35:25 Enabled Column Store Extension
10:35:25 Database version 3126
10:35:25 SQL Optimizer enabled (max 1000 layouts)
10:35:26 Compiler unit is timed at 0.000190 msec
10:35:27 Roll forward started
10:35:27 Roll forward complete
10:35:27 Checkpoint started
10:35:27 Checkpoint finished, log reused
10:35:27 HTTP/WebDAV server online at 80
10:35:27 FTP server online at 21
10:35:27 Server online at 1111 (pid 964)
</programlisting></listitem>
<listitem>The default Virtuoso dba password is the AMI instance-id which can be obtained from the AMI properties presented by the Amazon AWS console UI or by executing the following command in the Linux shell: <programlisting>curl http://169.254.169.254/latest/meta-data/instance-id
</programlisting></listitem>
<listitem>Install the Virtuoso Conductor VAD application package by running the following commands: <programlisting>$ /opt/virtuoso/virtuoso-environment.sh
$ isql 1111 -U dba -P instance-id
Connected to OpenLink Virtuoso
Driver: 07.10.3214 OpenLink Virtuoso ODBC Driver
OpenLink Interactive SQL (Virtuoso), version 0.9849b.
Type HELP; for help and EXIT; to exit.
SQL&gt;  vad_install(&#39;/opt/virtuoso/vad/conductor_dav.vad&#39;,0);
SQL_STATE     SQL_MESSAGE
LONG VARCHAR  VARCHAR
_______________________________________________________________________________

00000         No errors detected
00000         Installation of &quot;Virtuoso Conductor&quot; is complete.
00000         Now making a final checkpoint.
00000         Final checkpoint is made.
00000         SUCCESS
BLOB 0 chars  

6 Rows. -- 5773 msec.
SQL&gt;
</programlisting></listitem>
<listitem>The Virtuoso host instance should now be accessible via HTTP at a URL like http://your-ec2-instance-cname/.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_12.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_12.png" /></figure></ulink>  </listitem>
<listitem>The Virtuoso SPARQL Endpoint should now be accessible via HTTP at a URL like http://your-ec2-instance-cname/sparql.
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_13.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_13.png" /></figure></ulink>  </listitem>
<listitem>The Virtuoso Conductor Admin User Interface should now be accessible via HTTP at a URL like http://your-ec2-instance-cname/conductor (default Admin username and password are <emphasis>dba</emphasis> and <emphasis>instance-id</emphasis> obtained previously).
    <ulink url="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_14.png"><figure><graphic fileref="VirtEBSBackedBYOLAMI/VirtEBSBackedBYOLAMI_14.png" /></figure></ulink> </listitem>
</orderedlist><bridgehead class="http://www.w3.org/1999/xhtml:h2"> Related Items</bridgehead>
<itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://ods.openlinksw.com/wiki/ODS/ODSInstallationEC2">OpenLink Data Spaces Installation</ulink> </listitem>
<listitem>EC2 &amp; AMI related information <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtInstallationEC2">Instance-backed Virtuoso EC2 AMI</ulink> </listitem>
<listitem><ulink url="VirtAWSPublicDataSets">Pre-configured &amp; Pre-loaded Virtuoso instances (DBpedia, BBC Music &amp; Programmes etc.)</ulink> </listitem>
<listitem><ulink url="VirtEC2AMINeuroCommonsInstall">Creating Your Own Neurocommons Instance</ulink> </listitem>
<listitem><ulink url="VirtEC2AMIBio2rdfInstall">Creating Your Own Bio2RDF Instance</ulink> </listitem>
<listitem><ulink url="VirtEC2AMIMusicBrainzInstall">Creating Your Own MusicBrainz Instance</ulink> </listitem>
<listitem><ulink url="VirtEc2ExtensionUI">Backup Your Virtuoso EC2 AMI to S3</ulink> </listitem>
<listitem><ulink url="VirtEC2AMIElasticBlockStorageConfig">Configure your Virtuoso EC2 AMI for use with Amazon Elastic Block Storage (EBS)</ulink> </listitem>
<listitem><ulink url="http://calculator.s3.amazonaws.com/calc5.html">Amazon-provided AWS Simple Monthly Cost Calculator</ulink> </listitem>
</itemizedlist></listitem>
<listitem>Protecting your Virtuoso-hosted SPARQL Endpoint <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSPARQLEndpointProtection">Safeguarding your Virtuoso-hosted SPARQL Endpoint</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksGuideSPARQLEndpointProtection">SPARQL Endpoint Protection Methods Collection</ulink> </listitem>
<listitem><ulink url="VirtTipsAndTricksGuideSPARQLEndpoints">Securing SPARQL endpoints</ulink> </listitem>
<listitem><ulink url="VirtSPARQLSecurityWebID">WebID Protocol &amp; SPARQL Endpoint ACLs Tutorial</ulink> </listitem>
<listitem><ulink url="VirtOAuthSPARQL">SPARQL OAuth Tutorial</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="http://docs.openlinksw.com/virtuoso/">Virtuoso documentation</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="http://docs.openlinksw.com/virtuoso/rdfsparql.html">Virtuoso&#39;s SPARQL support</ulink> </listitem>
</itemizedlist></listitem>
<listitem><ulink url="VirtTipsAndTricksGuide">Virtuoso Tips and Tricks</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="VirtSPARQLDET">SPARQL Endpoint DET (DEV Extension Type) Configuration Guide</ulink></listitem>
</itemizedlist></listitem>
</itemizedlist><para> <ulink url="CategoryHowTo">CategoryHowTo</ulink> <ulink url="CategoryODS">CategoryODS</ulink> <ulink url="CategoryVirtuoso">CategoryVirtuoso</ulink> <ulink url="CategoryDocumentation">CategoryDocumentation</ulink> <ulink url="CategoryEC2">CategoryEC2</ulink></para>
<para> </para>
</section></docbook>