SkyDoc Installation Process
See the steps on how SkyDoc is installed into a customer’s account from AWS setup to Go-Live.
SkyDoc Install Process
- AWS Set-up
- Lambda function setup in customer’s AWS account
- Working on any custom requirement given by the customer*
- Access of customer’s NetSuite account (sandbox/production)
- SkyDoc installation in sandbox*
- Testing SkyDoc in sandbox*
- Customer testing SkyDoc in sandbox*
- Data migration setup in sandbox*
- Performing data migration in sandbox*
- Customer testing migrated files in sandbox*
- SkyDoc installation in production
- Testing SkyDoc in production
- SkyDoc training
- Customer testing SkyDoc in production
- Data migration setup in production*
- Performing data migration in production*
- Customer testing migrated files in production*
*Conditional steps based on customer requirements
- Create an AWS Login
- Provide these credentials to connect SkyDoc to Amazon S3
- You’ll receive a confirmation email welcoming you to Amazon Web Services
- Enter Contact Information
- Enter Payment Information
- Only Credit Card Accepted
- Identify Verification
- Enter a phone number where Amazon can call you and enter the PIN number displayed on your browser
- Support Plan
- Select Basic (Free)
- You’ll receive a confirmation email stating AWS Support (Basic) was selected.
- Confirmation
- You’ll receive a confirmation email stating your AWS Account is Ready
Configure the below details in Amazon web services management console
Create a User:
- In amazon console Go to Services -> Security, Identity, & Compliance -> IAM.
- Click the Users link under “IAM Resources”.
- Click the Add User button.
- Enter any name for the user.
- Check “Programmatic access” and click on Next: permissions.
- Click on Attach Existing policies directly and search for “AmazonS3FullAccess” and select the policy and click on Next Tags.
- Then click on Next: review without entering any information.
- Click on create user.
- After clicking on create user, you will be navigated to another page where you will be able to see a csv file (Contains public and private key Information).Make sure you download the file and click on close.
Create a bucket:
- Go to Services -> Storage -> S3 -> Click on the create bucket button.
- Enter the bucket name and select the region near to you.
- Click on Next.
- Enable the Versioning check box and click on Next.
- If you want to use public/private files option for your aws records, please disable “Block all public access” checkbox, also check (I acknowledge that the current settings may result in this bucket and the objects within becoming public) and click on Next.
- Review the details and click on the create bucket button.
- After creating a bucket, open the bucket and navigate to permissions -> CORS Configuration and copy and paste the below code and click on save.
<?xml version=”1.0″ encoding=”UTF-8″?>
<CORSConfiguration xmlns=”http://s3.amazonaws.com/doc/2006-03-01/“>
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>PUT</AllowedMethod>
<AllowedMethod>GET</AllowedMethod>
<AllowedMethod>POST</AllowedMethod>
<AllowedMethod>HEAD</AllowedMethod>
<AllowedMethod>DELETE</AllowedMethod>
<ExposeHeader>x-amz-meta-param</ExposeHeader>
<ExposeHeader>ETag</ExposeHeader>
<ExposeHeader>x-amz-version-id</ExposeHeader>
<AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>
Create a security policy:
- Go to Services -> Security, Identity & Compliance -> IAM -> Click on policies present under Access Management
- Click the Create Policy button and select JSON in Create Policy page and remove the code which is already present.
- Copy and paste the policy defined on this page in the policy document Area.
- Make sure to replace ##BUCKETNAME## with the name of your bucket. Then click Review Policy, give a Unique name to the policy in Review Policy Page
- Then click on create policy.
To assign a policy to the user:
- Go to Services -> Security, Identity & Compliance -> IAM -> users.
- select the user which you created for SkyDoc.
- Click on the Add Permissions button.
- Go to Attach existing policies directly -> select the policy you created and click on Next: review.
- Click on Add Permissions.
To create lambda function in AWS account Tvarana needs user access with below permissions:
- Please navigate to Permissions >> Add Permissions >> Attach existing policies directly, search for the below permissions and add them.AWSLambda
- FullAccess
- IAMFullAccess
- AmazonS3FullAccess
- AmazonAPIGatewayAdministrator
- AWSLambdaBasicExecutionRole
- AWSLambdaRole
- Click on the next review.
- Review the details and click on Add Permissions.
- Navigate to security credentials in the user and click on manage (Beside Console password).
- Check the enable option for Console Access and select auto generated password option for set password, click on apply and download the csv file (It contains username and password for this user) and please forward the file to SkyDoc@tvarana.com as Tvarana need to create a lambda function in your AWS account.
After following the above instructions, please send the following details to SkyDoc@tvarana.com
- Access Key
- Secret Key
- Bucket Name
- Bucket Region
- Creating a Lambda function:
- Login to the AWS console.
- Navigate to Services -> Compute -> Lambda -> Functions
- Click on the “create function” button.
- Select “Author from scratch” option.
- Enter any unique function name and select JAVA 8 as language for function.
- Expand Permissions and choose Execution role as “Create a new role with basic Lambda permissions”.
The created function looks like below:
- Now, navigate to Function code and upload a jar file with the name “SkyDocExample-0.0.1-SNAPSHOT.jar” and replace the Handler as “skydoc.uploadfile::handleRequest”.
- Click on the “Test” button and paste the below code in the text area, enter the event name and click on create.
{
“accessKey”: “AKIAIMVZ6OTHMIRJPNLQ”,
“secretKey”: “XLiiEEtsw/oHxSJscL8ZvypXPv5TS0dAyQSweYWA”,
“bucketName”: “skydocbucketversion”,
“region”: “us-east-1”,
“mimeType”: “image/jpeg”,
“fileName”: “234chair”,
“fileURL”: “https://system.netsuite.com/core/media/media.nl?id=84481&c=TSTDRV939177&h=45f079b4d013d97da3e9”
}
Note: access key, secret key and bucket name values vary with the account.
- Creating an API Gateway:
- Navigate to Services -> Networking & Content Delivery -> API Gateway and click on “Create API”.
- Select type as REST API and click on “Build”.
- Enter the API name and EndPoint Type as “Edge Optimized”.
- Now click on “create API”.
- Click on Actions -> Create Resource.
- Enter the resource name and click on create resource
- Click on Actions -> Create Method -> select “POST” method and click on (✓) symbol.
- Enter the function name of the function created before in the Lambda function field and click on save.
- Click on Actions -> Deploy API -> Deployment Stage as [NEW STAGE], enter stage name and click on “Deploy”.
- After Deploying the API, go back to the function created.
- Now you will be able to see the API you created in the function.
- Click on API Gateway to open the details of API Gateway.
- Use the above link in the “Lambda URL” field of the auto upload custom record.
- If needed you can also test this by clicking the Test button in lambda function which returns the Execution result: succeeded(logs).
- Copying the account id of customer sandbox account in SkyDoc Advanced bundle -> set availability in our account(Dev production)
- Installing the bundle in customer account
- Copying the account id of customer sandbox account in SkyDoc Auto Upload Tool bundle -> set availability in our account(Dev production)
- Installing the bundle in customer account
- Copying the account id of customer production account in SkyDoc 2.0 bundle -> set availability in our account(Dev production)
- Installing the bundle in customer account
- Copying the account id of customer production account in SkyDoc Auto Upload Tool bundle -> set availability in our account(Dev production)
- Installing the bundle in customer account