{"action":"created","comment":{"url":"https://api.github.com/repos/corda/corda/pulls/comments/193163503","pull_request_review_id":126081905,"id":193163503,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5MzE2MzUwMw==","diff_hunk":"@@ -0,0 +1,113 @@\n+Deploying Corda to Corda Testnet from an AWS Cloud Platform VM\n+====================================================\n+\n+.. contents::\n+\n+This document explains how to deploy a Corda node to AWS that can connect directly to the Corda Testnet.\n+A self service download link can be obtained from https://testnet.corda.network. This\n+document will describe how to set up a virtual machine on the AWS\n+Cloud Platform to deploy your pre-configured Corda node and automatically connnect\n+to Testnet.\n+\n+Pre-requisites\n+--------------\n+* Ensure you have a registered Amazon AWS account which can create virtual machines and you are logged on to the AWS console: `https://console.aws.amazon.com`.\n+\n+\n+Deploy Corda node\n+-----------------\n+\n+Browse to `https://console.aws.amazon.com` and log in with your AWS account.\n+\n+\n+**STEP 1: Launch a new virtual machine**\n+\n+Click on Launch a virtual machine with EC2.\n+\n+.. image:: resources/aws-launch.png\n+\n+In the quick start wizard scroll down and select the most recent Ubuntu machine image as the Amazon Machine Image (AMI).\n+\n+.. image:: resources/aws_select_ubuntu.png\n+\n+Select the instance type (for example t2.xlarge). \n+\n+.. image:: resources/aws-instance-type.png\n+\n+Configure a couple of other settings before we review and launch\n+\n+Under the storage tab (Step 4) increase the storage to 40GB:\n+\n+.. image:: resources/aws-storage.png\n+\n+Configure the security group (Step 6) to open the firewall ports which Corda uses.\n+\n+.. image:: resources/aws-firewall.png\n+\n+Add a firewall rule for port range 10002-10003 and allow connection from Anywhere. Add another rule for the webserver on port 8080. \n+\n+Click on the Review and Launch button then if everything looks ok click Launch.\n+\n+You will be prompted to set up keys to securely access the VM remotely over ssh. Select \"Create a new key pair\" from the drop down and enter a name for the key file. Click download to get the keys and keep them safe on your local machine. \n+\n+.. note:: These keys are just for connecting to your VM and are separate from the keys Corda will use to sign transactions. These keys will be generated as part of the download bundle.\n+\n+.. image:: resources/aws-keys.png\n+   :width: 200 px\n+\n+Click \"Launch Instances\".\n+\n+Click on the link to go to the Instances pages in the AWS console where after a few minutes you will be able to see your instance running.\n+\n+.. image:: resources/aws-instances.png\n+\n+**STEP 2: Set up static IP address**\n+\n+On AWS a permanent IP address is called an Elastic IP. Click on the\n+\"Elastic IP\" link in the navigation panel on the left hand side of the console and then click on \"Allocate new address\":\n+\n+.. image:: resources/aws-elastic.png\n+\n+Follow the form then once the address is allocated click on \"Actions\"\n+then \"Associate address\":\n+\n+.. image:: resources/aws-elastic-actions.png\n+\n+Then select the instance you created for your Corda node to attach the\n+IP address to. \n+\n+**STEP 3: Connect to your VM and set up the environment**\n+\n+In the instances console click on \"Connect\" and follow the instructions to connect to your instance using ssh.\n+\n+.. image:: resources/aws-instances-connect.png\n+\n+.. image:: resources/aws-connect.png\n+\n+\n+**STEP 4: Download and set up your Corda node**\n+\n+Now your AWS environment is configured you can switch back to the Testnet \n+web application and click on the copy to clipboard button to get a one\n+time installation script. \n+\n+.. note:: If you have not already set up your account on Testnet then please visit https://testnet.corda.network and sign up.\n+\n+.. image:: resources/testnet-platform.png\n+   :scale: 50 %\n+\n+You can generate as many Testnet identites as you like by refreshing\n+this page to generate a new one time link. \n+\t   \n+In the terminal of your cloud instance paste the command you just copied to install and run\n+your unique Corda instance on that instance:\n+\n+.. code:: bash\n+\n+    sudo ONE_TIME_DOWNLOAD_KEY=YOUR_UNIQUE_DOWNLOAD_KEY_HERE bash -c \"$(curl -L https://testnet.corda.network/api/user/node/install.sh)\"","path":"docs/source/aws-vm-explore.rst","position":107,"original_position":107,"commit_id":"a74690a1feba6214a6850a2cb45e261f575ea667","original_commit_id":"a74690a1feba6214a6850a2cb45e261f575ea667","user":{"login":"nickarini","id":8394877,"node_id":"MDQ6VXNlcjgzOTQ4Nzc=","avatar_url":"https://avatars3.githubusercontent.com/u/8394877?v=4","gravatar_id":"","url":"https://api.github.com/users/nickarini","html_url":"https://github.com/nickarini","followers_url":"https://api.github.com/users/nickarini/followers","following_url":"https://api.github.com/users/nickarini/following{/other_user}","gists_url":"https://api.github.com/users/nickarini/gists{/gist_id}","starred_url":"https://api.github.com/users/nickarini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nickarini/subscriptions","organizations_url":"https://api.github.com/users/nickarini/orgs","repos_url":"https://api.github.com/users/nickarini/repos","events_url":"https://api.github.com/users/nickarini/events{/privacy}","received_events_url":"https://api.github.com/users/nickarini/received_events","type":"User","site_admin":false},"body":"https://github.com/corda/cordazone-services/blob/master/node-service/src/main/resources/com/r3/cordazone/node/install-node.sh\r\n\r\nScript here. It installs some dependencies and sets up a user and installs in /opt/corda. \r\n\r\nThis is actually just a temporary solution until we have the templates.","created_at":"2018-06-05T17:49:58Z","updated_at":"2018-06-05T17:49:58Z","html_url":"https://github.com/corda/corda/pull/3287#discussion_r193163503","pull_request_url":"https://api.github.com/repos/corda/corda/pulls/3287","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/corda/corda/pulls/comments/193163503"},"html":{"href":"https://github.com/corda/corda/pull/3287#discussion_r193163503"},"pull_request":{"href":"https://api.github.com/repos/corda/corda/pulls/3287"}},"in_reply_to_id":193131690},"pull_request":{"url":"https://api.github.com/repos/corda/corda/pulls/3287","id":192042024,"node_id":"MDExOlB1bGxSZXF1ZXN0MTkyMDQyMDI0","html_url":"https://github.com/corda/corda/pull/3287","diff_url":"https://github.com/corda/corda/pull/3287.diff","patch_url":"https://github.com/corda/corda/pull/3287.patch","issue_url":"https://api.github.com/repos/corda/corda/issues/3287","number":3287,"state":"open","locked":false,"title":"Testnet documentation pages","user":{"login":"nickarini","id":8394877,"node_id":"MDQ6VXNlcjgzOTQ4Nzc=","avatar_url":"https://avatars3.githubusercontent.com/u/8394877?v=4","gravatar_id":"","url":"https://api.github.com/users/nickarini","html_url":"https://github.com/nickarini","followers_url":"https://api.github.com/users/nickarini/followers","following_url":"https://api.github.com/users/nickarini/following{/other_user}","gists_url":"https://api.github.com/users/nickarini/gists{/gist_id}","starred_url":"https://api.github.com/users/nickarini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nickarini/subscriptions","organizations_url":"https://api.github.com/users/nickarini/orgs","repos_url":"https://api.github.com/users/nickarini/repos","events_url":"https://api.github.com/users/nickarini/events{/privacy}","received_events_url":"https://api.github.com/users/nickarini/received_events","type":"User","site_admin":false},"body":"4 pages of Testnet documentation. One intro page and a page for each of AWS, Azure and Google setup VMs for Corda nodes using Testnet. These latter 3 pages are linked to directly from the application. \r\n\r\n\r\n# PR Checklist:\r\n\r\n- [ ] Have you run the unit, integration and smoke tests as described here? https://docs.corda.net/head/testing.html\r\n- [ ] If you added/changed public APIs, did you write/update the JavaDocs?\r\n- [ ] If the changes are of interest to application developers, have you added them to the changelog, and potentially release notes?\r\n- [ ] If you are contributing for the first time, please read the agreement in CONTRIBUTING.md now and add to this Pull Request that you agree to it.\r\n\r\nThanks for your code, it's appreciated! :)\r\n","created_at":"2018-06-01T13:54:59Z","updated_at":"2018-06-05T17:49:58Z","closed_at":null,"merged_at":null,"merge_commit_sha":"37ce3d032a89afb02fb44086ef11b11746091223","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/corda/corda/pulls/3287/commits","review_comments_url":"https://api.github.com/repos/corda/corda/pulls/3287/comments","review_comment_url":"https://api.github.com/repos/corda/corda/pulls/comments{/number}","comments_url":"https://api.github.com/repos/corda/corda/issues/3287/comments","statuses_url":"https://api.github.com/repos/corda/corda/statuses/a74690a1feba6214a6850a2cb45e261f575ea667","head":{"label":"corda:na-cordazone-docs","ref":"na-cordazone-docs","sha":"a74690a1feba6214a6850a2cb45e261f575ea667","user":{"login":"corda","id":22600631,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjAwNjMx","avatar_url":"https://avatars1.githubusercontent.com/u/22600631?v=4","gravatar_id":"","url":"https://api.github.com/users/corda","html_url":"https://github.com/corda","followers_url":"https://api.github.com/users/corda/followers","following_url":"https://api.github.com/users/corda/following{/other_user}","gists_url":"https://api.github.com/users/corda/gists{/gist_id}","starred_url":"https://api.github.com/users/corda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corda/subscriptions","organizations_url":"https://api.github.com/users/corda/orgs","repos_url":"https://api.github.com/users/corda/repos","events_url":"https://api.github.com/users/corda/events{/privacy}","received_events_url":"https://api.github.com/users/corda/received_events","type":"Organization","site_admin":false},"repo":{"id":70137417,"node_id":"MDEwOlJlcG9zaXRvcnk3MDEzNzQxNw==","name":"corda","full_name":"corda/corda","owner":{"login":"corda","id":22600631,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjAwNjMx","avatar_url":"https://avatars1.githubusercontent.com/u/22600631?v=4","gravatar_id":"","url":"https://api.github.com/users/corda","html_url":"https://github.com/corda","followers_url":"https://api.github.com/users/corda/followers","following_url":"https://api.github.com/users/corda/following{/other_user}","gists_url":"https://api.github.com/users/corda/gists{/gist_id}","starred_url":"https://api.github.com/users/corda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corda/subscriptions","organizations_url":"https://api.github.com/users/corda/orgs","repos_url":"https://api.github.com/users/corda/repos","events_url":"https://api.github.com/users/corda/events{/privacy}","received_events_url":"https://api.github.com/users/corda/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/corda/corda","description":"Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.","fork":false,"url":"https://api.github.com/repos/corda/corda","forks_url":"https://api.github.com/repos/corda/corda/forks","keys_url":"https://api.github.com/repos/corda/corda/keys{/key_id}","collaborators_url":"https://api.github.com/repos/corda/corda/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/corda/corda/teams","hooks_url":"https://api.github.com/repos/corda/corda/hooks","issue_events_url":"https://api.github.com/repos/corda/corda/issues/events{/number}","events_url":"https://api.github.com/repos/corda/corda/events","assignees_url":"https://api.github.com/repos/corda/corda/assignees{/user}","branches_url":"https://api.github.com/repos/corda/corda/branches{/branch}","tags_url":"https://api.github.com/repos/corda/corda/tags","blobs_url":"https://api.github.com/repos/corda/corda/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/corda/corda/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/corda/corda/git/refs{/sha}","trees_url":"https://api.github.com/repos/corda/corda/git/trees{/sha}","statuses_url":"https://api.github.com/repos/corda/corda/statuses/{sha}","languages_url":"https://api.github.com/repos/corda/corda/languages","stargazers_url":"https://api.github.com/repos/corda/corda/stargazers","contributors_url":"https://api.github.com/repos/corda/corda/contributors","subscribers_url":"https://api.github.com/repos/corda/corda/subscribers","subscription_url":"https://api.github.com/repos/corda/corda/subscription","commits_url":"https://api.github.com/repos/corda/corda/commits{/sha}","git_commits_url":"https://api.github.com/repos/corda/corda/git/commits{/sha}","comments_url":"https://api.github.com/repos/corda/corda/comments{/number}","issue_comment_url":"https://api.github.com/repos/corda/corda/issues/comments{/number}","contents_url":"https://api.github.com/repos/corda/corda/contents/{+path}","compare_url":"https://api.github.com/repos/corda/corda/compare/{base}...{head}","merges_url":"https://api.github.com/repos/corda/corda/merges","archive_url":"https://api.github.com/repos/corda/corda/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/corda/corda/downloads","issues_url":"https://api.github.com/repos/corda/corda/issues{/number}","pulls_url":"https://api.github.com/repos/corda/corda/pulls{/number}","milestones_url":"https://api.github.com/repos/corda/corda/milestones{/number}","notifications_url":"https://api.github.com/repos/corda/corda/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/corda/corda/labels{/name}","releases_url":"https://api.github.com/repos/corda/corda/releases{/id}","deployments_url":"https://api.github.com/repos/corda/corda/deployments","created_at":"2016-10-06T08:46:29Z","updated_at":"2018-06-05T17:44:47Z","pushed_at":"2018-06-05T17:41:15Z","git_url":"git://github.com/corda/corda.git","ssh_url":"git@github.com:corda/corda.git","clone_url":"https://github.com/corda/corda.git","svn_url":"https://github.com/corda/corda","homepage":"https://www.corda.net","size":146216,"stargazers_count":1948,"watchers_count":1948,"language":"Kotlin","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":508,"mirror_url":null,"archived":false,"open_issues_count":108,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":508,"open_issues":108,"watchers":1948,"default_branch":"master"}},"base":{"label":"corda:master","ref":"master","sha":"b7fbebb490b01a1c10e8b4f8765937a95baa6624","user":{"login":"corda","id":22600631,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjAwNjMx","avatar_url":"https://avatars1.githubusercontent.com/u/22600631?v=4","gravatar_id":"","url":"https://api.github.com/users/corda","html_url":"https://github.com/corda","followers_url":"https://api.github.com/users/corda/followers","following_url":"https://api.github.com/users/corda/following{/other_user}","gists_url":"https://api.github.com/users/corda/gists{/gist_id}","starred_url":"https://api.github.com/users/corda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corda/subscriptions","organizations_url":"https://api.github.com/users/corda/orgs","repos_url":"https://api.github.com/users/corda/repos","events_url":"https://api.github.com/users/corda/events{/privacy}","received_events_url":"https://api.github.com/users/corda/received_events","type":"Organization","site_admin":false},"repo":{"id":70137417,"node_id":"MDEwOlJlcG9zaXRvcnk3MDEzNzQxNw==","name":"corda","full_name":"corda/corda","owner":{"login":"corda","id":22600631,"node_id":"MDEyOk9yZ2FuaXphdGlvbjIyNjAwNjMx","avatar_url":"https://avatars1.githubusercontent.com/u/22600631?v=4","gravatar_id":"","url":"https://api.github.com/users/corda","html_url":"https://github.com/corda","followers_url":"https://api.github.com/users/corda/followers","following_url":"https://api.github.com/users/corda/following{/other_user}","gists_url":"https://api.github.com/users/corda/gists{/gist_id}","starred_url":"https://api.github.com/users/corda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/corda/subscriptions","organizations_url":"https://api.github.com/users/corda/orgs","repos_url":"https://api.github.com/users/corda/repos","events_url":"https://api.github.com/users/corda/events{/privacy}","received_events_url":"https://api.github.com/users/corda/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/corda/corda","description":"Corda is an open source blockchain project, designed for business from the start. Only Corda allows you to build interoperable blockchain networks that transact in strict privacy. Corda's smart contract technology allows businesses to transact directly, with value.","fork":false,"url":"https://api.github.com/repos/corda/corda","forks_url":"https://api.github.com/repos/corda/corda/forks","keys_url":"https://api.github.com/repos/corda/corda/keys{/key_id}","collaborators_url":"https://api.github.com/repos/corda/corda/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/corda/corda/teams","hooks_url":"https://api.github.com/repos/corda/corda/hooks","issue_events_url":"https://api.github.com/repos/corda/corda/issues/events{/number}","events_url":"https://api.github.com/repos/corda/corda/events","assignees_url":"https://api.github.com/repos/corda/corda/assignees{/user}","branches_url":"https://api.github.com/repos/corda/corda/branches{/branch}","tags_url":"https://api.github.com/repos/corda/corda/tags","blobs_url":"https://api.github.com/repos/corda/corda/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/corda/corda/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/corda/corda/git/refs{/sha}","trees_url":"https://api.github.com/repos/corda/corda/git/trees{/sha}","statuses_url":"https://api.github.com/repos/corda/corda/statuses/{sha}","languages_url":"https://api.github.com/repos/corda/corda/languages","stargazers_url":"https://api.github.com/repos/corda/corda/stargazers","contributors_url":"https://api.github.com/repos/corda/corda/contributors","subscribers_url":"https://api.github.com/repos/corda/corda/subscribers","subscription_url":"https://api.github.com/repos/corda/corda/subscription","commits_url":"https://api.github.com/repos/corda/corda/commits{/sha}","git_commits_url":"https://api.github.com/repos/corda/corda/git/commits{/sha}","comments_url":"https://api.github.com/repos/corda/corda/comments{/number}","issue_comment_url":"https://api.github.com/repos/corda/corda/issues/comments{/number}","contents_url":"https://api.github.com/repos/corda/corda/contents/{+path}","compare_url":"https://api.github.com/repos/corda/corda/compare/{base}...{head}","merges_url":"https://api.github.com/repos/corda/corda/merges","archive_url":"https://api.github.com/repos/corda/corda/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/corda/corda/downloads","issues_url":"https://api.github.com/repos/corda/corda/issues{/number}","pulls_url":"https://api.github.com/repos/corda/corda/pulls{/number}","milestones_url":"https://api.github.com/repos/corda/corda/milestones{/number}","notifications_url":"https://api.github.com/repos/corda/corda/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/corda/corda/labels{/name}","releases_url":"https://api.github.com/repos/corda/corda/releases{/id}","deployments_url":"https://api.github.com/repos/corda/corda/deployments","created_at":"2016-10-06T08:46:29Z","updated_at":"2018-06-05T17:44:47Z","pushed_at":"2018-06-05T17:41:15Z","git_url":"git://github.com/corda/corda.git","ssh_url":"git@github.com:corda/corda.git","clone_url":"https://github.com/corda/corda.git","svn_url":"https://github.com/corda/corda","homepage":"https://www.corda.net","size":146216,"stargazers_count":1948,"watchers_count":1948,"language":"Kotlin","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":508,"mirror_url":null,"archived":false,"open_issues_count":108,"license":{"key":"other","name":"Other","spdx_id":null,"url":null,"node_id":"MDc6TGljZW5zZTA="},"forks":508,"open_issues":108,"watchers":1948,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/corda/corda/pulls/3287"},"html":{"href":"https://github.com/corda/corda/pull/3287"},"issue":{"href":"https://api.github.com/repos/corda/corda/issues/3287"},"comments":{"href":"https://api.github.com/repos/corda/corda/issues/3287/comments"},"review_comments":{"href":"https://api.github.com/repos/corda/corda/pulls/3287/comments"},"review_comment":{"href":"https://api.github.com/repos/corda/corda/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/corda/corda/pulls/3287/commits"},"statuses":{"href":"https://api.github.com/repos/corda/corda/statuses/a74690a1feba6214a6850a2cb45e261f575ea667"}},"author_association":"NONE"}}
{"actor":{"display_login":"nickarini"}}