diff --git a/moto/rds/models.py b/moto/rds/models.py
--- a/moto/rds/models.py
+++ b/moto/rds/models.py
@@ -644,7 +644,11 @@ def address(self):
         )
 
     def add_replica(self, replica):
-        self.replicas.append(replica.db_instance_identifier)
+        if self.region_name != replica.region_name:
+            # Cross Region replica
+            self.replicas.append(replica.db_instance_arn)
+        else:
+            self.replicas.append(replica.db_instance_identifier)
 
     def remove_replica(self, replica):
         self.replicas.remove(replica.db_instance_identifier)
@@ -772,7 +776,7 @@ def create_from_cloudformation_json(
         if source_db_identifier:
             # Replica
             db_kwargs["source_db_identifier"] = source_db_identifier
-            database = rds_backend.create_database_replica(db_kwargs)
+            database = rds_backend.create_db_instance_read_replica(db_kwargs)
         else:
             database = rds_backend.create_db_instance(db_kwargs)
         return database
@@ -1360,7 +1364,7 @@ def delete_db_snapshot(self, db_snapshot_identifier):
 
         return self.database_snapshots.pop(db_snapshot_identifier)
 
-    def create_database_replica(self, db_kwargs):
+    def create_db_instance_read_replica(self, db_kwargs):
         database_id = db_kwargs["db_instance_identifier"]
         source_database_id = db_kwargs["source_db_identifier"]
         primary = self.find_db_from_id(source_database_id)
@@ -1370,6 +1374,7 @@ def create_database_replica(self, db_kwargs):
         # Shouldn't really copy here as the instance is duplicated. RDS replicas have different instances.
         replica = copy.copy(primary)
         replica.update(db_kwargs)
+        replica.region_name = self.region_name
         replica.set_as_replica()
         self.databases[database_id] = replica
         primary.add_replica(replica)
diff --git a/moto/rds/responses.py b/moto/rds/responses.py
--- a/moto/rds/responses.py
+++ b/moto/rds/responses.py
@@ -176,7 +176,7 @@ def create_db_instance(self):
     def create_db_instance_read_replica(self):
         db_kwargs = self._get_db_replica_kwargs()
 
-        database = self.backend.create_database_replica(db_kwargs)
+        database = self.backend.create_db_instance_read_replica(db_kwargs)
         template = self.response_template(CREATE_DATABASE_REPLICA_TEMPLATE)
         return template.render(database=database)
 

Thanks for raising this @Tmilly, and welcome to Moto - marking this as a bug.

PR's are always welcome, if you'd like to tackle this!
diff --git a/tests/test_rds/test_rds.py b/tests/test_rds/test_rds.py
--- a/tests/test_rds/test_rds.py
+++ b/tests/test_rds/test_rds.py
@@ -1713,6 +1713,10 @@ def test_create_database_replica():
     master["DBInstances"][0]["ReadReplicaDBInstanceIdentifiers"].should.equal(
         ["db-replica-1"]
     )
+    replica = conn.describe_db_instances(DBInstanceIdentifier="db-replica-1")[
+        "DBInstances"
+    ][0]
+    replica["ReadReplicaSourceDBInstanceIdentifier"].should.equal("db-master-1")
 
     conn.delete_db_instance(DBInstanceIdentifier="db-replica-1", SkipFinalSnapshot=True)
 
@@ -1720,6 +1724,39 @@ def test_create_database_replica():
     master["DBInstances"][0]["ReadReplicaDBInstanceIdentifiers"].should.equal([])
 
 
+@mock_rds
+def test_create_database_replica_cross_region():
+    us1 = boto3.client("rds", region_name="us-east-1")
+    us2 = boto3.client("rds", region_name="us-west-2")
+
+    source_id = "db-master-1"
+    source_arn = us1.create_db_instance(
+        DBInstanceIdentifier=source_id,
+        AllocatedStorage=10,
+        Engine="postgres",
+        DBInstanceClass="db.m1.small",
+    )["DBInstance"]["DBInstanceArn"]
+
+    target_id = "db-replica-1"
+    target_arn = us2.create_db_instance_read_replica(
+        DBInstanceIdentifier=target_id,
+        SourceDBInstanceIdentifier=source_arn,
+        DBInstanceClass="db.m1.small",
+    )["DBInstance"]["DBInstanceArn"]
+
+    source_db = us1.describe_db_instances(DBInstanceIdentifier=source_id)[
+        "DBInstances"
+    ][0]
+    source_db.should.have.key("ReadReplicaDBInstanceIdentifiers").equals([target_arn])
+
+    target_db = us2.describe_db_instances(DBInstanceIdentifier=target_id)[
+        "DBInstances"
+    ][0]
+    target_db.should.have.key("ReadReplicaSourceDBInstanceIdentifier").equals(
+        source_arn
+    )
+
+
 @mock_rds
 @mock_kms
 def test_create_database_with_encrypted_storage():

RDS ReadReplicaDBInstanceIdentifiers and SourceDBInstanceIdentifier show db-name for cross-region replication
Currently in all cases, moto will use a database's name for the `ReadReplicaDBInstanceIdentifiers` and  `SourceDBInstanceIdentifier` fields in the RDSBackend. 

This aligns with AWS's states for same-region replication. However for cross-region replication, AWS provides full arns for `ReadReplicaDBInstanceIdentifiers` and `SourceDBInstanceIdentifier`. Moto does not reflect this behavior for cross-region replication. 

Can we update this for cross-region support to ensure moto stores/uses the full arn for its `DBInstanceIdentifiers`?

Reproducible steps:
1. Create a same-region replication (primary and replica in the same region) in AWS, and run a describe call on both the primary and replica. Notice both `SourceDBInstanceIdentifier` and `ReadReplicaDBInstanceIdentifiers` align with just the database name
2. Create a cross-region replication (primary in one region, replica in a second region) in AWS, and run a describe call on both the primary and replica. Notice both `SourceDBInstanceIdentifier` and `ReadReplicaDBInstanceIdentifiers` align with just the resource's full arn.
3. Create a cross-region replication using moto, and run a describe call on both the primary and replica. Notice both `SourceDBInstanceIdentifier` and `ReadReplicaDBInstanceIdentifiers` come back as the database name. (This does not align with AWS's behavior)

tests/test_rds/test_rds.py::test_create_database_replica_cross_region
tests/test_rds/test_rds.py::test_create_parameter_group_with_tags tests/test_rds/test_rds.py::test_describe_db_snapshots tests/test_rds/test_rds.py::test_get_non_existent_security_group tests/test_rds/test_rds.py::test_remove_tags_db tests/test_rds/test_rds.py::test_get_databases_paginated tests/test_rds/test_rds.py::test_delete_non_existent_db_parameter_group tests/test_rds/test_rds.py::test_fail_to_stop_multi_az_and_sqlserver tests/test_rds/test_rds.py::test_modify_non_existent_database tests/test_rds/test_rds.py::test_delete_database_subnet_group tests/test_rds/test_rds.py::test_add_tags_snapshot tests/test_rds/test_rds.py::test_delete_db_snapshot tests/test_rds/test_rds.py::test_add_tags_db tests/test_rds/test_rds.py::test_modify_option_group tests/test_rds/test_rds.py::test_reboot_non_existent_database tests/test_rds/test_rds.py::test_stop_multi_az_postgres tests/test_rds/test_rds.py::test_delete_non_existent_option_group tests/test_rds/test_rds.py::test_create_option_group_duplicate tests/test_rds/test_rds.py::test_describe_option_group_options tests/test_rds/test_rds.py::test_modify_tags_event_subscription tests/test_rds/test_rds.py::test_restore_db_instance_from_db_snapshot_and_override_params tests/test_rds/test_rds.py::test_create_db_instance_with_availability_zone tests/test_rds/test_rds.py::test_create_database_in_subnet_group tests/test_rds/test_rds.py::test_modify_db_instance_with_parameter_group tests/test_rds/test_rds.py::test_modify_non_existent_option_group tests/test_rds/test_rds.py::test_create_db_snapshots tests/test_rds/test_rds.py::test_modify_database_subnet_group tests/test_rds/test_rds.py::test_create_option_group tests/test_rds/test_rds.py::test_create_db_parameter_group_empty_description tests/test_rds/test_rds.py::test_modify_db_instance tests/test_rds/test_rds.py::test_delete_db_parameter_group tests/test_rds/test_rds.py::test_create_db_instance_with_parameter_group tests/test_rds/test_rds.py::test_create_option_group_bad_engine_major_version tests/test_rds/test_rds.py::test_copy_db_snapshots tests/test_rds/test_rds.py::test_delete_database tests/test_rds/test_rds.py::test_create_db_snapshots_copy_tags tests/test_rds/test_rds.py::test_list_tags_invalid_arn tests/test_rds/test_rds.py::test_create_database_subnet_group tests/test_rds/test_rds.py::test_add_tags_security_group tests/test_rds/test_rds.py::test_add_security_group_to_database tests/test_rds/test_rds.py::test_create_database_with_option_group tests/test_rds/test_rds.py::test_modify_option_group_no_options tests/test_rds/test_rds.py::test_create_database tests/test_rds/test_rds.py::test_create_db_parameter_group_duplicate tests/test_rds/test_rds.py::test_create_db_instance_with_tags tests/test_rds/test_rds.py::test_security_group_authorize tests/test_rds/test_rds.py::test_create_option_group_bad_engine_name tests/test_rds/test_rds.py::test_create_db_instance_without_availability_zone tests/test_rds/test_rds.py::test_start_database tests/test_rds/test_rds.py::test_stop_database tests/test_rds/test_rds.py::test_delete_non_existent_security_group tests/test_rds/test_rds.py::test_delete_database_with_protection tests/test_rds/test_rds.py::test_add_tags_option_group tests/test_rds/test_rds.py::test_database_with_deletion_protection_cannot_be_deleted tests/test_rds/test_rds.py::test_delete_database_security_group tests/test_rds/test_rds.py::test_fail_to_stop_readreplica tests/test_rds/test_rds.py::test_describe_non_existent_db_parameter_group tests/test_rds/test_rds.py::test_create_db_with_iam_authentication tests/test_rds/test_rds.py::test_remove_tags_option_group tests/test_rds/test_rds.py::test_list_tags_security_group tests/test_rds/test_rds.py::test_create_option_group_empty_description tests/test_rds/test_rds.py::test_describe_option_group tests/test_rds/test_rds.py::test_modify_tags_parameter_group tests/test_rds/test_rds.py::test_describe_db_parameter_group tests/test_rds/test_rds.py::test_remove_tags_snapshot tests/test_rds/test_rds.py::test_remove_tags_database_subnet_group tests/test_rds/test_rds.py::test_describe_non_existent_database tests/test_rds/test_rds.py::test_create_database_security_group tests/test_rds/test_rds.py::test_create_database_replica tests/test_rds/test_rds.py::test_modify_db_parameter_group tests/test_rds/test_rds.py::test_describe_non_existent_option_group tests/test_rds/test_rds.py::test_restore_db_instance_from_db_snapshot tests/test_rds/test_rds.py::test_delete_non_existent_database tests/test_rds/test_rds.py::test_list_tags_database_subnet_group tests/test_rds/test_rds.py::test_modify_db_instance_not_existent_db_parameter_group_name tests/test_rds/test_rds.py::test_list_tags_db tests/test_rds/test_rds.py::test_create_database_non_existing_option_group tests/test_rds/test_rds.py::test_describe_database_subnet_group tests/test_rds/test_rds.py::test_create_database_no_allocated_storage tests/test_rds/test_rds.py::test_list_tags_snapshot tests/test_rds/test_rds.py::test_get_databases tests/test_rds/test_rds.py::test_create_database_with_default_port tests/test_rds/test_rds.py::test_remove_tags_security_group tests/test_rds/test_rds.py::test_create_db_parameter_group tests/test_rds/test_rds.py::test_delete_option_group tests/test_rds/test_rds.py::test_create_database_with_encrypted_storage tests/test_rds/test_rds.py::test_rename_db_instance tests/test_rds/test_rds.py::test_add_tags_database_subnet_group tests/test_rds/test_rds.py::test_reboot_db_instance tests/test_rds/test_rds.py::test_get_security_groups tests/test_rds/test_rds.py::test_create_db_snapshot_with_iam_authentication