Summary and Setup

This lesson traces the infrastructure that runs the UCLA Library Dataverse instance. It covers the AWS resources that provide compute, storage, and networking; the Ansible configuration that installs Dataverse and its dependencies; and the tooling that makes rebuilding and migrating the system repeatable.

It is written for people working in or being onboarded to UCLA Library data services: DSC staff, DataSquad students, and anyone who will be operating or handing off this infrastructure. The assumption is comfort with the command line and some exposure to cloud services or configuration management, but not infrastructure expertise.

By the end of this lesson you will be able to:

  • Describe the components that make up a running Dataverse instance and what each does
  • Navigate the three repositories that manage the UCLA Dataverse infrastructure
  • Explain the division of responsibility between Terraform (infrastructure) and Ansible (configuration)
  • Run the key Makefile targets for daily operations: rebuild, baseline, reindex
  • Read test output and baseline comparisons to verify the system is in a known-good state
  • Understand the 7-phase migration plan and what each phase accomplishes

Who this is for


  • Data Science Center staff coming up to speed on what the infrastructure team built and why
  • DataSquad students supporting data services and infrastructure work
  • Incoming operators taking over responsibility for the Dataverse instance
  • Tim and Jamie using this as a structured way to document decisions made during the 5.14 to 6.8 migration

Prerequisites


  • Comfortable with the command line (navigating directories, running commands)
  • Basic familiarity with Git (clone, commit, push)
  • An AWS account with credentials for the ucla-library-dsc profile, or access to the team’s shared environment

See the Setup page for installation instructions.

Introduction


You do not need to understand everything on this page at this time. The goal is only to get the tools working. By the end of this setup, you will be able to authenticate to AWS, run Terraform, and prepare a working directory.

1. AWS Account


You will need an AWS account you can log into.
During the lesson, AWS will be used to create a virtual machine and store a small amount of configuration data.

2. Install the AWS CLI


We use the AWS CLI throughout the lesson to authenticate and confirm credentials.

Checklist

If you are using a personal AWS account without Identity Center, ask the instructor for an alternative setup.

Before running aws configure sso, confirm the following:

  • IAM Identity Center is enabled in your AWS account
  • You have been given:
    • an SSO start URL (looks like https://your-org.awsapps.com/start)
    • the AWS region for Identity Center (commonly us-west-2 or us-east-1)
    • permission to assume at least one AWS account role

If you do not have this information, contact your AWS administrator.

3. Configure AWS Credentials (IAM Identity Center / SSO)


Callout

AWS authentication is changing (and that’s normal)

AWS has significantly changed how users authenticate over the last few years.

Older tutorials often reference: - long-lived access keys (AWS_ACCESS_KEY_ID) - aws configure with static credentials - manually managing credentials files

This lesson uses AWS IAM Identity Center (SSO), which is now the recommended approach for most organizations.

As a result: - some older guides will not match what you see here - prompts in the AWS CLI may look unfamiliar - defaults (like SSO registration scopes) are usually correct

If something feels different from past AWS experience, that’s expected.

This lesson uses IAM Identity Center, the modern AWS authentication system.

Run:

BASH

aws configure sso

Follow the browser prompts to authenticate.

Then confirm your identity. This command doesn’t change anything. It only confirms that authentication worked.

BASH

aws sts get-caller-identity

You should see:

  • Your AWS account ID
  • Your IAM role ARN
  • Your user ID
Callout

About the “SSO registration scopes” prompt

During aws configure sso, you may see:

BASH

SSO registration scopes [sso:account:access]:

For this lesson, press Enter to accept the default.

You only need a different value if your organization has explicitly instructed you to use custom scopes.

4. Install Terraform


Verify installation:

BASH

terraform version

5. Create a Working Directory


Create a folder where your Terraform configuration files will live:

BASH

mkdir terraform-dataverse
cd terraform-dataverse

6. (Optional) Clone the Lesson Repository


If you want the example files from this lesson:

BASH

git clone https://github.com/jt14den/terraform-aws-infrastructure
Key Points
  • Install AWS CLI, Terraform, and Git before beginning the lesson
  • Use aws configure sso to authenticate with AWS Identity Center
  • Use terraform version and aws --version to verify installation
  • Create a dedicated working directory for Terraform files