How is $A.in$ an inherited attributed in $2nd$ production in $(1) S \rightarrow A_1A_2\{ A_1.in := 1; A_2.in := 2 \}(2) A\rightarrow a\{print(A.in)\}$ Below is an excerpt from the Red Dragon book.

$$(1) \quad S \rightarrow A_1 \quad A_2 \quad\{ A_1.in : = 1;\quad A_2.in : = 2 ;\}$$
$$(2) \quad A  \rightarrow a \quad \{ print(A.in) \}$$
We find that the inherited attribute $A.in$ in the second production is not defined when an attempt is made to print its value during a depth-first traversal of the parse tree for the input string $aa$.

Now the authors define inherited attributes as:
An inherited attribute is one whose value at a node in a parse tree is defined in terms of attributes at the parent and/or siblings of that node.
But in the above excerpt, $A.in$ for the nodes $A$ of the parse is not defined in terms of attributes at the parent or siblings. But rather it is sort of based on itself.
But in the above excerpt, $A.in$ for the nodes $A$ of the parse is not defined in terms of attributes at the parent of siblings.

Yes, it is. The parent of $A\to a$ is $S \to A_1 A_2$. $S$ has two children, both of which are instances of $A$. And the rule for  $S \to A_1 A_2$ assigns values to the inherited attributes of both children.
That's precisely what an inherited attribute is. Inherited attributes (which are inherited from the parents in the parse tree) can be used in the synthesized rules for those non-terminals, which is what is happening in the rule for $A$.