VirtEBSBackedBYOLAMI Deploying the EBS-backed BYOL Virtuoso EC2 AMI Deploying the EBS-backed BYOL Virtuoso EC2 AMI Introduction In addition to the Instance-backed EC2 AMI 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 -- Bring You Own License, or BYOL (documented here) Pay As You Go, or PAGO With either License Model, you will be starting with a preconfigured Virtuoso instance. The fundamental benefits provided by this type of AMI include: Virtuoso is preinstalled and tuned for the host operating system You can start and stop this Virtuoso instance without having to terminate its host AMI 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. Prerequisites An Amazon Web Services (AWS) account. Recently created AWS accounts will have been automatically signed up for the Amazon S3 and EC2 Web Service. If you created your AWS account a long time ago, you may now need to manually sign up for these services. A Virtuoso commercial license for Linux, purchased from the Virtuoso Web Site.
Setup & Instantiation of the EBS-backed BYOL Virtuoso AMI From the AWS Management Console, select Launch Instances. You will need to choose an AMI. In the Community AMIs tab, type Virtuoso 7.1 in the search box to find the relevant images published by OpenLink
<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=""> 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 "ec2-user" that has "sudo" 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 "ec2-user" that has "sudo" 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 . ./ </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/ 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', file `mediawiki' in `../hosting' 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/ } 10:35:25 { Loading plugin 3: Type `plain', file `creolewiki' in `../hosting' 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/ } 10:35:25 { Loading plugin 4: Type `plain', file `im' in `../hosting' 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/ } 10:35:25 { Loading plugin 5: Type `plain', file `wbxml2' in `../hosting' 10:35:25 FAILED plugin 5: Unable to locate file } 10:35:25 { Loading plugin 7: Type `Hosting', file `' in `../hosting' 10:35:25 FAILED plugin 7: Unable to locate file } 10:35:25 { Loading plugin 8: Type `plain', file `qrcode' in `../hosting' 10:35:25 FAILED plugin 8: Unable to locate file } 10:35:25 { Loading plugin 12: Type `plain', file `' in `../hosting' 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 </programlisting></listitem> <listitem>Install the Virtuoso Conductor VAD application package by running the following commands: <programlisting>$ /opt/virtuoso/ $ 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> vad_install('/opt/virtuoso/vad/conductor_dav.vad',0); SQL_STATE SQL_MESSAGE LONG VARCHAR VARCHAR _______________________________________________________________________________ 00000 No errors detected 00000 Installation of "Virtuoso Conductor" is complete. 00000 Now making a final checkpoint. 00000 Final checkpoint is made. 00000 SUCCESS BLOB 0 chars 6 Rows. -- 5773 msec. SQL> </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=""> Related Items</bridgehead> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="">OpenLink Data Spaces Installation</ulink> </listitem> <listitem>EC2 & 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 & Pre-loaded Virtuoso instances (DBpedia, BBC Music & 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="">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 & SPARQL Endpoint ACLs Tutorial</ulink> </listitem> <listitem><ulink url="VirtOAuthSPARQL">SPARQL OAuth Tutorial</ulink> </listitem> </itemizedlist></listitem> <listitem><ulink url="">Virtuoso documentation</ulink> <itemizedlist mark="bullet" spacing="compact"><listitem><ulink url="">Virtuoso'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>